<?xml version="1.0" encoding="UTF-8" ?> 
<Module>
  <ModulePrefs
    title="__MSG_title__"
    height="72"
    width="300"
    scaling="false"
    description="__MSG_description__"
    directory_title="__MSG_directory_title__"
    title_url="http://strong-password.blogspot.com"
    category="Tools"
    author="WebNames.com.br"
    author_affiliation="WebNames.com.br, Ltda."
    author_location="Sao Paulo, BRAZIL"
    author_link="http://WebNames.com.br"
    author_aboutme="WEBNAMES.com.br - Registro de Dominio, Hospedagem e Construtor de Site..."
    author_quote="A word to the wise is infuriating.  --Hunter S. Thompson"
    author_email="shawn.reimerdes+sotp@gmail.com"
    author_photo="http://hosting.gmodules.com/ig/gadgets/file/117697753513995606918/webnames-author-photo.png"  
    screenshot="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-screenshot.png" 
    thumbnail="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-thumbnail.png">
   
  <Locale messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ALL_ALL.xml"/>  
  <Locale lang="pt-BR" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-pt_BR.xml"/>
  <Locale lang="pt-pt" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-pt_ALL.xml"/>
  <Locale lang="pt" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-pt_ALL.xml"/>  
  <Locale lang="br" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-pt_BR.xml"/>
  <Locale lang="af" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-af_ALL.xml"/> 
  <Locale lang="af-ZA" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-af_ALL.xml"/> 
  <Locale lang="am" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-am_ALL.xml" language_direction="ltr"/>     
  <Locale lang="ar" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="rtl"/>
  <Locale lang="ar-AE" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="ltr"/>
  <Locale lang="ar-BH" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="ltr"/>
  <Locale lang="ar-DZ" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="ltr"/>
  <Locale lang="ar-EG" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="ltr"/>
  <Locale lang="ar-IQ" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="ltr"/>
  <Locale lang="ar-JO" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="ltr"/>
  <Locale lang="ar-KW" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="ltr"/>
  <Locale lang="ar-LB" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="ltr"/>
  <Locale lang="ar-LY" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="ltr"/>
  <Locale lang="ar-MA" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="ltr"/>
  <Locale lang="ar-OM" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="ltr"/>
  <Locale lang="ar-QA" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="ltr"/>
  <Locale lang="ar-SA" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="ltr"/>
  <Locale lang="ar-SY" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="ltr"/>
  <Locale lang="ar-TN" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="ltr"/>
  <Locale lang="ar-YE" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ar_ALL.xml" language_direction="ltr"/>    
  <Locale lang="be" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-be_ALL.xml"/>
  <Locale lang="be-BY" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-be_ALL.xml"/>  
  <Locale lang="bg" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-bg_ALL.xml"/>
  <Locale lang="bg-BG" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-bg_ALL.xml"/>
  <Locale lang="bs" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-hr_ALL.xml"/>
  <Locale lang="bs-BA" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-hr_ALL.xml"/>
  <Locale lang="ca" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ca_ALL.xml"/>
  <Locale lang="ca-ES" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ca_ALL.xml"/>      
  <Locale lang="cs" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-cs_ALL.xml"/>
  <Locale lang="cs-CZ" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-cs_ALL.xml"/>
  <Locale lang="cz" country="cz" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-cs_ALL.xml"/>
  <Locale lang="cy" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-cy_ALL.xml"/>
  <Locale lang="cy-GB" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-cy_ALL.xml"/> 
  <Locale lang="da" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-da_ALL.xml"/>
  <Locale lang="da-DK" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-da_ALL.xml"/>
  <Locale lang="de" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-de_ALL.xml"/>
  <Locale lang="de-AT" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-de_ALL.xml"/>
  <Locale lang="de-CH" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-de_ALL.xml"/>
  <Locale lang="de-DE" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-de_ALL.xml"/>
  <Locale lang="de-LI" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-de_ALL.xml"/>
  <Locale lang="de-LU" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-de_ALL.xml"/>    
  <Locale lang="el" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-el_ALL.xml"/>
  <Locale lang="el-GR" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-el_ALL.xml"/>  
  <Locale lang="en" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-en_ALL.xml"/>
  <Locale lang="en-US" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-en_ALL.xml"/>
  <Locale lang="en-GB" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-en_ALL.xml"/>
  <Locale lang="en-CA" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-en_ALL.xml"/>
  <Locale lang="en-UA" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-en_ALL.xml"/>
  <Locale lang="en-BZ" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-en_ALL.xml"/>
  <Locale lang="en-CB" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-en_ALL.xml"/>
  <Locale lang="en-JM" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-en_ALL.xml"/>
  <Locale lang="en-NZ" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-en_ALL.xml"/>
  <Locale lang="en-PH" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-en_ALL.xml"/>
  <Locale lang="en-TT" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-en_ALL.xml"/>
  <Locale lang="en-ZA" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-en_ALL.xml"/>
  <Locale lang="en-ZW" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-en_ALL.xml"/>
  <Locale lang="en-IE" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-en_IE.xml"/>      
  <Locale lang="es" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>
  <Locale lang="es-ES" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>
  <Locale lang="es-AR" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>  
  <Locale lang="es-BO" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>    
  <Locale lang="es-CL" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>  
  <Locale lang="es-CO" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>    
  <Locale lang="es-CR" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>  
  <Locale lang="es-DO" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>    
  <Locale lang="es-EC" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>  
  <Locale lang="es-GT" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>    
  <Locale lang="es-HN" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>  
  <Locale lang="es-MX" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>    
  <Locale lang="es-NI" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>  
  <Locale lang="es-PA" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>    
  <Locale lang="es-PE" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>  
  <Locale lang="es-PR" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>    
  <Locale lang="es-PY" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>  
  <Locale lang="es-SV" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>    
  <Locale lang="es-UY" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>  
  <Locale lang="es-VE" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-es_ALL.xml"/>    
  <Locale lang="eu" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-eu_ES.xml"/>    
  <Locale lang="eu-ES" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-eu_ES.xml"/>
  <Locale lang="et" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-et_ALL.xml"/>
  <Locale lang="et-EE" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-et_ALL.xml"/>
  <Locale lang="fa" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-fa_ALL.xml"/>                         
  <Locale lang="fa-IR" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-fa_ALL.xml"/>  
  <Locale lang="fi" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-fi_ALL.xml"/>
  <Locale lang="fi-FI" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-fi_ALL.xml"/>  
  <Locale lang="fr" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-fr_ALL.xml"/>
  <Locale lang="fr-BE" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-fr_ALL.xml"/>
  <Locale lang="fr-CA" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-fr_ALL.xml"/>
  <Locale lang="fr-CH" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-fr_ALL.xml"/>
  <Locale lang="fr-FR" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-fr_ALL.xml"/>
  <Locale lang="fr-LU" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-fr_ALL.xml"/>
  <Locale lang="fr-MC" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-fr_ALL.xml"/>
  <Locale lang="fil" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-fil_ALL.xml"/> 
  <Locale lang="gl" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-gl_ALL.xml"/>   
  <Locale lang="gl-ES" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-gl_ALL.xml"/>     
  <Locale lang="he" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-he_ALL.xml" language_direction="rtl"/>
  <Locale lang="he-IL" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-he_ALL.xml" language_direction="ltr"/>  
  <Locale lang="hi" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-hi_ALL.xml"/>
  <Locale lang="hi-IN" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-hi_ALL.xml"/>
  <Locale lang="hr" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-hr_ALL.xml"/>
  <Locale lang="hr-BA" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-hr_ALL.xml"/>
  <Locale lang="hr-HR" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-hr_ALL.xml"/>
  <Locale lang="hu" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-hu_ALL.xml"/>
  <Locale lang="hu-HU" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-hu_ALL.xml"/>  
  <Locale lang="id" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-id_ALL.xml"/>
  <Locale lang="id-ID" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-id_ALL.xml"/>  
  <Locale lang="it" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-it_ALL.xml"/>
  <Locale lang="it-IT" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-it_ALL.xml"/>
  <Locale lang="it-CH" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-it_ALL.xml"/>
  <Locale lang="is" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-is_ALL.xml"/>   
  <Locale lang="is-IS" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-is_ALL.xml"/> 
  <Locale lang="hy" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-hy_ALL.xml"/>
  <Locale lang="hy-AM" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-hy_ALL.xml"/>
  <Locale lang="ja" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ja_ALL.xml"/>
  <Locale lang="ja-JP" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ja_ALL.xml"/>
  <Locale lang="ko" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ko_ALL.xml"/> 
  <Locale lang="ko-KR" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ko_ALL.xml"/>
  <Locale lang="lt" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-lt_ALL.xml"/>   
  <Locale lang="lt-LT" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-lt_ALL.xml"/> 
  <Locale lang="lv" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-lv_ALL.xml"/>   
  <Locale lang="lv-LV" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-lv_ALL.xml"/>   
  <Locale lang="ms" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ms_ALL.xml"/>
  <Locale lang="ms-BN" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ms_ALL.xml"/>
  <Locale lang="ms-MY" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ms_ALL.xml"/>    
  <Locale lang="mt" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-mt_ALL.xml"/>
  <Locale lang="mt-MT" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-mt_ALL.xml"/>
  <Locale lang="nb" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-nb_ALL.xml"/>
  <Locale lang="nb-NO" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-nb_ALL.xml"/>  
  <Locale lang="nl" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-nl_ALL.xml"/>
  <Locale lang="nl-BE" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-nl_ALL.xml"/>
  <Locale lang="nl-NL" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-nl_ALL.xml"/>
  <Locale lang="pl" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-pl_ALL.xml"/>
  <Locale lang="pl-PL" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-pl_ALL.xml"/>
  <Locale lang="ps" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ps_ALL.xml" language_direction="ltr"/> 
  <Locale lang="ps-AR" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ps_ALL.xml" language_direction="ltr"/>  
  <Locale lang="ro" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ro_ALL.xml"/>
  <Locale lang="ro-RO" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ro_ALL.xml"/>    
  <Locale lang="ru" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ru_ALL.xml"/>
  <Locale lang="ru-RU" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-ru_ALL.xml"/>
  <Locale lang="sk" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-sk_ALL.xml"/>
  <Locale lang="sk-SK" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-sk_ALL.xml"/>  
  <Locale lang="sl" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-sl_ALL.xml"/>
  <Locale lang="sl-SI" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-sl_ALL.xml"/>     
  <Locale lang="sq" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-sq_ALL.xml"/>
  <Locale lang="sq-AL" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-sq_ALL.xml"/>
  <Locale lang="sr" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-sr_ALL.xml"/>
  <Locale lang="sr-BA" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-sr_ALL.xml"/>
  <Locale lang="sr-SP" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-sr_ALL.xml"/>
  <Locale lang="sv" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-sv_ALL.xml"/>
  <Locale lang="sv-FI" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-sv_ALL.xml"/>
  <Locale lang="sv-SE" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-sv_ALL.xml"/>
  <Locale lang="th" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-th_ALL.xml"/>  
  <Locale lang="th-TH" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-th_ALL.xml"/>  
  <Locale lang="tl" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-tl_ALL.xml"/>                         
  <Locale lang="tl-PH" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-tl_ALL.xml"/>  
  <Locale lang="tr" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-tr_ALL.xml"/>
  <Locale lang="uk" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-uk_ALL.xml"/>                         
  <Locale lang="uk-UA" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-uk_ALL.xml"/> 
  <Locale lang="vi" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-vi_ALL.xml"/>
  <Locale lang="vi-VN" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-vi_ALL.xml"/>  
  <Locale lang="zh" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-zh_ALL.xml"/> 
  <Locale lang="zh-CN" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-zh_CN.xml"/>    
  <Locale lang="zh-TW" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-zh_TW.xml"/>
  <Locale lang="zh-HK" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-zh_ALL.xml"/> 
  <Locale lang="zh-MO" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-zh_ALL.xml"/>
  <Locale lang="zh-SG" messages="http://simplestrongpasswordgenerator.googlecode.com/files/sotp-zh_ALL.xml"/>   
    
                    
                     
                     
                                                                                                                                   
                                                                                                                                   
<Optional feature="setprefs" />                                                                                                    
<Optional feature="com.google.gadgets.analytics" />                                                                                
                                                                                                                                   
<Icon>http://simplestrongpasswordgenerator.googlecode.com/files/favicon.ico</Icon>                                                 
</ModulePrefs>                                                                                                                     

  
<UserPref
name="prefsWindowTitle"
display_name="Window Title:"
default_value="__MSG_directory_title__"
datatype="string"
required="false" />

   
<UserPref
name="prefsDefaultPasswordLength"
display_name="Password Length:"
default_value="8"
datatype="enum" >

<EnumValue value="4" />
<EnumValue value="5" />
<EnumValue value="6" />
<EnumValue value="8" />
<EnumValue value="10" />
<EnumValue value="12" />
<EnumValue value="14" />
<EnumValue value="16" />
<EnumValue value="24" />
<EnumValue value="48" />
<EnumValue value="64" />
<EnumValue value="128" />
</UserPref>

<UserPref
name="prefsDefaultCaseType"
display_name="Case Type:"
default_value="__MSG_mixed__"
datatype="enum" >
<EnumValue value="__MSG_lower__" />
<EnumValue value="__MSG_upper__" />
<EnumValue value="__MSG_mixed__" />
</UserPref>


<UserPref
    name="prefsUseSymbols"
    display_name="__MSG_symbols__"
    datatype="bool"
    default_value="false"
    required="false"/>


<UserPref
    name="prefsShowSeedValue"
    display_name="Show seed value?"
    datatype="bool"
    default_value="true"
    required="false"/>


<Content type="html">
<![CDATA[

<!-- ALm6fM0ArXtL2rP1loNosIf9frYUF3SvQdg3SmWmVSaHEtXZ94KeurNwTFV8NmoO35DA2zgZMPGVHX75YcXNvIlqrbLHKYm70gV0UjIwh14/GN5HWLYd4EvAumgqbZvy1pL8y6p1x0TApCf4esfCDwP0Gm3DJoClzQNbFLwbWqnhPPkssryZ1V+3AJxIMhWVlvRGTVaLvg6w -->

<style>

a,a:link,a:visited,a:active {
  color:#4444FF;
}

select  { font-family: Verdana; font-size: small; color: #3572ac; background-color: #EEEEEE; border: solid 1px #85b1de; overflow:hidden; }

span.Button input {
      background:url(http://simplestrongpasswordgenerator.googlecode.com/files/sotp-submitbutton-green.png) no-repeat;
      cursor:pointer;
      width:22px; height:21px;
      border: none;
      font-size: 0pt;
       vertical-align: middle;
}

</style>
  
  
<script type="text/javascript"> 
      

var prefs = new _IG_Prefs(__MODULE_ID__);    


var ga = new _IG_GA("UA-19146013-3");
ga.reportPageview('/view');


var loadTime = (new Date()).getTime();

// ---------
 function entsub(event,ourform) {
  if (event && event.which == 13)
    document.getElementById('btnSearch').click();
  else
    return true;
}
// ---------  
function loadDefaultContainerPreferences() {
        
        document.getElementById("klength").value = prefs.getString("prefsDefaultPasswordLength");
        
  
  // bad hack
  var pref_case = prefs.getString("prefsDefaultCaseType");
  if (pref_case == "__MSG_lower__") document.getElementById("textcase").value = "1";
  else if (pref_case == "__MSG_upper__") document.getElementById("textcase").value = "2";
  else if (pref_case == "__MSG_mixed__") document.getElementById("textcase").value = "3";

  if (prefs.getBool("prefsUseSymbols") == true)  document.getElementById("use_symbols").checked = true;
  
  if (prefs.getBool("prefsShowSeedValue") == false) document.getElementById("content_div").style.display = 'none';
  
}
// ----
function uGen(old, a, q, r, m) {      // Schrage's modular multiplication algorithm
    var t;

    t = Math.floor(old / q);
    t = a * (old - (t * q)) - (t * r);
    return Math.round((t < 0) ? (t + m) : t);
}

function LEnext() {                   // Return next raw value
    var i;

    this.gen1 = uGen(this.gen1, 40014, 53668, 12211, 2147483563);
    this.gen2 = uGen(this.gen2, 40692, 52774, 3791, 2147483399);

    /* Extract shuffle table index from most significant part
       of the previous result. */

    i = Math.floor(this.state / 67108862);

    // New state is sum of generators modulo one of their moduli

    this.state = Math.round((this.shuffle[i] + this.gen2) % 2147483563);

    // Replace value in shuffle table with generator 1 result

    this.shuffle[i] = this.gen1;

    return this.state;
}

//  Return next random integer between 0 and n inclusive

function LEnint(n) {
    return Math.floor(this.next() / (1 + 2147483562 / (n + 1)));
}
// -------
// # L'Ecuyer sequence algorithm
// -------
function LEcuyer(s) {
    var i;

    this.shuffle = new Array(32);
    this.gen1 = this.gen2 = (s & 0x7FFFFFFF);
    for (i = 0; i < 19; i++) {
        this.gen1 = uGen(this.gen1, 40014, 53668, 12211, 2147483563);
    }

    // Fill the shuffle table with values

    for (i = 0; i < 32; i++) {
        this.gen1 = uGen(this.gen1, 40014, 53668, 12211, 2147483563);
        this.shuffle[31 - i] = this.gen1;
    }
    this.state = this.shuffle[0];
    this.next = LEnext;
    this.nextInt = LEnint;
}
// -------
function sepchar() {
    if (rsep) {
        var seps = "!#$%&()*+,-./:;<=>?@[]^_{|}~";
        return seps.charAt(sepran.nextInt(seps.length - 1));
    }
    return "-";
}
// -------
function array(n) {
    for (i = 0; i < n; i++) {
        this[i] = 0;
    }
    this.length = n;
}
// -------
function integer(n) {
    return n % (0xffffffff + 1);
}
// -------
function shr(a, b) {
    a = integer(a);
    b = integer(b);
    if (a - 0x80000000 >= 0) {
        a = a % 0x80000000;
        a >>= b;
        a += 0x40000000 >> (b - 1);
    } else {
        a >>= b;
    }
    return a;
}
// -------
function shl1(a) {
    a = a % 0x80000000;
    if (a & 0x40000000 == 0x40000000) {
        a -= 0x40000000;  
        a *= 2;
        a += 0x80000000;
    } else {
        a *= 2;
    }
    return a;
}
// -------
function shl(a, b) {
    a = integer(a);
    b = integer(b);
    for (var i = 0; i < b; i++) {
        a = shl1(a);
    }
    return a;
}
// -------
function and(a, b) {
    a = integer(a);
    b = integer(b);
    var t1 = a - 0x80000000;
    var t2 = b - 0x80000000;
    if (t1 >= 0) {
        if (t2 >= 0) {
            return ((t1 & t2) + 0x80000000);
        } else {
            return (t1 & b);
        }
    } else {
        if (t2 >= 0) {
            return (a & t2);
        } else {
            return (a & b);  
        }
    }
}

function or(a, b) {
    a = integer(a);
    b = integer(b);
    var t1 = a - 0x80000000;
    var t2 = b - 0x80000000;
    if (t1 >= 0) {
        if (t2 >= 0) {
            return ((t1 | t2) + 0x80000000);
        } else {
            return ((t1 | b) + 0x80000000);
        }
    } else {
        if (t2 >= 0) {
            return ((a | t2) + 0x80000000);
        } else {
            return (a | b);  
        }
    }
}

function xor(a, b) {
    a = integer(a);
    b = integer(b);
    var t1 = a - 0x80000000;
    var t2 = b - 0x80000000;
    if (t1 >= 0) {
        if (t2 >= 0) {
            return (t1 ^ t2);
        } else {
            return ((t1 ^ b) + 0x80000000);
        }
    } else {
        if (t2 >= 0) {
            return ((a ^ t2) + 0x80000000);
        } else {
            return (a ^ b);  
        }
    }
}

function not(a) {
    a = integer(a);
    return 0xffffffff - a;
}

/* Here begin the real algorithm */

var state = new array(4); 
var count = new array(2);
    count[0] = 0;
    count[1] = 0;                     
var buffer = new array(64); 
var transformBuffer = new array(16); 
var digestBits = new array(16);

var S11 = 7;
var S12 = 12;
var S13 = 17;
var S14 = 22;
var S21 = 5;
var S22 = 9;
var S23 = 14;
var S24 = 20;
var S31 = 4;
var S32 = 11;
var S33 = 16;
var S34 = 23;
var S41 = 6;
var S42 = 10;
var S43 = 15;
var S44 = 21;
// -------
function F(x, y, z) {
    return or(and(x, y), and(not(x), z));
}
// -------
function G(x, y, z) {
    return or(and(x, z), and(y, not(z)));
}
// -------
function H(x, y, z) {
    return xor(xor(x, y), z);
}
// -------
function I(x, y, z) {
    return xor(y ,or(x , not(z)));
}
// -------
function rotateLeft(a, n) {
    return or(shl(a, n), (shr(a, (32 - n))));
}
// -------
function FF(a, b, c, d, x, s, ac) {
    a = a + F(b, c, d) + x + ac;
    a = rotateLeft(a, s);
    a = a + b;
    return a;
}
// -------
function GG(a, b, c, d, x, s, ac) {
    a = a + G(b, c, d) + x + ac;
    a = rotateLeft(a, s);
    a = a + b;
    return a;
}
// -------
function HH(a, b, c, d, x, s, ac) {
    a = a + H(b, c, d) + x + ac;
    a = rotateLeft(a, s);
    a = a + b;
    return a;
}
// -------
function II(a, b, c, d, x, s, ac) {
    a = a + I(b, c, d) + x + ac;
    a = rotateLeft(a, s);
    a = a + b;
    return a;
}
// -------
function transform(buf, offset) { 
    var a = 0, b = 0, c = 0, d = 0; 
    var x = transformBuffer;
    
    a = state[0];
    b = state[1];
    c = state[2];
    d = state[3];
    
    for (i = 0; i < 16; i++) {
        x[i] = and(buf[i * 4 + offset], 0xFF);
        for (j = 1; j < 4; j++) {
            x[i] += shl(and(buf[i * 4 + j + offset] ,0xFF), j * 8);
        }
    }

    /* Round 1 */
    a = FF( a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */
    d = FF( d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */
    c = FF( c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */
    b = FF( b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */
    a = FF( a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */
    d = FF( d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */
    c = FF( c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */
    b = FF( b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */
    a = FF( a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */
    d = FF( d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */
    c = FF( c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */
    b = FF( b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */
    a = FF( a, b, c, d, x[12], S11, 0x6b901122); /* 13 */
    d = FF( d, a, b, c, x[13], S12, 0xfd987193); /* 14 */
    c = FF( c, d, a, b, x[14], S13, 0xa679438e); /* 15 */
    b = FF( b, c, d, a, x[15], S14, 0x49b40821); /* 16 */

    /* Round 2 */
    a = GG( a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */
    d = GG( d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */
    c = GG( c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */
    b = GG( b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */
    a = GG( a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */
    d = GG( d, a, b, c, x[10], S22,  0x2441453); /* 22 */
    c = GG( c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */
    b = GG( b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */
    a = GG( a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */
    d = GG( d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */
    c = GG( c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */
    b = GG( b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */
    a = GG( a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */
    d = GG( d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */
    c = GG( c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */
    b = GG( b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */

    /* Round 3 */
    a = HH( a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */
    d = HH( d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */
    c = HH( c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */
    b = HH( b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */
    a = HH( a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */
    d = HH( d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */
    c = HH( c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */
    b = HH( b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */
    a = HH( a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */
    d = HH( d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */
    c = HH( c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */
    b = HH( b, c, d, a, x[ 6], S34,  0x4881d05); /* 44 */
    a = HH( a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */
    d = HH( d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */
    c = HH( c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */
    b = HH( b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */

    /* Round 4 */
    a = II( a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */
    d = II( d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */
    c = II( c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */
    b = II( b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */
    a = II( a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */
    d = II( d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */
    c = II( c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */
    b = II( b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */
    a = II( a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */
    d = II( d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */
    c = II( c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */
    b = II( b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */
    a = II( a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */
    d = II( d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */
    c = II( c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */
    b = II( b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */

    state[0] += a;
    state[1] += b;
    state[2] += c;
    state[3] += d;

}
// -------
function init() {
    count[0] = count[1] = 0;
    state[0] = 0x67452301;
    state[1] = 0xefcdab89;
    state[2] = 0x98badcfe;
    state[3] = 0x10325476;
    for (i = 0; i < digestBits.length; i++) {
        digestBits[i] = 0;
    }
}
// -------
function update(b) { 
    var index, i;
    
    index = and(shr(count[0],3) , 0x3F);
    if (count[0] < 0xFFFFFFFF - 7) {
      count[0] += 8;
    } else {
      count[1]++;
      count[0] -= 0xFFFFFFFF + 1;
      count[0] += 8;
    }
    buffer[index] = and(b, 0xff);
    if (index  >= 63) {
        transform(buffer, 0);
    }
}
// -------
function finish() {
    var bits = new array(8);
    var padding; 
    var i = 0, index = 0, padLen = 0;

    for (i = 0; i < 4; i++) {
        bits[i] = and(shr(count[0], (i * 8)), 0xFF);
    }
    for (i = 0; i < 4; i++) {
        bits[i + 4] = and(shr(count[1], (i * 8)), 0xFF);
    }
    index = and(shr(count[0], 3), 0x3F);
    padLen = (index < 56) ? (56 - index) : (120 - index);
    padding = new array(64); 
    padding[0] = 0x80;
    for (i = 0; i < padLen; i++) {
      update(padding[i]);
    }
    for (i = 0; i < 8; i++) {
      update(bits[i]);
    }

    for (i = 0; i < 4; i++) {
        for (j = 0; j < 4; j++) {
            digestBits[i * 4 + j] = and(shr(state[i], (j * 8)) , 0xFF);
        }
    } 
}
// -------------------------------------------------------------------------------
function gen() {
    
    lower = false;
    upper = false;
    mixed = false;
    
    if (document.getElementById('textcase').value == "1") lower = true;
    else if (document.getElementById('textcase').value == "2") upper = true;
    else if (document.getElementById('textcase').value == "3") mixed = true;
    
    
    rsep = true;
    
    numeric = false;
    english = false;
    
    if (document.getElementById('use_symbols').checked)
          gibberish = true;         
     else 
          gibberish = false;

    clockseed = true;

    makesig = false;  // include an MD5 sig

    npass = "1";    // number of passwords to generate

    pw_length = Math.round(document.getElementById('klength').value);
    sep = pw_length;
    linelen = 48;

        var n, j, ran0;

        //  Obtain seed from the clock
        seed = Math.round((new Date()).getTime() % Math.pow(2, 31));
        
  ran0 = new LEcuyer((seed ^ Math.round(loadTime % Math.pow(2, 31))) & 0x7FFFFFFF);
  
        for (j = 0; j < (5 + ((seed >> 3) & 0xF)); j++) {
            n = ran0.nextInt(31);
        }
  
        while (n-- >= 0) {
            seed = ((seed << 11) | (seed >>> (32 - 11))) ^ ran0.next();
        }
  
        seed &= 0x7FFFFFFF;
        
       
        document.getElementById('content_div').innerHTML = "__MSG_seed_used__: " + seed;

 
    ran1 = new LEcuyer(seed);
    ran2 = new LEcuyer(seed);
 
      //  Use a separate random generator for separators so that results are the same for a given seed for both choices of separators
      if (rsep) {
    sepran = new LEcuyer(seed);
      }

    ndig = 1;
    j = 10;
 
    while (npass >= j) {
        ndig++;
        j *= 10;
    }
 
    pw_item = pw_length + (sep > 0 ? (pw_length / sep) : 0);
    pw_item += ndig + 5;
    j = pw_item * 3;
    if (j < 132) {
        j = 132;
    }
 
    npline = Math.floor(linelen / pw_item);
    if (npline < 1) {
        npline = 0;
    }
 
    v = "";
    md5v = "";
    lineno = 0;
 
  if (!numeric) {
      
        letters = "abcdefghijklmnopqrstuvwxyz" + "0123456789";
      
        if (upper) letters = letters.toUpperCase();
        
       
        if (gibberish) {
        
        gibber = "abcdefghijklmnopqrstuvwxyz" +
           "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +
           "0123456789" +
           "!#$%&()*+,-./:;<=>?@[]^_{|}~";
           
        if (upper) {
      
            gibber = gibber.toUpperCase();
            
        } else if (lower) gibber = gibber.toLowerCase();
      
        }
  }
  
  
    for (line = 1; line <= npass; line++) {
    
        password = "";
    
        if (numeric) {
  
      for (nchars = 0; nchars < pw_length; nchars++) {
          if ((sep > 0) && ((nchars % sep) == 0) && (nchars > 0)) {
        password += sepchar();
          }
          password += ran1.nextInt(9);
      }
      
        } else if (!english) {
  
      for (nchars = 0; nchars < pw_length; nchars++) {
          if ((sep > 0) && ((nchars % sep) == 0) && (nchars > 0)) {
        password += sepchar();
          }
          if (gibberish) {
        password += gibber.charAt(ran1.nextInt(gibber.length - 1));
          } else {
        password += letters.charAt(ran1.nextInt(35));
          }
      }
        
  } else {
  
            position = ran1.nextInt(total_sum - 1);
      
            for (row_position = 0, j = 0; position >= row_position; row_position += start_freq[j], j++) {
                continue;
      }

            password = letters.charAt(i = j - 1);
            
      nch = 1;
            
        for (nchars = pw_length - 1; nchars; --nchars) {
  
      // Now find random position within the row.
  
      position = ran1.nextInt(row_sums[i] - 1);
      
      for (row_position = 0, j = 0;
           position >= row_position;
           row_position += frequency[i][j], j++) {
      }
  
      if ((sep > 0) && ((nch % sep) == 0)) {
          password += sepchar();
      }
      
      nch++;
      password += letters.charAt(i = j - 1);
        }
      }

  
      if ((!numeric) && (!gibberish) && mixed) {
      var pwm = '';
      var j;
      for (j = 0; j < password.length; j++) {
        pwm += ran2.nextInt(1) ? (password.charAt(j)) : (password.charAt(j).toUpperCase());
      }
      password = pwm;
      }

      
        aline = "" + line;

        while (aline.length < ndig) {
            aline = " " + aline;
        }

        v = password;

        if ((++lineno) >= npline) {
            v += "\n";
            lineno = 0;
        } else v += "  ";
        
    }



    document.getElementById('passwordNew').value = trim(v);

    SelectAll('passwordNew');    // auto-select the password in UI

  return true; 

}
// ------
function trim (str) {

return str.replace(/^\s*/g, '').replace(/\s*$/g, '');

}
// ------------
function SelectAll(id) {

      document.getElementById(id).focus();
      document.getElementById(id).select();
}
// ------------
function init(){

      loadDefaultContainerPreferences();    // load defaults from saved preferences
      
            gen();                                // generate a sample
}
// ------------

  gadgets.util.registerOnLoadHandler(init);
    
</script>


 <div id="container">

 <form id="onetime" action="javascript:void(0);" method="GET">

<table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
      <td colspan="3" height="32" style="background-image:url(http://simplestrongpasswordgenerator.googlecode.com/files/sotp-keysicon.png);background-repeat:no-repeat;">
      
            <span id="title" style="font-size:12pt;font-family:Arial;padding-left:37px;padding-bottom:1px; text-align:left;letter-spacing:2px;word-spacing:1px;">__MSG_title_window__</span>

      </td>
    </tr>
    <tr>
      <td width="122" valign="center" align="right" style="padding-right:3px">
      
     <input id="passwordNew" size="10" type="text" value="" onClick="SelectAll('passwordNew');" onKeyPress="return entsub(event,this.form);"  readonly="readonly" style="font-family:Courier;border: solid 1px #85b1de;font-size:12pt;color:green;"/>
      
      </td>
      <td width="27" valign="center" style="padding-right:7px">
      
       <span class="Button"><input value="__MSG_go_button_text__" type="button" style="vertical-align: middle;" onClick="gen();" alt="__MSG_go_button_text__"></span>
      
      </td>
      <td width="145">
        
      <select id="klength" style="font-size:7pt;width:35px;">
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8" selected="selected">8</option>
      <option value="9">9</option>
      <option value="10">10</option>
      <option value="11">11</option>
      <option value="12">12</option>
      <option value="13">13</option>
      <option value="14">14</option>
      <option value="15">15</option>
      <option value="16">16</option>
      <option value="17">17</option>
      <option value="18">18</option>
      <option value="19">19</option>
      <option value="20">20</option>
      <option value="24">24</option>
      <option value="48">48</option>  
      <option value="64">64</option>
      <option value="128">128</option>          
      </select>
      
    
      <select name="textcase" id="textcase" style="font-size:7pt;width:55px;">
        <option value="1">__MSG_lower__</option>
        <option value="2">__MSG_upper__</option>
        <option value="3" selected="selected">__MSG_mixed__</option>
      </select>
      
        
      </td>
    </tr>
    <tr>
      <td colspan="2" valign="bottom">
      
        <div id="content_div" style="padding-top:8px;text-align:center; vertical-align:bottom;font-size:7pt;color:grey;display:block;"></div>

   </td>
    
      <td style="vertical-align: top;">
        <input name="use_symbols" id="use_symbols" value=""  type="checkbox"> <label style="font-size:7pt;color:#3572ac;padding-bottom:2px" for="use_symbols">__MSG_symbols__</label>  
      </td>
    </tr>
  
  </table>
  
  </form>
  </div>
  
    
    
  ]]> 
  </Content>
  </Module>
  

