]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blame - bip39-standalone.html
bitsPerEvent correct for multiple decks of cards
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / bip39-standalone.html
CommitLineData
ebd8d4e8
IC
1<!DOCTYPE html>
2<html>
3 <head lang="en">
4 <meta charset="utf-8" />
5 <title>BIP39 - Mnemonic Code</title>
ab78acc6 6 <style>/*!
ebd8d4e8
IC
7 * Bootstrap v3.2.0 (http://getbootstrap.com)
8 * Copyright 2011-2014 Twitter, Inc.
9 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
ab78acc6
IC
10 *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;width:100% \9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;width:100% \9;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px;line-height:1.42857143 \0}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm,.form-horizontal .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg,.form-horizontal .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{position:absolute;z-index:-1;filter:alpha(opacity=0);opacity:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{min-width:30px;color:#777;background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate3d(0,-25%,0);-o-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.modal.in .modal-dialog{-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}</style>
11 <meta content="Mnemonic code for generating deterministic keys" name="description"/>
12 <meta content="width=device-width, initial-scale=1.0" name="viewport" />
13 <meta content="bitcoin mnemonic converter" name="description" />
b630f83d 14 <meta content="Ian Coleman" name="author" />
3af2954a 15
ab78acc6
IC
16 <style>
17 body {
18 padding-bottom: 32px;
19 }
20 .form-control[readonly] {
21 cursor: text;
22 }
23 .feedback-container {
24 position: fixed;
25 top: 0;
26 width: 100%;
27 text-align: center;
28 z-index: 4;
29 }
30 .feedback {
31 display: table;
32 padding: 0.5em 1em;
33 background-color: orange;
34 margin: 0 auto;
35 font-size: 2em;
36 color: #444;
37 border: 2px solid #555;
38 border-top: 0;
39 border-bottom-left-radius: 20px 20px;
40 border-bottom-right-radius: 20px 20px;
41 }
d5dc92fd
IC
42 .no-border {
43 border: 0;
44 box-shadow: inset 0 1px 1px rgba(0,0,0,.0);
45 -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.0);
46 }
0515eeec
IC
47 .phrase {
48 word-break: keep-all;
49 }
2a6dd137 50 .generate-container .strength {
b0818b31
IC
51 /* override mobile width from bootstrap */
52 width: auto!important;
53 display: inline-block;
54 }
ea87f1d3 55 .languages a {
0515eeec
IC
56 padding-left: 10px;
57 }
ea87f1d3
IC
58 .languages a:nth-of-type(1) {
59 margin-left: -12px;
60 padding-left: 0;
61 }
d737abf6
IC
62 .monospace {
63 font-family: monospace;
64 }
2a6dd137
IC
65 .entropy-container .filtered,
66 .entropy-container .binary {
67 word-wrap: break-word;
68 }
69 .entropy-container li {
70 padding-bottom: 5px;
71 }
72 .card-suit {
73 font-size: 19px;
74 line-height: 0;
75 }
76 .card-suit.club {
77 color: #009F00;
78 }
79 .card-suit.diamond {
80 color: #3D5DC4;
81 }
82 .card-suit.heart {
83 color: #F00;
84 }
85 .card-suit.spade {
86 color: #000;
87 }
ab78acc6
IC
88 </style>
89 </head>
90 <body>
91 <div class="container">
3af2954a 92
ab78acc6
IC
93 <h1 class="text-center">Mnemonic Code Converter</h1>
94 <hr>
95 <div class="row">
96 <div class="col-md-12">
97 <h2>Mnemonic</h2>
98 <form class="form-horizontal" role="form">
ab78acc6 99 <div class="form-group">
c6624d51
IC
100 <div class="col-sm-2"></div>
101 <div class="col-sm-10">
ea87f1d3
IC
102 <p data-translate>You can enter an existing BIP39 mnemonic, or generate a new random one. Typing your own twelve words will probably not work how you expect, since the words require a particular structure (the last word is a checksum).</p>
103 <p data-translate-html>
104 For more info see the
105 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki" target="_blank">BIP39 spec</a>.
106 </p>
c6624d51
IC
107 </div>
108 </div>
109 <div class="form-group generate-container">
b0818b31 110 <label class="col-sm-2 control-label"></label>
ab78acc6 111 <div class="col-sm-10">
b0818b31
IC
112 <div class="form-inline">
113 <div class="input-group-inline">
ea87f1d3 114 <span data-translate>Generate a random mnemonic, or enter your own below</span>:
b0818b31 115 <button class="btn generate">Generate</button>
b0818b31
IC
116 <select id="strength" class="strength form-control">
117 <option value="3">3</option>
118 <option value="6">6</option>
119 <option value="9">9</option>
120 <option value="12">12</option>
121 <option value="15" selected>15</option>
122 <option value="18">18</option>
123 <option value="21">21</option>
124 <option value="24">24</option>
125 </select>
ea87f1d3 126 <span data-translate>words</span>
b0818b31
IC
127 </div>
128 </div>
ab78acc6 129 </div>
0515eeec 130 </div>
c6624d51 131 <div class="entropy-container hidden">
2a6dd137 132 <div class="form-group text-danger">
ea87f1d3 133 <label class="col-sm-2 control-label" data-translate>Warning</label>
2a6dd137 134 <div class="col-sm-10 form-control-static">
ea87f1d3
IC
135 <span data-translate>Entropy is an advanced feature. Your mnemonic may be insecure if this feature is used incorrectly.</span>
136 <a href="#entropy-notes" data-translate>Read more</a>
18abe53b
IC
137 </div>
138 </div>
2a6dd137 139 <div class="form-group">
ea87f1d3 140 <label for="entropy" class="col-sm-2 control-label" data-translate>Entropy</label>
2a6dd137 141 <div class="col-sm-7">
ea87f1d3 142 <textarea id="entropy" rows="2" class="entropy form-control" placeholder="Accepts binary, base 6, 6-sided dice, base 10, hexadecimal, cards" data-translate-placeholder></textarea>
95f04905 143 <div class="row">
ea87f1d3 144 <label class="col-sm-3 control-label" data-translate>Strength</label>
95f04905 145 <div class="strength col-sm-3 form-control-static"></div>
ea87f1d3 146 <label class="col-sm-3 control-label" data-translate>Event Count</label>
95f04905
IC
147 <div class="event-count col-sm-3 form-control-static"></div>
148 </div>
149 <div class="row">
ea87f1d3 150 <label class="col-sm-3 control-label" data-translate>Entropy Type</label>
95f04905 151 <div class="type col-sm-3 form-control-static"></div>
ea87f1d3 152 <label class="col-sm-3 control-label" data-translate>Bits Per Event</label>
95f04905
IC
153 <div class="bits-per-event col-sm-3 form-control-static"></div>
154 </div>
155 <div class="row">
ea87f1d3 156 <label class="col-sm-3 control-label" data-translate>Word Count</label>
95f04905 157 <div class="word-count col-sm-3 form-control-static"></div>
ea87f1d3 158 <label class="col-sm-3 control-label" data-translate>Total Bits</label>
95f04905
IC
159 <div class="bits col-sm-3 form-control-static"></div>
160 </div>
ea87f1d3 161 <label class="col-sm-3 control-label" data-translate>Filtered Entropy</label>
2a6dd137 162 <div class="filtered col-sm-9 form-control-static"></div>
ea87f1d3 163 <label class="col-sm-3 control-label" data-translate>Raw Binary</label>
2a6dd137 164 <div class="binary col-sm-9 form-control-static"></div>
ea87f1d3 165 <label class="col-sm-3 control-label" data-translate>Mnemonic Length</label>
2a6dd137 166 <div class="col-sm-9">
18abe53b 167 <select class="mnemonic-length form-control">
ea87f1d3
IC
168 <option value="raw" data-translate>From entropy length (3 words per 32 bits)</option>
169 <option value="12">12 <span data-translate>Words</span></option>
170 <option value="15" selected>15 <span data-translate>Words</option>
171 <option value="18">18 <span data-translate>Words</span></option>
172 <option value="21">21 <span data-translate>Words</span></option>
173 <option value="24">24 <span data-translate>Words</span></option>
18abe53b 174 </select>
c6624d51 175 </div>
18abe53b 176 </div>
2a6dd137 177 <div class="col-sm-3">
ea87f1d3 178 <p data-translate>Valid entropy values include:</p>
2a6dd137 179 <ul>
ea87f1d3
IC
180 <li><strong data-translate>Binary</strong> [0-1]<br>101010011</li>
181 <li><strong data-translate>Base 6</strong> [0-5]<br>123434014</li>
182 <li><strong data-translate>Dice</strong> [1-6]<br>62535634</li>
183 <li><strong data-translate>Base 10</strong> [0-9]<br>90834528</li>
184 <li><strong data-translate>Hex</strong> [0-9A-F]<br>4187a8bfd9</li>
185 <li><strong data-translate>Card</strong> [A2-9TJQK][CDHS]<br>ahqs9dtc</li>
2a6dd137
IC
186 </ul>
187 </div>
c6624d51
IC
188 </div>
189 </div>
190 <div class="form-group">
191 <div class="col-sm-2"></div>
192 <div class="col-sm-10 checkbox">
193 <label>
194 <input type="checkbox" class="use-entropy">
ea87f1d3 195 <span data-translate>Supply my own source of entropy</span>
c6624d51
IC
196 </label>
197 </div>
198 </div>
199 <div class="form-group">
ea87f1d3 200 <label class="col-sm-2 control-label" data-translate>Mnemonic Language</label>
0515eeec 201 <div class="col-sm-10 languages">
ea87f1d3
IC
202 <div class="form-control no-border">
203 <a href="#english">English</a>
204 <a href="#japanese" title="Japanese">日本語</a>
205 <a href="#spanish" title="Spanish">Español</a>
206 <a href="#chinese_simplified" title="Chinese (Simplified)">中文(简体)</a>
207 <a href="#chinese_traditional" title="Chinese (Traditional)">中文(繁體)</a>
208 <a href="#french" title="French">Français</a>
209 <a href="#italian" title="Italian">Italiano</a>
210 </div>
0515eeec 211 </div>
ab78acc6
IC
212 </div>
213 <div class="form-group">
ea87f1d3 214 <label for="phrase" class="col-sm-2 control-label" data-translate>BIP39 Mnemonic</label>
ab78acc6 215 <div class="col-sm-10">
b0818b31 216 <textarea id="phrase" class="phrase form-control"></textarea>
ab78acc6
IC
217 </div>
218 </div>
219 <div class="form-group">
ea87f1d3 220 <label for="passphrase" class="col-sm-2 control-label" data-translate>BIP39 Passphrase (optional)</label>
ab78acc6
IC
221 <div class="col-sm-10">
222 <textarea id="passphrase" class="passphrase form-control"></textarea>
223 </div>
224 </div>
73161a92 225 <div class="form-group">
ea87f1d3 226 <label for="seed" class="col-sm-2 control-label" data-translate>BIP39 Seed</label>
73161a92
IC
227 <div class="col-sm-10">
228 <textarea id="seed" class="seed form-control" readonly="readonly"></textarea>
229 </div>
230 </div>
ab78acc6 231 <div class="form-group">
ea87f1d3 232 <label for="network-phrase" class="col-sm-2 control-label" data-translate>Coin</label>
ab78acc6
IC
233 <div class="col-sm-10">
234 <select id="network-phrase" class="network form-control">
235 <!-- populated by javascript -->
236 </select>
237 </div>
238 </div>
239 <div class="form-group">
ea87f1d3 240 <label for="root-key" class="col-sm-2 control-label" data-translate>BIP32 Root Key</label>
ab78acc6 241 <div class="col-sm-10">
efe41586 242 <textarea id="root-key" class="root-key form-control"></textarea>
ab78acc6
IC
243 </div>
244 </div>
245 </form>
246 </div>
247 </div>
3af2954a 248
ab78acc6 249 <hr>
3af2954a 250
ab78acc6
IC
251 <div class="row">
252 <div class="col-md-12">
253 <h2>Derivation Path</h2>
254 <ul class="derivation-type nav nav-tabs" role="tablist">
d5dc92fd 255 <li id="bip44-tab" class="active">
ab78acc6
IC
256 <a href="#bip44" role="tab" data-toggle="tab">BIP44</a>
257 </li>
258 <li id="bip32-tab">
259 <a href="#bip32" role="tab" data-toggle="tab">BIP32</a>
260 </li>
261 </ul>
262 <div class="derivation-type tab-content">
d5dc92fd 263 <div id="bip44" class="tab-pane active">
ab78acc6
IC
264 <form class="form-horizontal" role="form">
265 <br>
266 <div class="col-sm-2"></div>
267 <div class="col-sm-10">
ea87f1d3
IC
268 <p data-translate-html>
269 For more info see the
270 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">BIP44 spec</a>.
271 </p>
ab78acc6
IC
272 </div>
273 <div class="form-group">
274 <label for="purpose" class="col-sm-2 control-label">
ea87f1d3 275 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank" data-translate>Purpose</a>
ab78acc6
IC
276 </label>
277 <div class="col-sm-10">
278 <input id="purpose" type="text" class="purpose form-control" value="44">
279 </div>
280 </div>
281 <div class="form-group">
282 <label for="coin" class="col-sm-2 control-label">
ea87f1d3 283 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank" data-translate>Coin</a>
ab78acc6
IC
284 </label>
285 <div class="col-sm-10">
286 <input id="coin" type="text" class="coin form-control" value="0">
287 </div>
288 </div>
289 <div class="form-group">
290 <label for="account" class="col-sm-2 control-label">
ea87f1d3 291 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank" data-translate>Account</a>
ab78acc6
IC
292 </label>
293 <div class="col-sm-10">
294 <input id="account" type="text" class="account form-control" value="0">
295 </div>
296 </div>
297 <div class="form-group">
298 <label for="change" class="col-sm-2 control-label">
ea87f1d3 299 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank" data-translate>External / Internal</a>
ab78acc6
IC
300 </label>
301 <div class="col-sm-10">
302 <input id="change" type="text" class="change form-control" value="0">
303 </div>
304 </div>
305 <div class="form-group">
ea87f1d3 306 <label for="bip44-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label>
ab78acc6
IC
307 <div class="col-sm-10">
308 <input id="bip44-path" type="text" class="path form-control" value="m/44'/0'/0'/0" readonly="readonly">
309 </div>
310 </div>
311 </form>
312 </div>
313 <div id="bip32" class="tab-pane">
314 <form class="form-horizontal" role="form">
315 <br>
316 <div class="col-sm-2"></div>
317 <div class="col-sm-10">
ea87f1d3
IC
318 <p data-translate>
319 For more info see the
320 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">BIP32 spec</a>
321 </p>
ab78acc6
IC
322 </div>
323 <div class="form-group">
ea87f1d3 324 <label for="bip32-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label>
ab78acc6
IC
325 <div class="col-sm-10">
326 <input id="bip32-path" type="text" class="path form-control" value="m/0">
327 </div>
328 </div>
1975bfbc
IC
329 <div class="form-group">
330 <div class="col-sm-2"></div>
331 <label class="col-sm-10">
332 <input class="hardened-addresses" type="checkbox">
ea87f1d3 333 <span data-translate>Use hardened addresses</span>
1975bfbc
IC
334 </label>
335 </div>
d5dc92fd 336 <div class="form-group">
ea87f1d3 337 <label for="mycelium-path" class="col-sm-2 control-label" data-translate>Mycelium Wallet</label>
d5dc92fd 338 <div class="col-sm-10">
ea87f1d3
IC
339 <p class="form-control no-border" data-translate-html>
340 <code>m/44'/0'/0'</code> generates extended keys for import / export
c866242d 341 </p>
ea87f1d3
IC
342 <p class="form-control no-border" data-translate-html>
343 <code>m/44'/0'/1'</code> for the next account. Continue incrementing for more accounts (most use a single account).
c866242d 344 </p>
ea87f1d3
IC
345 <p class="form-control no-border" data-translate-html>
346 <code>m/44'/0'/0'/0</code> generates public addresses
c866242d 347 </p>
ea87f1d3
IC
348 <p class="form-control no-border" data-translate-html>
349 <code>m/44'/0'/0'/1</code> generates change addresses
d5dc92fd 350 </p>
ea87f1d3
IC
351 <p class="form-control no-border" data-translate-html>
352 For more info see the
353 <a href="http://www.mycelium.com/" target="_blank">Mycelium Wallet homepage</a>
d5dc92fd
IC
354 </p>
355 </div>
356 </div>
1975bfbc 357 <div class="form-group">
ea87f1d3 358 <label for="core-path" class="col-sm-2 control-label" data-translate>Bitcoin Core</label>
1975bfbc 359 <div class="col-sm-10">
ea87f1d3 360 <p class="form-control no-border" data-translate-html>
1975bfbc 361 Use path <code>m/0'/0'</code> with hardened addresses.
c866242d 362 </p>
ea87f1d3
IC
363 <p class="form-control no-border" data-translate-html>
364 For more info see the
365 <a href="https://github.com/bitcoin/bitcoin/pull/8035" target="_blank">Bitcoin Core BIP32 implementation</a>
1975bfbc
IC
366 </p>
367 </div>
368 </div>
aa51da11 369 <div class="form-group">
ea87f1d3 370 <label class="col-sm-2 control-label" data-translate>Block Explorers</label>
aa51da11
IC
371 <div class="col-sm-10">
372 <p class="form-control no-border">
ea87f1d3
IC
373 <span data-translate-html>Use path <code>m/44'/0'/0'</code>.</span>
374 <span data-translate-html>Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xprv</code> key.</span>
c866242d
IC
375 </p>
376 <p class="form-control no-border">
ea87f1d3
IC
377 <span data-translate>Can be used with</span>:
378 <a href="https://blockchain.info/" target="_blank">blockchain.info</a>
aa51da11
IC
379 </p>
380 </div>
381 </div>
ab78acc6
IC
382 </form>
383 </div>
384 </div>
385 <form class="form-horizontal" role="form">
386 <div class="form-group">
ea87f1d3 387 <label for="extended-priv-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Key</label>
ab78acc6
IC
388 <div class="col-sm-10">
389 <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly"></textarea>
390 </div>
391 </div>
392 <div class="form-group">
ea87f1d3 393 <label for="extended-pub-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Key (addresses only)</label>
ab78acc6
IC
394 <div class="col-sm-10">
395 <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly"></textarea>
396 </div>
397 </div>
398 </form>
399 </div>
400 </div>
3af2954a 401
ab78acc6 402 <hr>
3af2954a 403
ab78acc6
IC
404 <div class="row">
405 <div class="col-md-12">
406 <h2>Derived Addresses</h2>
ea87f1d3 407 <p data-translate>Note these addreses are derived from the BIP32 Extended Key</p>
ab78acc6
IC
408 <table class="table table-striped">
409 <thead>
410 <th>
411 <div class="input-group">
ea87f1d3
IC
412 <span data-translate>Path</span>&nbsp;&nbsp;
413 <button class="index-toggle" data-translate>Toggle</button>
ab78acc6
IC
414 </div>
415 </th>
416 <th>
417 <div class="input-group">
ea87f1d3
IC
418 <span data-translate>Address</span>&nbsp;&nbsp;
419 <button class="address-toggle" data-translate>Toggle</button>
ab78acc6
IC
420 </div>
421 </th>
1b12b2f5
IC
422 <th>
423 <div class="input-group">
ea87f1d3
IC
424 <span data-translate>Public Key</span>&nbsp;&nbsp;
425 <button class="public-key-toggle" data-translate>Toggle</button>
1b12b2f5
IC
426 </div>
427 </th>
ab78acc6
IC
428 <th>
429 <div class="input-group">
ea87f1d3
IC
430 <span data-translate>Private Key</span>&nbsp;&nbsp;
431 <button class="private-key-toggle" data-translate>Toggle</button>
ab78acc6
IC
432 </div>
433 </th>
434 </thead>
d737abf6 435 <tbody class="addresses monospace">
c866242d
IC
436 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
437 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
438 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
439 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
440 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
ab78acc6
IC
441 </tbody>
442 </table>
443 </div>
444 </div>
ea87f1d3 445 <span data-translate>Show more rows</span>:
ab78acc6 446 <input type="number" class="rows-to-add" value="20">
ea87f1d3 447 <button class="more" data-translate>Show</button>
3af2954a 448
ab78acc6 449 <hr>
3af2954a 450
ab78acc6
IC
451 <div class="row">
452 <div class="col-md-12">
ea87f1d3
IC
453 <h2 data-translate>More info</h2>
454 <h3>BIP39 <span class="small" data-translate>Mnemonic code for generating deterministic keys</span></h3>
455 <p data-translate-html>
ab78acc6
IC
456 Read more at the
457 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki">official BIP39 spec</a>
458 </p>
ea87f1d3
IC
459 <h3>BIP32 <span class="small" data-translate>Hierarchical Deterministic Wallets</span></h3>
460 <p data-translate-html>
ab78acc6
IC
461 Read more at the
462 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">official BIP32 spec</a>
ea87f1d3
IC
463 </p>
464 <p data-translate-html>
465 See the demo at
ab78acc6
IC
466 <a href="http://bip32.org/" target="_blank">bip32.org</a>
467 </p>
ea87f1d3
IC
468 <h3>BIP44 <span class="small" data-translate>Multi-Account Hierarchy for Deterministic Wallets</span></h3>
469 <p data-translate-html>
ab78acc6
IC
470 Read more at the
471 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">official BIP44 spec</a>
472 </p>
ea87f1d3 473 <h3 data-translate>Private Keys</h3>
ab78acc6 474 <p>
ea87f1d3
IC
475 <span data-translate-html>
476 Use private keys at
477 <a href="https://web.archive.org/web/20150707020924/https://brainwallet.org/" target="_blank">brainwallet.org</a>.
478 </span>
479 <span data-translate>Be careful - it can be easy to make mistakes if you don't know what you're doing.</span>
ab78acc6 480 </p>
ea87f1d3 481 <h3 id="entropy-notes" data-translate>Entropy</h3>
c6624d51 482 <p>
ea87f1d3
IC
483 <span data-translate-html>
484 Entropy values must be sourced from a
485 <a href="https://en.wikipedia.org/wiki/Random_number_generation" target="_blank">strong source of randomness</a>.
486 </span>
487 <span data-translate>This means flipping a fair coin, rolling a fair dice, noise measurements etc.</span>
488 <span data-translate-html>
489 Do <strong>NOT</strong> use phrases from books, lyrics from songs, your birthday or steet address,
490 keyboard mashing, or anything you <i>think</i> is random, because chances are overwhelming it isn't
491 random enough for the needs of this tool.
492 </span>
c6624d51
IC
493 </p>
494 <p>
ea87f1d3
IC
495 <span data-translate-html>
496 The random mnemonic generator on this page uses a
497 <a href="https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues" target="_blank">cryptographically secure random number generator</a>.
498 </span>
499 <span data-translate>The built in random generator can generally be trusted more than your own intuition about randomness.</span>
500 <span data-translate>If cryptographic randomness isn't available in your browser, this page will show a warning and the generate button will not work.</span>
501 <span data-translate>In that case you might choose to use your own source of entropy.</span>
c6624d51
IC
502 </p>
503 <p>
ea87f1d3 504 <a href="https://bitcointalk.org/index.php?topic=311000.msg3345309#msg3345309" target="_blank" data-translate>You are not a good source of entropy.</a>
c6624d51 505 </p>
ab78acc6
IC
506 </div>
507 </div>
3af2954a 508
ab78acc6 509 <hr>
3af2954a 510
ab78acc6
IC
511 <div class="row">
512 <div class="col-md-12">
3af2954a 513
ea87f1d3 514 <h2 data-translate>Offline Usage</h2>
3af2954a 515
ea87f1d3 516 <p data-translate>
ab78acc6
IC
517 You can use this tool without having to be online.
518 </p>
ea87f1d3 519 <p data-translate>
ab78acc6
IC
520 In your browser, select file save-as, and save this page
521 as a file.
522 </p>
ea87f1d3 523 <p data-translate>
ab78acc6
IC
524 Double-click that file to open it in a browser
525 on any offline computer.
526 </p>
527 <p>
ea87f1d3
IC
528 <span data-translate>Alternatively, download the file from the repository</span>
529 -
530 <a href="https://github.com/iancoleman/bip39">https://github.com/iancoleman/bip39</a>
531 </p>
3af2954a 532
ab78acc6
IC
533 </div>
534 </div>
3af2954a 535
ab78acc6 536 <hr>
3af2954a 537
ab78acc6
IC
538 <div class="row">
539 <div class="col-md-12">
3af2954a 540
ea87f1d3 541 <h2 data-translate>This project is 100% open-source code</h2>
3af2954a 542
ab78acc6 543 <p>
ea87f1d3
IC
544 <span data-translate>Get the source code from the repository</span>
545 -
b630f83d
IC
546 <a href="https://github.com/iancoleman/bip39" target="_blank">
547 https://github.com/iancoleman/bip39
ab78acc6
IC
548 </a>
549 </p>
3af2954a 550
ea87f1d3 551 <h3 data-translate>Libraries</h3>
3af2954a 552
ab78acc6
IC
553 <p>
554 <span>BitcoinJS - </span>
555 <a href="https://github.com/bitcoinjs/bitcoinjs-lib" target="_blank">
556 https://github.com/bitcoinjs/bitcoinjs-lib
557 </a>
558 </p>
3af2954a 559
ab78acc6
IC
560 <p>
561 <span>jsBIP39 - </span>
562 <a href="https://github.com/iancoleman/jsbip39" target="_blank">
563 https://github.com/iancoleman/jsbip39
564 </a>
565 </p>
3af2954a 566
ab78acc6
IC
567 <p>
568 <span>sjcl - </span>
569 <a href="https://github.com/bitwiseshiftleft/sjcl" target="_blank">
570 https://github.com/bitwiseshiftleft/sjcl
571 </a>
572 </p>
3af2954a 573
ab78acc6
IC
574 <p>
575 <span>jQuery - </span>
576 <a href="https://jquery.com/" target="_blank">
577 https://jquery.com/
578 </a>
579 </p>
3af2954a 580
ab78acc6
IC
581 <p>
582 <span>Twitter Bootstrap - </span>
583 <a href="http://getbootstrap.com/" target="_blank">
584 http://getbootstrap.com/
585 </a>
586 </p>
3af2954a 587
ab78acc6
IC
588 </div>
589 </div>
3af2954a 590
ab78acc6 591 </div>
3af2954a 592
ab78acc6
IC
593 <div class="feedback-container">
594 <div class="feedback">Loading...</div>
595 </div>
3af2954a 596
ab78acc6
IC
597 <script type="text/template" id="address-row-template">
598 <tr>
599 <td class="index"><span></span></td>
600 <td class="address"><span></span></td>
1b12b2f5 601 <td class="pubkey"><span></span></td>
ab78acc6
IC
602 <td class="privkey"><span></span></td>
603 </tr>
604 </script>
605 <script>/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
606!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)
607},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ab=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ib={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qb[0].contentDocument,b.write(),b.close(),c=sb(a,b),qb.detach()),rb[a]=c),c}var ub=/^margin/,vb=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)};function xb(a,b,c){var d,e,f,g,h=a.style;return c=c||wb(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),vb.test(g)&&ub.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function yb(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var zb=/^(none|table(?!-c[ea]).+)/,Ab=new RegExp("^("+Q+")(.*)$","i"),Bb=new RegExp("^([+-])=("+Q+")","i"),Cb={position:"absolute",visibility:"hidden",display:"block"},Db={letterSpacing:"0",fontWeight:"400"},Eb=["Webkit","O","Moz","ms"];function Fb(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Eb.length;while(e--)if(b=Eb[e]+c,b in a)return b;return d}function Gb(a,b,c){var d=Ab.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Hb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ib(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wb(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xb(a,b,f),(0>e||null==e)&&(e=a.style[b]),vb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Hb(a,b,c||(g?"border":"content"),d,f)+"px"}function Jb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",tb(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Bb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xb(a,b,d)),"normal"===e&&b in Db&&(e=Db[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?zb.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Cb,function(){return Ib(a,b,d)}):Ib(a,b,d):void 0},set:function(a,c,d){var e=d&&wb(a);return Gb(a,c,d?Hb(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=yb(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ub.test(a)||(n.cssHooks[a+b].set=Gb)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Jb(this,!0)},hide:function(){return Jb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Kb(a,b,c,d,e){return new Kb.prototype.init(a,b,c,d,e)}n.Tween=Kb,Kb.prototype={constructor:Kb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Kb.propHooks[this.prop];return a&&a.get?a.get(this):Kb.propHooks._default.get(this)},run:function(a){var b,c=Kb.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Kb.propHooks._default.set(this),this}},Kb.prototype.init.prototype=Kb.prototype,Kb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Kb.propHooks.scrollTop=Kb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Kb.prototype.init,n.fx.step={};var Lb,Mb,Nb=/^(?:toggle|show|hide)$/,Ob=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pb=/queueHooks$/,Qb=[Vb],Rb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Ob.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Ob.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sb(){return setTimeout(function(){Lb=void 0}),Lb=n.now()}function Tb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ub(a,b,c){for(var d,e=(Rb[b]||[]).concat(Rb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Vb(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||tb(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Nb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?tb(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ub(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xb(a,b,c){var d,e,f=0,g=Qb.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Lb||Sb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Lb||Sb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wb(k,j.opts.specialEasing);g>f;f++)if(d=Qb[f].call(j,a,k,j.opts))return d;return n.map(k,Ub,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xb,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Rb[c]=Rb[c]||[],Rb[c].unshift(b)},prefilter:function(a,b){b?Qb.unshift(a):Qb.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xb(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Tb(b,!0),a,d,e)}}),n.each({slideDown:Tb("show"),slideUp:Tb("hide"),slideToggle:Tb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Lb=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Lb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Mb||(Mb=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Mb),Mb=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Yb,Zb,$b=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Zb:Yb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))
608},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Zb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$b[b]||n.find.attr;$b[b]=function(a,b,d){var e,f;return d||(f=$b[b],$b[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$b[b]=f),e}});var _b=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_b.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ac=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ac," ").indexOf(b)>=0)return!0;return!1}});var bc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cc=n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var ec,fc,gc=/#.*$/,hc=/([?&])_=[^&]*/,ic=/^(.*?):[ \t]*([^\r\n]*)$/gm,jc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,kc=/^(?:GET|HEAD)$/,lc=/^\/\//,mc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,nc={},oc={},pc="*/".concat("*");try{fc=location.href}catch(qc){fc=l.createElement("a"),fc.href="",fc=fc.href}ec=mc.exec(fc.toLowerCase())||[];function rc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function sc(a,b,c,d){var e={},f=a===oc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function tc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function uc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function vc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:fc,type:"GET",isLocal:jc.test(ec[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":pc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?tc(tc(a,n.ajaxSettings),b):tc(n.ajaxSettings,a)},ajaxPrefilter:rc(nc),ajaxTransport:rc(oc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=ic.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||fc)+"").replace(gc,"").replace(lc,ec[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=mc.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===ec[1]&&h[2]===ec[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(ec[3]||("http:"===ec[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),sc(nc,k,b,v),2===t)return v;i=k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!kc.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(dc.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=hc.test(d)?d.replace(hc,"$1_="+cc++):d+(dc.test(d)?"&":"?")+"_="+cc++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+pc+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=sc(oc,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=uc(k,v,f)),u=vc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var wc=/%20/g,xc=/\[\]$/,yc=/\r?\n/g,zc=/^(?:submit|button|image|reset|file)$/i,Ac=/^(?:input|select|textarea|keygen)/i;function Bc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||xc.test(a)?d(a,e):Bc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Bc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Bc(c,a[c],b,e);return d.join("&").replace(wc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Ac.test(this.nodeName)&&!zc.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(yc,"\r\n")}}):{name:b.name,value:c.replace(yc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Cc=0,Dc={},Ec={0:200,1223:204},Fc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Dc)Dc[a]()}),k.cors=!!Fc&&"withCredentials"in Fc,k.ajax=Fc=!!Fc,n.ajaxTransport(function(a){var b;return k.cors||Fc&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Cc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Dc[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Ec[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Dc[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Gc=[],Hc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Gc.pop()||n.expando+"_"+cc++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Hc.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Hc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Hc,"$1"+e):b.jsonp!==!1&&(b.url+=(dc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Gc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Ic=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Ic)return Ic.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Jc=a.document.documentElement;function Kc(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Kc(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Jc;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Jc})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Kc(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=yb(k.pixelPosition,function(a,c){return c?(c=xb(a,b),vb.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Lc=a.jQuery,Mc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Mc),b&&a.jQuery===n&&(a.jQuery=Lc),n},typeof b===U&&(a.jQuery=a.$=n),n});
609</script>
610 <script>/*!
611 * Bootstrap v3.2.0 (http://getbootstrap.com)
3af2954a
IC
612 * Copyright 2011-2014 Twitter, Inc.
613 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
ab78acc6
IC
614 */
615if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f+', [role="menu"], [role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.2.0",c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.$body.addClass("modal-open"),this.setScrollbar(),this.escape(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(c.$body),c.$element.show().scrollTop(0),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one("bsTransitionEnd",function(){c.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(300):c.$element.trigger("focus").trigger(e)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.$body.removeClass("modal-open"),this.resetScrollbar(),this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;if(this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;e?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(150):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var f=function(){c.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",f).emulateTransitionEnd(150):f()}else b&&b()},c.prototype.checkScrollbar=function(){document.body.clientWidth>=window.innerWidth||(this.scrollbarWidth=this.scrollbarWidth||this.measureScrollbar())},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.scrollbarWidth&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.2.0",c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var c=a.contains(document.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!c)return;var d=this,e=this.tip(),f=this.getUID(this.type);this.setContent(),e.attr("id",f),this.$element.attr("aria-describedby",f),this.options.animation&&e.addClass("fade");var g="function"==typeof this.options.placement?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,h=/\s?auto?\s?/i,i=h.test(g);i&&(g=g.replace(h,"")||"top"),e.detach().css({top:0,left:0,display:"block"}).addClass(g).data("bs."+this.type,this),this.options.container?e.appendTo(this.options.container):e.insertAfter(this.$element);var j=this.getPosition(),k=e[0].offsetWidth,l=e[0].offsetHeight;if(i){var m=g,n=this.$element.parent(),o=this.getPosition(n);g="bottom"==g&&j.top+j.height+l-o.scroll>o.height?"top":"top"==g&&j.top-o.scroll-l<0?"bottom":"right"==g&&j.right+k>o.width?"left":"left"==g&&j.left-k<o.left?"right":g,e.removeClass(m).addClass(g)}var p=this.getCalculatedOffset(g,j,k,l);this.applyPlacement(p,g);var q=function(){d.$element.trigger("shown.bs."+d.type),d.hoverState=null};a.support.transition&&this.$tip.hasClass("fade")?e.one("bsTransitionEnd",q).emulateTransitionEnd(150):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=k.left?2*k.left-e+i:2*k.top-f+j,m=k.left?"left":"top",n=k.left?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(l,d[0][n],m)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach(),c.$element.trigger("hidden.bs."+c.type)}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.removeAttr("aria-describedby"),this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one("bsTransitionEnd",b).emulateTransitionEnd(150):b(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName;return a.extend({},"function"==typeof c.getBoundingClientRect?c.getBoundingClientRect():null,{scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop(),width:d?a(window).width():b.outerWidth(),height:d?a(window).height():b.outerHeight()},d?{top:0,left:0}:b.offset())},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){clearTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.2.0",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").empty()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.2.0",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.2.0",c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.closest("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},c.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one("bsTransitionEnd",e).emulateTransitionEnd(150):e(),f.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(c){c.preventDefault(),b.call(a(this),"show")})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.2.0",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=a(document).height(),d=this.$target.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.$element)),"function"==typeof h&&(h=f.bottom(this.$element));var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=b-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){null!=this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultPrevented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),"bottom"==i&&this.$element.offset({top:b-this.$element.height()-h}))}}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},d.offsetBottom&&(d.offset.bottom=d.offsetBottom),d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);</script>
563e401a
IC
616 <script>(function() {
617 'use strict';
618
619 /**
620 * Extend an Object with another Object's properties.
621 *
622 * The source objects are specified as additional arguments.
623 *
624 * @param dst Object the object to extend.
625 *
626 * @return Object the final object.
627 */
628 var _extend = function(dst) {
629 var sources = Array.prototype.slice.call(arguments, 1);
630 for (var i=0; i<sources.length; ++i) {
631 var src = sources[i];
632 for (var p in src) {
633 if (src.hasOwnProperty(p)) dst[p] = src[p];
634 }
635 }
636 return dst;
637 };
638
639
640 /**
641 * Defer execution of given function.
642 * @param {Function} func
643 */
644 var _defer = function(func) {
645 if (typeof setImmediate === 'function') {
646 return setImmediate(func);
647 } else {
648 return setTimeout(func, 0);
649 }
650 };
651
652 /**
653 * Based on the algorithm at http://en.wikipedia.org/wiki/Levenshtein_distance.
654 */
655 var Levenshtein = {
656 /**
657 * Calculate levenshtein distance of the two strings.
658 *
659 * @param str1 String the first string.
660 * @param str2 String the second string.
661 * @return Integer the levenshtein distance (0 and above).
662 */
663 get: function(str1, str2) {
664 // base cases
665 if (str1 === str2) return 0;
666 if (str1.length === 0) return str2.length;
667 if (str2.length === 0) return str1.length;
668
669 // two rows
670 var prevRow = new Array(str2.length + 1),
671 curCol, nextCol, i, j, tmp;
672
673 // initialise previous row
674 for (i=0; i<prevRow.length; ++i) {
675 prevRow[i] = i;
676 }
677
678 // calculate current row distance from previous row
679 for (i=0; i<str1.length; ++i) {
680 nextCol = i + 1;
681
682 for (j=0; j<str2.length; ++j) {
683 curCol = nextCol;
684
685 // substution
686 nextCol = prevRow[j] + ( (str1.charAt(i) === str2.charAt(j)) ? 0 : 1 );
687 // insertion
688 tmp = curCol + 1;
689 if (nextCol > tmp) {
690 nextCol = tmp;
691 }
692 // deletion
693 tmp = prevRow[j + 1] + 1;
694 if (nextCol > tmp) {
695 nextCol = tmp;
696 }
697
698 // copy current col value into previous (in preparation for next iteration)
699 prevRow[j] = curCol;
700 }
701
702 // copy last col value into previous (in preparation for next iteration)
703 prevRow[j] = nextCol;
704 }
705
706 return nextCol;
707 },
708
709 /**
710 * Asynchronously calculate levenshtein distance of the two strings.
711 *
712 * @param str1 String the first string.
713 * @param str2 String the second string.
714 * @param cb Function callback function with signature: function(Error err, int distance)
715 * @param [options] Object additional options.
716 * @param [options.progress] Function progress callback with signature: function(percentComplete)
717 */
718 getAsync: function(str1, str2, cb, options) {
719 options = _extend({}, {
720 progress: null
721 }, options);
722
723 // base cases
724 if (str1 === str2) return cb(null, 0);
725 if (str1.length === 0) return cb(null, str2.length);
726 if (str2.length === 0) return cb(null, str1.length);
727
728 // two rows
729 var prevRow = new Array(str2.length + 1),
730 curCol, nextCol,
731 i, j, tmp,
732 startTime, currentTime;
733
734 // initialise previous row
735 for (i=0; i<prevRow.length; ++i) {
736 prevRow[i] = i;
737 }
738
739 nextCol = 1;
740 i = 0;
741 j = -1;
742
743 var __calculate = function() {
744 // reset timer
745 startTime = new Date().valueOf();
746 currentTime = startTime;
747
748 // keep going until one second has elapsed
749 while (currentTime - startTime < 1000) {
750 // reached end of current row?
751 if (str2.length <= (++j)) {
752 // copy current into previous (in preparation for next iteration)
753 prevRow[j] = nextCol;
754
755 // if already done all chars
756 if (str1.length <= (++i)) {
757 return cb(null, nextCol);
758 }
759 // else if we have more left to do
760 else {
761 nextCol = i + 1;
762 j = 0;
763 }
764 }
765
766 // calculation
767 curCol = nextCol;
768
769 // substution
770 nextCol = prevRow[j] + ( (str1.charAt(i) === str2.charAt(j)) ? 0 : 1 );
771 // insertion
772 tmp = curCol + 1;
773 if (nextCol > tmp) {
774 nextCol = tmp;
775 }
776 // deletion
777 tmp = prevRow[j + 1] + 1;
778 if (nextCol > tmp) {
779 nextCol = tmp;
780 }
781
782 // copy current into previous (in preparation for next iteration)
783 prevRow[j] = curCol;
784
785 // get current time
786 currentTime = new Date().valueOf();
787 }
788
789 // send a progress update?
790 if (null !== options.progress) {
791 try {
792 options.progress.call(null, (i * 100.0/ str1.length));
793 } catch (err) {
794 return cb('Progress callback: ' + err.toString());
795 }
796 }
797
798 // next iteration
799 _defer(__calculate);
800 };
801
802 __calculate();
803 }
804
805 };
806
807 // amd
808 if (typeof define !== "undefined" && define !== null && define.amd) {
809 define(function() {
810 return Levenshtein;
811 });
812 }
813 // commonjs
814 else if (typeof module !== "undefined" && module !== null && typeof exports !== "undefined" && module.exports === exports) {
815 module.exports = Levenshtein;
816 }
817 // web worker
818 else if (typeof self !== "undefined" && typeof self.postMessage === 'function' && typeof self.importScripts === 'function') {
819 self.Levenshtein = Levenshtein;
820 }
821 // browser main thread
822 else if (typeof window !== "undefined" && window !== null) {
823 window.Levenshtein = Levenshtein;
824 }
825}());
826
827</script>
ab78acc6
IC
828 <script>(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.bitcoin = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
829// (public) Constructor
830function BigInteger(a, b, c) {
831 if (!(this instanceof BigInteger))
832 return new BigInteger(a, b, c)
3af2954a 833
ab78acc6
IC
834 if (a != null) {
835 if ("number" == typeof a) this.fromNumber(a, b, c)
836 else if (b == null && "string" != typeof a) this.fromString(a, 256)
837 else this.fromString(a, b)
838 }
839}
3af2954a 840
ab78acc6 841var proto = BigInteger.prototype
3af2954a 842
ab78acc6
IC
843// duck-typed isBigInteger
844proto.__bigi = require('../package.json').version
845BigInteger.isBigInteger = function (obj, check_ver) {
846 return obj && obj.__bigi && (!check_ver || obj.__bigi === proto.__bigi)
847}
3af2954a 848
ab78acc6
IC
849// Bits per digit
850var dbits
3af2954a 851
ab78acc6
IC
852// am: Compute w_j += (x*this_i), propagate carries,
853// c is initial carry, returns final carry.
854// c < 3*dvalue, x < 2*dvalue, this_i < dvalue
855// We need to select the fastest one that works in this environment.
3af2954a 856
ab78acc6
IC
857// am1: use a single mult and divide to get the high bits,
858// max digit bits should be 26 because
859// max internal value = 2*dvalue^2-2*dvalue (< 2^53)
860function am1(i, x, w, j, c, n) {
861 while (--n >= 0) {
862 var v = x * this[i++] + w[j] + c
863 c = Math.floor(v / 0x4000000)
864 w[j++] = v & 0x3ffffff
3af2954a 865 }
ab78acc6
IC
866 return c
867}
868// am2 avoids a big mult-and-extract completely.
869// Max digit bits should be <= 30 because we do bitwise ops
870// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
871function am2(i, x, w, j, c, n) {
872 var xl = x & 0x7fff,
873 xh = x >> 15
874 while (--n >= 0) {
875 var l = this[i] & 0x7fff
876 var h = this[i++] >> 15
877 var m = xh * l + h * xl
878 l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff)
879 c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30)
880 w[j++] = l & 0x3fffffff
881 }
882 return c
883}
884// Alternately, set max digit bits to 28 since some
885// browsers slow down when dealing with 32-bit numbers.
886function am3(i, x, w, j, c, n) {
887 var xl = x & 0x3fff,
888 xh = x >> 14
889 while (--n >= 0) {
890 var l = this[i] & 0x3fff
891 var h = this[i++] >> 14
892 var m = xh * l + h * xl
893 l = xl * l + ((m & 0x3fff) << 14) + w[j] + c
894 c = (l >> 28) + (m >> 14) + xh * h
895 w[j++] = l & 0xfffffff
3af2954a 896 }
ab78acc6
IC
897 return c
898}
3af2954a 899
ab78acc6
IC
900// wtf?
901BigInteger.prototype.am = am1
902dbits = 26
3af2954a 903
ab78acc6
IC
904BigInteger.prototype.DB = dbits
905BigInteger.prototype.DM = ((1 << dbits) - 1)
906var DV = BigInteger.prototype.DV = (1 << dbits)
3af2954a 907
ab78acc6
IC
908var BI_FP = 52
909BigInteger.prototype.FV = Math.pow(2, BI_FP)
910BigInteger.prototype.F1 = BI_FP - dbits
911BigInteger.prototype.F2 = 2 * dbits - BI_FP
3af2954a 912
ab78acc6
IC
913// Digit conversions
914var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz"
915var BI_RC = new Array()
916var rr, vv
917rr = "0".charCodeAt(0)
918for (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv
919rr = "a".charCodeAt(0)
920for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv
921rr = "A".charCodeAt(0)
922for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv
3af2954a 923
ab78acc6
IC
924function int2char(n) {
925 return BI_RM.charAt(n)
926}
3af2954a 927
ab78acc6
IC
928function intAt(s, i) {
929 var c = BI_RC[s.charCodeAt(i)]
930 return (c == null) ? -1 : c
931}
3af2954a 932
ab78acc6
IC
933// (protected) copy this to r
934function bnpCopyTo(r) {
935 for (var i = this.t - 1; i >= 0; --i) r[i] = this[i]
936 r.t = this.t
937 r.s = this.s
938}
3af2954a 939
ab78acc6
IC
940// (protected) set from integer value x, -DV <= x < DV
941function bnpFromInt(x) {
942 this.t = 1
943 this.s = (x < 0) ? -1 : 0
944 if (x > 0) this[0] = x
945 else if (x < -1) this[0] = x + DV
946 else this.t = 0
947}
3af2954a 948
ab78acc6
IC
949// return bigint initialized to value
950function nbv(i) {
951 var r = new BigInteger()
952 r.fromInt(i)
953 return r
954}
3af2954a 955
ab78acc6
IC
956// (protected) set from string and radix
957function bnpFromString(s, b) {
958 var self = this
3af2954a 959
ab78acc6
IC
960 var k
961 if (b == 16) k = 4
962 else if (b == 8) k = 3
963 else if (b == 256) k = 8; // byte array
964 else if (b == 2) k = 1
965 else if (b == 32) k = 5
966 else if (b == 4) k = 2
967 else {
968 self.fromRadix(s, b)
969 return
970 }
971 self.t = 0
972 self.s = 0
973 var i = s.length,
974 mi = false,
975 sh = 0
976 while (--i >= 0) {
977 var x = (k == 8) ? s[i] & 0xff : intAt(s, i)
978 if (x < 0) {
979 if (s.charAt(i) == "-") mi = true
980 continue
981 }
982 mi = false
983 if (sh == 0)
984 self[self.t++] = x
985 else if (sh + k > self.DB) {
986 self[self.t - 1] |= (x & ((1 << (self.DB - sh)) - 1)) << sh
987 self[self.t++] = (x >> (self.DB - sh))
988 } else
989 self[self.t - 1] |= x << sh
990 sh += k
991 if (sh >= self.DB) sh -= self.DB
992 }
993 if (k == 8 && (s[0] & 0x80) != 0) {
994 self.s = -1
995 if (sh > 0) self[self.t - 1] |= ((1 << (self.DB - sh)) - 1) << sh
996 }
997 self.clamp()
998 if (mi) BigInteger.ZERO.subTo(self, self)
999}
3af2954a 1000
ab78acc6
IC
1001// (protected) clamp off excess high words
1002function bnpClamp() {
1003 var c = this.s & this.DM
1004 while (this.t > 0 && this[this.t - 1] == c)--this.t
1005}
3af2954a 1006
ab78acc6
IC
1007// (public) return string representation in given radix
1008function bnToString(b) {
1009 var self = this
1010 if (self.s < 0) return "-" + self.negate()
1011 .toString(b)
1012 var k
1013 if (b == 16) k = 4
1014 else if (b == 8) k = 3
1015 else if (b == 2) k = 1
1016 else if (b == 32) k = 5
1017 else if (b == 4) k = 2
1018 else return self.toRadix(b)
1019 var km = (1 << k) - 1,
1020 d, m = false,
1021 r = "",
1022 i = self.t
1023 var p = self.DB - (i * self.DB) % k
1024 if (i-- > 0) {
1025 if (p < self.DB && (d = self[i] >> p) > 0) {
1026 m = true
1027 r = int2char(d)
1028 }
1029 while (i >= 0) {
1030 if (p < k) {
1031 d = (self[i] & ((1 << p) - 1)) << (k - p)
1032 d |= self[--i] >> (p += self.DB - k)
1033 } else {
1034 d = (self[i] >> (p -= k)) & km
1035 if (p <= 0) {
1036 p += self.DB
1037 --i
1038 }
1039 }
1040 if (d > 0) m = true
1041 if (m) r += int2char(d)
3af2954a 1042 }
3af2954a 1043 }
ab78acc6
IC
1044 return m ? r : "0"
1045}
3af2954a 1046
ab78acc6
IC
1047// (public) -this
1048function bnNegate() {
1049 var r = new BigInteger()
1050 BigInteger.ZERO.subTo(this, r)
1051 return r
1052}
3af2954a 1053
ab78acc6
IC
1054// (public) |this|
1055function bnAbs() {
1056 return (this.s < 0) ? this.negate() : this
1057}
3af2954a 1058
ab78acc6
IC
1059// (public) return + if this > a, - if this < a, 0 if equal
1060function bnCompareTo(a) {
1061 var r = this.s - a.s
1062 if (r != 0) return r
1063 var i = this.t
1064 r = i - a.t
1065 if (r != 0) return (this.s < 0) ? -r : r
1066 while (--i >= 0)
1067 if ((r = this[i] - a[i]) != 0) return r
1068 return 0
1069}
3af2954a 1070
ab78acc6
IC
1071// returns bit length of the integer x
1072function nbits(x) {
1073 var r = 1,
1074 t
1075 if ((t = x >>> 16) != 0) {
1076 x = t
1077 r += 16
1078 }
1079 if ((t = x >> 8) != 0) {
1080 x = t
1081 r += 8
1082 }
1083 if ((t = x >> 4) != 0) {
1084 x = t
1085 r += 4
1086 }
1087 if ((t = x >> 2) != 0) {
1088 x = t
1089 r += 2
3af2954a 1090 }
ab78acc6
IC
1091 if ((t = x >> 1) != 0) {
1092 x = t
1093 r += 1
1094 }
1095 return r
1096}
1097
1098// (public) return the number of bits in "this"
1099function bnBitLength() {
1100 if (this.t <= 0) return 0
1101 return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM))
1102}
3af2954a 1103
ab78acc6
IC
1104// (public) return the number of bytes in "this"
1105function bnByteLength() {
1106 return this.bitLength() >> 3
1107}
3af2954a 1108
ab78acc6
IC
1109// (protected) r = this << n*DB
1110function bnpDLShiftTo(n, r) {
1111 var i
1112 for (i = this.t - 1; i >= 0; --i) r[i + n] = this[i]
1113 for (i = n - 1; i >= 0; --i) r[i] = 0
1114 r.t = this.t + n
1115 r.s = this.s
1116}
3af2954a 1117
ab78acc6
IC
1118// (protected) r = this >> n*DB
1119function bnpDRShiftTo(n, r) {
1120 for (var i = n; i < this.t; ++i) r[i - n] = this[i]
1121 r.t = Math.max(this.t - n, 0)
1122 r.s = this.s
1123}
3af2954a 1124
ab78acc6
IC
1125// (protected) r = this << n
1126function bnpLShiftTo(n, r) {
1127 var self = this
1128 var bs = n % self.DB
1129 var cbs = self.DB - bs
1130 var bm = (1 << cbs) - 1
1131 var ds = Math.floor(n / self.DB),
1132 c = (self.s << bs) & self.DM,
1133 i
1134 for (i = self.t - 1; i >= 0; --i) {
1135 r[i + ds + 1] = (self[i] >> cbs) | c
1136 c = (self[i] & bm) << bs
1137 }
1138 for (i = ds - 1; i >= 0; --i) r[i] = 0
1139 r[ds] = c
1140 r.t = self.t + ds + 1
1141 r.s = self.s
1142 r.clamp()
1143}
3af2954a 1144
ab78acc6
IC
1145// (protected) r = this >> n
1146function bnpRShiftTo(n, r) {
1147 var self = this
1148 r.s = self.s
1149 var ds = Math.floor(n / self.DB)
1150 if (ds >= self.t) {
1151 r.t = 0
1152 return
3af2954a 1153 }
ab78acc6
IC
1154 var bs = n % self.DB
1155 var cbs = self.DB - bs
1156 var bm = (1 << bs) - 1
1157 r[0] = self[ds] >> bs
1158 for (var i = ds + 1; i < self.t; ++i) {
1159 r[i - ds - 1] |= (self[i] & bm) << cbs
1160 r[i - ds] = self[i] >> bs
1161 }
1162 if (bs > 0) r[self.t - ds - 1] |= (self.s & bm) << cbs
1163 r.t = self.t - ds
1164 r.clamp()
1165}
3af2954a 1166
ab78acc6
IC
1167// (protected) r = this - a
1168function bnpSubTo(a, r) {
1169 var self = this
1170 var i = 0,
1171 c = 0,
1172 m = Math.min(a.t, self.t)
1173 while (i < m) {
1174 c += self[i] - a[i]
1175 r[i++] = c & self.DM
1176 c >>= self.DB
1177 }
1178 if (a.t < self.t) {
1179 c -= a.s
1180 while (i < self.t) {
1181 c += self[i]
1182 r[i++] = c & self.DM
1183 c >>= self.DB
1184 }
1185 c += self.s
1186 } else {
1187 c += self.s
1188 while (i < a.t) {
1189 c -= a[i]
1190 r[i++] = c & self.DM
1191 c >>= self.DB
1192 }
1193 c -= a.s
1194 }
1195 r.s = (c < 0) ? -1 : 0
1196 if (c < -1) r[i++] = self.DV + c
1197 else if (c > 0) r[i++] = c
1198 r.t = i
1199 r.clamp()
1200}
3af2954a 1201
ab78acc6
IC
1202// (protected) r = this * a, r != this,a (HAC 14.12)
1203// "this" should be the larger one if appropriate.
1204function bnpMultiplyTo(a, r) {
1205 var x = this.abs(),
1206 y = a.abs()
1207 var i = x.t
1208 r.t = i + y.t
1209 while (--i >= 0) r[i] = 0
1210 for (i = 0; i < y.t; ++i) r[i + x.t] = x.am(0, y[i], r, i, 0, x.t)
1211 r.s = 0
1212 r.clamp()
1213 if (this.s != a.s) BigInteger.ZERO.subTo(r, r)
1214}
3af2954a 1215
ab78acc6
IC
1216// (protected) r = this^2, r != this (HAC 14.16)
1217function bnpSquareTo(r) {
1218 var x = this.abs()
1219 var i = r.t = 2 * x.t
1220 while (--i >= 0) r[i] = 0
1221 for (i = 0; i < x.t - 1; ++i) {
1222 var c = x.am(i, x[i], r, 2 * i, 0, 1)
1223 if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {
1224 r[i + x.t] -= x.DV
1225 r[i + x.t + 1] = 1
1226 }
1227 }
1228 if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1)
1229 r.s = 0
1230 r.clamp()
1231}
3af2954a 1232
ab78acc6
IC
1233// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
1234// r != q, this != m. q or r may be null.
1235function bnpDivRemTo(m, q, r) {
1236 var self = this
1237 var pm = m.abs()
1238 if (pm.t <= 0) return
1239 var pt = self.abs()
1240 if (pt.t < pm.t) {
1241 if (q != null) q.fromInt(0)
1242 if (r != null) self.copyTo(r)
1243 return
1244 }
1245 if (r == null) r = new BigInteger()
1246 var y = new BigInteger(),
1247 ts = self.s,
1248 ms = m.s
1249 var nsh = self.DB - nbits(pm[pm.t - 1]); // normalize modulus
1250 if (nsh > 0) {
1251 pm.lShiftTo(nsh, y)
1252 pt.lShiftTo(nsh, r)
1253 } else {
1254 pm.copyTo(y)
1255 pt.copyTo(r)
1256 }
1257 var ys = y.t
1258 var y0 = y[ys - 1]
1259 if (y0 == 0) return
1260 var yt = y0 * (1 << self.F1) + ((ys > 1) ? y[ys - 2] >> self.F2 : 0)
1261 var d1 = self.FV / yt,
1262 d2 = (1 << self.F1) / yt,
1263 e = 1 << self.F2
1264 var i = r.t,
1265 j = i - ys,
1266 t = (q == null) ? new BigInteger() : q
1267 y.dlShiftTo(j, t)
1268 if (r.compareTo(t) >= 0) {
1269 r[r.t++] = 1
1270 r.subTo(t, r)
1271 }
1272 BigInteger.ONE.dlShiftTo(ys, t)
1273 t.subTo(y, y); // "negative" y so we can replace sub with am later
1274 while (y.t < ys) y[y.t++] = 0
1275 while (--j >= 0) {
1276 // Estimate quotient digit
1277 var qd = (r[--i] == y0) ? self.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2)
1278 if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out
1279 y.dlShiftTo(j, t)
1280 r.subTo(t, r)
1281 while (r[i] < --qd) r.subTo(t, r)
3af2954a 1282 }
ab78acc6
IC
1283 }
1284 if (q != null) {
1285 r.drShiftTo(ys, q)
1286 if (ts != ms) BigInteger.ZERO.subTo(q, q)
1287 }
1288 r.t = ys
1289 r.clamp()
1290 if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder
1291 if (ts < 0) BigInteger.ZERO.subTo(r, r)
1292}
3af2954a 1293
ab78acc6
IC
1294// (public) this mod a
1295function bnMod(a) {
1296 var r = new BigInteger()
1297 this.abs()
1298 .divRemTo(a, null, r)
1299 if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r)
1300 return r
1301}
3af2954a 1302
ab78acc6
IC
1303// Modular reduction using "classic" algorithm
1304function Classic(m) {
1305 this.m = m
1306}
3af2954a 1307
ab78acc6
IC
1308function cConvert(x) {
1309 if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m)
1310 else return x
1311}
1312
1313function cRevert(x) {
1314 return x
1315}
3af2954a 1316
ab78acc6
IC
1317function cReduce(x) {
1318 x.divRemTo(this.m, null, x)
1319}
3af2954a 1320
ab78acc6
IC
1321function cMulTo(x, y, r) {
1322 x.multiplyTo(y, r)
1323 this.reduce(r)
1324}
3af2954a 1325
ab78acc6
IC
1326function cSqrTo(x, r) {
1327 x.squareTo(r)
1328 this.reduce(r)
1329}
3af2954a 1330
ab78acc6
IC
1331Classic.prototype.convert = cConvert
1332Classic.prototype.revert = cRevert
1333Classic.prototype.reduce = cReduce
1334Classic.prototype.mulTo = cMulTo
1335Classic.prototype.sqrTo = cSqrTo
3af2954a 1336
ab78acc6
IC
1337// (protected) return "-1/this % 2^DB"; useful for Mont. reduction
1338// justification:
1339// xy == 1 (mod m)
1340// xy = 1+km
1341// xy(2-xy) = (1+km)(1-km)
1342// x[y(2-xy)] = 1-k^2m^2
1343// x[y(2-xy)] == 1 (mod m^2)
1344// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
1345// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
1346// JS multiply "overflows" differently from C/C++, so care is needed here.
1347function bnpInvDigit() {
1348 if (this.t < 1) return 0
1349 var x = this[0]
1350 if ((x & 1) == 0) return 0
1351 var y = x & 3; // y == 1/x mod 2^2
1352 y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4
1353 y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8
1354 y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16
1355 // last step - calculate inverse mod DV directly
1356 // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
1357 y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits
1358 // we really want the negative inverse, and -DV < y < DV
1359 return (y > 0) ? this.DV - y : -y
1360}
3af2954a 1361
ab78acc6
IC
1362// Montgomery reduction
1363function Montgomery(m) {
1364 this.m = m
1365 this.mp = m.invDigit()
1366 this.mpl = this.mp & 0x7fff
1367 this.mph = this.mp >> 15
1368 this.um = (1 << (m.DB - 15)) - 1
1369 this.mt2 = 2 * m.t
1370}
3af2954a 1371
ab78acc6
IC
1372// xR mod m
1373function montConvert(x) {
1374 var r = new BigInteger()
1375 x.abs()
1376 .dlShiftTo(this.m.t, r)
1377 r.divRemTo(this.m, null, r)
1378 if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r)
1379 return r
1380}
3af2954a 1381
ab78acc6
IC
1382// x/R mod m
1383function montRevert(x) {
1384 var r = new BigInteger()
1385 x.copyTo(r)
1386 this.reduce(r)
1387 return r
1388}
3af2954a 1389
ab78acc6
IC
1390// x = x/R mod m (HAC 14.32)
1391function montReduce(x) {
1392 while (x.t <= this.mt2) // pad x so am has enough room later
1393 x[x.t++] = 0
1394 for (var i = 0; i < this.m.t; ++i) {
1395 // faster way of calculating u0 = x[i]*mp mod DV
1396 var j = x[i] & 0x7fff
1397 var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM
1398 // use am to combine the multiply-shift-add into one call
1399 j = i + this.m.t
1400 x[j] += this.m.am(0, u0, x, i, 0, this.m.t)
1401 // propagate carry
1402 while (x[j] >= x.DV) {
1403 x[j] -= x.DV
1404 x[++j]++
1405 }
1406 }
1407 x.clamp()
1408 x.drShiftTo(this.m.t, x)
1409 if (x.compareTo(this.m) >= 0) x.subTo(this.m, x)
1410}
3af2954a 1411
ab78acc6
IC
1412// r = "x^2/R mod m"; x != r
1413function montSqrTo(x, r) {
1414 x.squareTo(r)
1415 this.reduce(r)
1416}
3af2954a 1417
ab78acc6
IC
1418// r = "xy/R mod m"; x,y != r
1419function montMulTo(x, y, r) {
1420 x.multiplyTo(y, r)
1421 this.reduce(r)
1422}
3af2954a 1423
ab78acc6
IC
1424Montgomery.prototype.convert = montConvert
1425Montgomery.prototype.revert = montRevert
1426Montgomery.prototype.reduce = montReduce
1427Montgomery.prototype.mulTo = montMulTo
1428Montgomery.prototype.sqrTo = montSqrTo
3af2954a 1429
ab78acc6
IC
1430// (protected) true iff this is even
1431function bnpIsEven() {
1432 return ((this.t > 0) ? (this[0] & 1) : this.s) == 0
1433}
3af2954a 1434
ab78acc6
IC
1435// (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
1436function bnpExp(e, z) {
1437 if (e > 0xffffffff || e < 1) return BigInteger.ONE
1438 var r = new BigInteger(),
1439 r2 = new BigInteger(),
1440 g = z.convert(this),
1441 i = nbits(e) - 1
1442 g.copyTo(r)
1443 while (--i >= 0) {
1444 z.sqrTo(r, r2)
1445 if ((e & (1 << i)) > 0) z.mulTo(r2, g, r)
1446 else {
1447 var t = r
1448 r = r2
1449 r2 = t
3af2954a 1450 }
3af2954a 1451 }
ab78acc6
IC
1452 return z.revert(r)
1453}
3af2954a 1454
ab78acc6
IC
1455// (public) this^e % m, 0 <= e < 2^32
1456function bnModPowInt(e, m) {
1457 var z
1458 if (e < 256 || m.isEven()) z = new Classic(m)
1459 else z = new Montgomery(m)
1460 return this.exp(e, z)
1461}
3af2954a 1462
ab78acc6
IC
1463// protected
1464proto.copyTo = bnpCopyTo
1465proto.fromInt = bnpFromInt
1466proto.fromString = bnpFromString
1467proto.clamp = bnpClamp
1468proto.dlShiftTo = bnpDLShiftTo
1469proto.drShiftTo = bnpDRShiftTo
1470proto.lShiftTo = bnpLShiftTo
1471proto.rShiftTo = bnpRShiftTo
1472proto.subTo = bnpSubTo
1473proto.multiplyTo = bnpMultiplyTo
1474proto.squareTo = bnpSquareTo
1475proto.divRemTo = bnpDivRemTo
1476proto.invDigit = bnpInvDigit
1477proto.isEven = bnpIsEven
1478proto.exp = bnpExp
3af2954a 1479
ab78acc6
IC
1480// public
1481proto.toString = bnToString
1482proto.negate = bnNegate
1483proto.abs = bnAbs
1484proto.compareTo = bnCompareTo
1485proto.bitLength = bnBitLength
1486proto.byteLength = bnByteLength
1487proto.mod = bnMod
1488proto.modPowInt = bnModPowInt
3af2954a 1489
ab78acc6
IC
1490// (public)
1491function bnClone() {
1492 var r = new BigInteger()
1493 this.copyTo(r)
1494 return r
1495}
3af2954a 1496
ab78acc6
IC
1497// (public) return value as integer
1498function bnIntValue() {
1499 if (this.s < 0) {
1500 if (this.t == 1) return this[0] - this.DV
1501 else if (this.t == 0) return -1
1502 } else if (this.t == 1) return this[0]
1503 else if (this.t == 0) return 0
1504 // assumes 16 < DB < 32
1505 return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0]
1506}
3af2954a 1507
ab78acc6
IC
1508// (public) return value as byte
1509function bnByteValue() {
1510 return (this.t == 0) ? this.s : (this[0] << 24) >> 24
1511}
3af2954a 1512
ab78acc6
IC
1513// (public) return value as short (assumes DB>=16)
1514function bnShortValue() {
1515 return (this.t == 0) ? this.s : (this[0] << 16) >> 16
1516}
3af2954a 1517
ab78acc6
IC
1518// (protected) return x s.t. r^x < DV
1519function bnpChunkSize(r) {
1520 return Math.floor(Math.LN2 * this.DB / Math.log(r))
1521}
3af2954a 1522
ab78acc6
IC
1523// (public) 0 if this == 0, 1 if this > 0
1524function bnSigNum() {
1525 if (this.s < 0) return -1
1526 else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0
1527 else return 1
1528}
3af2954a 1529
ab78acc6
IC
1530// (protected) convert to radix string
1531function bnpToRadix(b) {
1532 if (b == null) b = 10
1533 if (this.signum() == 0 || b < 2 || b > 36) return "0"
1534 var cs = this.chunkSize(b)
1535 var a = Math.pow(b, cs)
1536 var d = nbv(a),
1537 y = new BigInteger(),
1538 z = new BigInteger(),
1539 r = ""
1540 this.divRemTo(d, y, z)
1541 while (y.signum() > 0) {
1542 r = (a + z.intValue())
1543 .toString(b)
1544 .substr(1) + r
1545 y.divRemTo(d, y, z)
1546 }
1547 return z.intValue()
1548 .toString(b) + r
1549}
3af2954a 1550
ab78acc6
IC
1551// (protected) convert from radix string
1552function bnpFromRadix(s, b) {
1553 var self = this
1554 self.fromInt(0)
1555 if (b == null) b = 10
1556 var cs = self.chunkSize(b)
1557 var d = Math.pow(b, cs),
1558 mi = false,
1559 j = 0,
1560 w = 0
1561 for (var i = 0; i < s.length; ++i) {
1562 var x = intAt(s, i)
1563 if (x < 0) {
1564 if (s.charAt(i) == "-" && self.signum() == 0) mi = true
1565 continue
1566 }
1567 w = b * w + x
1568 if (++j >= cs) {
1569 self.dMultiply(d)
1570 self.dAddOffset(w, 0)
1571 j = 0
1572 w = 0
1573 }
1574 }
1575 if (j > 0) {
1576 self.dMultiply(Math.pow(b, j))
1577 self.dAddOffset(w, 0)
1578 }
1579 if (mi) BigInteger.ZERO.subTo(self, self)
1580}
3af2954a 1581
ab78acc6
IC
1582// (protected) alternate constructor
1583function bnpFromNumber(a, b, c) {
1584 var self = this
1585 if ("number" == typeof b) {
1586 // new BigInteger(int,int,RNG)
1587 if (a < 2) self.fromInt(1)
1588 else {
1589 self.fromNumber(a, c)
1590 if (!self.testBit(a - 1)) // force MSB set
1591 self.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, self)
1592 if (self.isEven()) self.dAddOffset(1, 0); // force odd
1593 while (!self.isProbablePrime(b)) {
1594 self.dAddOffset(2, 0)
1595 if (self.bitLength() > a) self.subTo(BigInteger.ONE.shiftLeft(a - 1), self)
1596 }
1597 }
1598 } else {
1599 // new BigInteger(int,RNG)
1600 var x = new Array(),
1601 t = a & 7
1602 x.length = (a >> 3) + 1
1603 b.nextBytes(x)
1604 if (t > 0) x[0] &= ((1 << t) - 1)
1605 else x[0] = 0
1606 self.fromString(x, 256)
3af2954a 1607 }
ab78acc6 1608}
3af2954a 1609
ab78acc6
IC
1610// (public) convert to bigendian byte array
1611function bnToByteArray() {
1612 var self = this
1613 var i = self.t,
1614 r = new Array()
1615 r[0] = self.s
1616 var p = self.DB - (i * self.DB) % 8,
1617 d, k = 0
1618 if (i-- > 0) {
1619 if (p < self.DB && (d = self[i] >> p) != (self.s & self.DM) >> p)
1620 r[k++] = d | (self.s << (self.DB - p))
1621 while (i >= 0) {
1622 if (p < 8) {
1623 d = (self[i] & ((1 << p) - 1)) << (8 - p)
1624 d |= self[--i] >> (p += self.DB - 8)
1625 } else {
1626 d = (self[i] >> (p -= 8)) & 0xff
1627 if (p <= 0) {
1628 p += self.DB
1629 --i
1630 }
1631 }
1632 if ((d & 0x80) != 0) d |= -256
1633 if (k === 0 && (self.s & 0x80) != (d & 0x80))++k
1634 if (k > 0 || d != self.s) r[k++] = d
3af2954a 1635 }
3af2954a 1636 }
ab78acc6
IC
1637 return r
1638}
3af2954a 1639
ab78acc6
IC
1640function bnEquals(a) {
1641 return (this.compareTo(a) == 0)
1642}
3af2954a 1643
ab78acc6
IC
1644function bnMin(a) {
1645 return (this.compareTo(a) < 0) ? this : a
1646}
3af2954a 1647
ab78acc6
IC
1648function bnMax(a) {
1649 return (this.compareTo(a) > 0) ? this : a
1650}
3af2954a 1651
ab78acc6
IC
1652// (protected) r = this op a (bitwise)
1653function bnpBitwiseTo(a, op, r) {
1654 var self = this
1655 var i, f, m = Math.min(a.t, self.t)
1656 for (i = 0; i < m; ++i) r[i] = op(self[i], a[i])
1657 if (a.t < self.t) {
1658 f = a.s & self.DM
1659 for (i = m; i < self.t; ++i) r[i] = op(self[i], f)
1660 r.t = self.t
1661 } else {
1662 f = self.s & self.DM
1663 for (i = m; i < a.t; ++i) r[i] = op(f, a[i])
1664 r.t = a.t
3af2954a 1665 }
ab78acc6
IC
1666 r.s = op(self.s, a.s)
1667 r.clamp()
1668}
3af2954a 1669
ab78acc6
IC
1670// (public) this & a
1671function op_and(x, y) {
1672 return x & y
1673}
3af2954a 1674
ab78acc6
IC
1675function bnAnd(a) {
1676 var r = new BigInteger()
1677 this.bitwiseTo(a, op_and, r)
1678 return r
1679}
3af2954a 1680
ab78acc6
IC
1681// (public) this | a
1682function op_or(x, y) {
1683 return x | y
1684}
3af2954a 1685
ab78acc6
IC
1686function bnOr(a) {
1687 var r = new BigInteger()
1688 this.bitwiseTo(a, op_or, r)
1689 return r
1690}
3af2954a 1691
ab78acc6
IC
1692// (public) this ^ a
1693function op_xor(x, y) {
1694 return x ^ y
1695}
3af2954a 1696
ab78acc6
IC
1697function bnXor(a) {
1698 var r = new BigInteger()
1699 this.bitwiseTo(a, op_xor, r)
1700 return r
1701}
3af2954a 1702
ab78acc6
IC
1703// (public) this & ~a
1704function op_andnot(x, y) {
1705 return x & ~y
1706}
3af2954a 1707
ab78acc6
IC
1708function bnAndNot(a) {
1709 var r = new BigInteger()
1710 this.bitwiseTo(a, op_andnot, r)
1711 return r
1712}
3af2954a 1713
ab78acc6
IC
1714// (public) ~this
1715function bnNot() {
1716 var r = new BigInteger()
1717 for (var i = 0; i < this.t; ++i) r[i] = this.DM & ~this[i]
1718 r.t = this.t
1719 r.s = ~this.s
1720 return r
1721}
3af2954a 1722
ab78acc6
IC
1723// (public) this << n
1724function bnShiftLeft(n) {
1725 var r = new BigInteger()
1726 if (n < 0) this.rShiftTo(-n, r)
1727 else this.lShiftTo(n, r)
1728 return r
1729}
3af2954a 1730
ab78acc6
IC
1731// (public) this >> n
1732function bnShiftRight(n) {
1733 var r = new BigInteger()
1734 if (n < 0) this.lShiftTo(-n, r)
1735 else this.rShiftTo(n, r)
1736 return r
1737}
3af2954a 1738
ab78acc6
IC
1739// return index of lowest 1-bit in x, x < 2^31
1740function lbit(x) {
1741 if (x == 0) return -1
1742 var r = 0
1743 if ((x & 0xffff) == 0) {
1744 x >>= 16
1745 r += 16
3af2954a 1746 }
ab78acc6
IC
1747 if ((x & 0xff) == 0) {
1748 x >>= 8
1749 r += 8
1750 }
1751 if ((x & 0xf) == 0) {
1752 x >>= 4
1753 r += 4
1754 }
1755 if ((x & 3) == 0) {
1756 x >>= 2
1757 r += 2
1758 }
1759 if ((x & 1) == 0)++r
1760 return r
1761}
3af2954a 1762
ab78acc6
IC
1763// (public) returns index of lowest 1-bit (or -1 if none)
1764function bnGetLowestSetBit() {
1765 for (var i = 0; i < this.t; ++i)
1766 if (this[i] != 0) return i * this.DB + lbit(this[i])
1767 if (this.s < 0) return this.t * this.DB
1768 return -1
1769}
3af2954a 1770
ab78acc6
IC
1771// return number of 1 bits in x
1772function cbit(x) {
1773 var r = 0
1774 while (x != 0) {
1775 x &= x - 1
1776 ++r
3af2954a 1777 }
ab78acc6
IC
1778 return r
1779}
3af2954a 1780
ab78acc6
IC
1781// (public) return number of set bits
1782function bnBitCount() {
1783 var r = 0,
1784 x = this.s & this.DM
1785 for (var i = 0; i < this.t; ++i) r += cbit(this[i] ^ x)
1786 return r
1787}
1788
1789// (public) true iff nth bit is set
1790function bnTestBit(n) {
1791 var j = Math.floor(n / this.DB)
1792 if (j >= this.t) return (this.s != 0)
1793 return ((this[j] & (1 << (n % this.DB))) != 0)
1794}
3af2954a 1795
ab78acc6
IC
1796// (protected) this op (1<<n)
1797function bnpChangeBit(n, op) {
1798 var r = BigInteger.ONE.shiftLeft(n)
1799 this.bitwiseTo(r, op, r)
1800 return r
1801}
3af2954a 1802
ab78acc6
IC
1803// (public) this | (1<<n)
1804function bnSetBit(n) {
1805 return this.changeBit(n, op_or)
1806}
3af2954a 1807
ab78acc6
IC
1808// (public) this & ~(1<<n)
1809function bnClearBit(n) {
1810 return this.changeBit(n, op_andnot)
1811}
3af2954a 1812
ab78acc6
IC
1813// (public) this ^ (1<<n)
1814function bnFlipBit(n) {
1815 return this.changeBit(n, op_xor)
1816}
3af2954a 1817
ab78acc6
IC
1818// (protected) r = this + a
1819function bnpAddTo(a, r) {
1820 var self = this
3af2954a 1821
ab78acc6
IC
1822 var i = 0,
1823 c = 0,
1824 m = Math.min(a.t, self.t)
1825 while (i < m) {
1826 c += self[i] + a[i]
1827 r[i++] = c & self.DM
1828 c >>= self.DB
1829 }
1830 if (a.t < self.t) {
1831 c += a.s
1832 while (i < self.t) {
1833 c += self[i]
1834 r[i++] = c & self.DM
1835 c >>= self.DB
1836 }
1837 c += self.s
1838 } else {
1839 c += self.s
1840 while (i < a.t) {
1841 c += a[i]
1842 r[i++] = c & self.DM
1843 c >>= self.DB
1844 }
1845 c += a.s
1846 }
1847 r.s = (c < 0) ? -1 : 0
1848 if (c > 0) r[i++] = c
1849 else if (c < -1) r[i++] = self.DV + c
1850 r.t = i
1851 r.clamp()
1852}
3af2954a 1853
ab78acc6
IC
1854// (public) this + a
1855function bnAdd(a) {
1856 var r = new BigInteger()
1857 this.addTo(a, r)
1858 return r
1859}
3af2954a 1860
ab78acc6
IC
1861// (public) this - a
1862function bnSubtract(a) {
1863 var r = new BigInteger()
1864 this.subTo(a, r)
1865 return r
1866}
3af2954a 1867
ab78acc6
IC
1868// (public) this * a
1869function bnMultiply(a) {
1870 var r = new BigInteger()
1871 this.multiplyTo(a, r)
1872 return r
1873}
3af2954a 1874
ab78acc6
IC
1875// (public) this^2
1876function bnSquare() {
1877 var r = new BigInteger()
1878 this.squareTo(r)
1879 return r
1880}
3af2954a 1881
ab78acc6
IC
1882// (public) this / a
1883function bnDivide(a) {
1884 var r = new BigInteger()
1885 this.divRemTo(a, r, null)
1886 return r
1887}
3af2954a 1888
ab78acc6
IC
1889// (public) this % a
1890function bnRemainder(a) {
1891 var r = new BigInteger()
1892 this.divRemTo(a, null, r)
1893 return r
1894}
3af2954a 1895
ab78acc6
IC
1896// (public) [this/a,this%a]
1897function bnDivideAndRemainder(a) {
1898 var q = new BigInteger(),
1899 r = new BigInteger()
1900 this.divRemTo(a, q, r)
1901 return new Array(q, r)
1902}
3af2954a 1903
ab78acc6
IC
1904// (protected) this *= n, this >= 0, 1 < n < DV
1905function bnpDMultiply(n) {
1906 this[this.t] = this.am(0, n - 1, this, 0, 0, this.t)
1907 ++this.t
1908 this.clamp()
1909}
3af2954a 1910
ab78acc6
IC
1911// (protected) this += n << w words, this >= 0
1912function bnpDAddOffset(n, w) {
1913 if (n == 0) return
1914 while (this.t <= w) this[this.t++] = 0
1915 this[w] += n
1916 while (this[w] >= this.DV) {
1917 this[w] -= this.DV
1918 if (++w >= this.t) this[this.t++] = 0
1919 ++this[w]
3af2954a 1920 }
ab78acc6 1921}
3af2954a 1922
ab78acc6
IC
1923// A "null" reducer
1924function NullExp() {}
3af2954a 1925
ab78acc6
IC
1926function nNop(x) {
1927 return x
1928}
3af2954a 1929
ab78acc6
IC
1930function nMulTo(x, y, r) {
1931 x.multiplyTo(y, r)
1932}
3af2954a 1933
ab78acc6
IC
1934function nSqrTo(x, r) {
1935 x.squareTo(r)
1936}
3af2954a 1937
ab78acc6
IC
1938NullExp.prototype.convert = nNop
1939NullExp.prototype.revert = nNop
1940NullExp.prototype.mulTo = nMulTo
1941NullExp.prototype.sqrTo = nSqrTo
3af2954a 1942
ab78acc6
IC
1943// (public) this^e
1944function bnPow(e) {
1945 return this.exp(e, new NullExp())
1946}
3af2954a 1947
ab78acc6
IC
1948// (protected) r = lower n words of "this * a", a.t <= n
1949// "this" should be the larger one if appropriate.
1950function bnpMultiplyLowerTo(a, n, r) {
1951 var i = Math.min(this.t + a.t, n)
1952 r.s = 0; // assumes a,this >= 0
1953 r.t = i
1954 while (i > 0) r[--i] = 0
1955 var j
1956 for (j = r.t - this.t; i < j; ++i) r[i + this.t] = this.am(0, a[i], r, i, 0, this.t)
1957 for (j = Math.min(a.t, n); i < j; ++i) this.am(0, a[i], r, i, 0, n - i)
1958 r.clamp()
1959}
3af2954a 1960
ab78acc6
IC
1961// (protected) r = "this * a" without lower n words, n > 0
1962// "this" should be the larger one if appropriate.
1963function bnpMultiplyUpperTo(a, n, r) {
1964 --n
1965 var i = r.t = this.t + a.t - n
1966 r.s = 0; // assumes a,this >= 0
1967 while (--i >= 0) r[i] = 0
1968 for (i = Math.max(n - this.t, 0); i < a.t; ++i)
1969 r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n)
1970 r.clamp()
1971 r.drShiftTo(1, r)
1972}
3af2954a 1973
ab78acc6
IC
1974// Barrett modular reduction
1975function Barrett(m) {
1976 // setup Barrett
1977 this.r2 = new BigInteger()
1978 this.q3 = new BigInteger()
1979 BigInteger.ONE.dlShiftTo(2 * m.t, this.r2)
1980 this.mu = this.r2.divide(m)
1981 this.m = m
1982}
3af2954a 1983
ab78acc6
IC
1984function barrettConvert(x) {
1985 if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m)
1986 else if (x.compareTo(this.m) < 0) return x
1987 else {
1988 var r = new BigInteger()
1989 x.copyTo(r)
1990 this.reduce(r)
1991 return r
3af2954a 1992 }
ab78acc6 1993}
3af2954a 1994
ab78acc6
IC
1995function barrettRevert(x) {
1996 return x
1997}
3af2954a 1998
ab78acc6
IC
1999// x = x mod m (HAC 14.42)
2000function barrettReduce(x) {
2001 var self = this
2002 x.drShiftTo(self.m.t - 1, self.r2)
2003 if (x.t > self.m.t + 1) {
2004 x.t = self.m.t + 1
2005 x.clamp()
3af2954a 2006 }
ab78acc6
IC
2007 self.mu.multiplyUpperTo(self.r2, self.m.t + 1, self.q3)
2008 self.m.multiplyLowerTo(self.q3, self.m.t + 1, self.r2)
2009 while (x.compareTo(self.r2) < 0) x.dAddOffset(1, self.m.t + 1)
2010 x.subTo(self.r2, x)
2011 while (x.compareTo(self.m) >= 0) x.subTo(self.m, x)
2012}
3af2954a 2013
ab78acc6
IC
2014// r = x^2 mod m; x != r
2015function barrettSqrTo(x, r) {
2016 x.squareTo(r)
2017 this.reduce(r)
2018}
3af2954a 2019
ab78acc6
IC
2020// r = x*y mod m; x,y != r
2021function barrettMulTo(x, y, r) {
2022 x.multiplyTo(y, r)
2023 this.reduce(r)
2024}
3af2954a 2025
ab78acc6
IC
2026Barrett.prototype.convert = barrettConvert
2027Barrett.prototype.revert = barrettRevert
2028Barrett.prototype.reduce = barrettReduce
2029Barrett.prototype.mulTo = barrettMulTo
2030Barrett.prototype.sqrTo = barrettSqrTo
3af2954a 2031
ab78acc6
IC
2032// (public) this^e % m (HAC 14.85)
2033function bnModPow(e, m) {
2034 var i = e.bitLength(),
2035 k, r = nbv(1),
2036 z
2037 if (i <= 0) return r
2038 else if (i < 18) k = 1
2039 else if (i < 48) k = 3
2040 else if (i < 144) k = 4
2041 else if (i < 768) k = 5
2042 else k = 6
2043 if (i < 8)
2044 z = new Classic(m)
2045 else if (m.isEven())
2046 z = new Barrett(m)
2047 else
2048 z = new Montgomery(m)
3af2954a 2049
ab78acc6
IC
2050 // precomputation
2051 var g = new Array(),
2052 n = 3,
2053 k1 = k - 1,
2054 km = (1 << k) - 1
2055 g[1] = z.convert(this)
2056 if (k > 1) {
2057 var g2 = new BigInteger()
2058 z.sqrTo(g[1], g2)
2059 while (n <= km) {
2060 g[n] = new BigInteger()
2061 z.mulTo(g2, g[n - 2], g[n])
2062 n += 2
2063 }
2064 }
2065
2066 var j = e.t - 1,
2067 w, is1 = true,
2068 r2 = new BigInteger(),
2069 t
2070 i = nbits(e[j]) - 1
2071 while (j >= 0) {
2072 if (i >= k1) w = (e[j] >> (i - k1)) & km
2073 else {
2074 w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i)
2075 if (j > 0) w |= e[j - 1] >> (this.DB + i - k1)
2076 }
3af2954a 2077
ab78acc6
IC
2078 n = k
2079 while ((w & 1) == 0) {
2080 w >>= 1
2081 --n
2082 }
2083 if ((i -= n) < 0) {
2084 i += this.DB
2085 --j
2086 }
2087 if (is1) { // ret == 1, don't bother squaring or multiplying it
2088 g[w].copyTo(r)
2089 is1 = false
2090 } else {
2091 while (n > 1) {
2092 z.sqrTo(r, r2)
2093 z.sqrTo(r2, r)
2094 n -= 2
2095 }
2096 if (n > 0) z.sqrTo(r, r2)
2097 else {
2098 t = r
2099 r = r2
2100 r2 = t
2101 }
2102 z.mulTo(r2, g[w], r)
2103 }
3af2954a 2104
ab78acc6
IC
2105 while (j >= 0 && (e[j] & (1 << i)) == 0) {
2106 z.sqrTo(r, r2)
2107 t = r
2108 r = r2
2109 r2 = t
2110 if (--i < 0) {
2111 i = this.DB - 1
2112 --j
3af2954a 2113 }
3af2954a
IC
2114 }
2115 }
ab78acc6
IC
2116 return z.revert(r)
2117}
3af2954a 2118
ab78acc6
IC
2119// (public) gcd(this,a) (HAC 14.54)
2120function bnGCD(a) {
2121 var x = (this.s < 0) ? this.negate() : this.clone()
2122 var y = (a.s < 0) ? a.negate() : a.clone()
2123 if (x.compareTo(y) < 0) {
2124 var t = x
2125 x = y
2126 y = t
2127 }
2128 var i = x.getLowestSetBit(),
2129 g = y.getLowestSetBit()
2130 if (g < 0) return x
2131 if (i < g) g = i
2132 if (g > 0) {
2133 x.rShiftTo(g, x)
2134 y.rShiftTo(g, y)
2135 }
2136 while (x.signum() > 0) {
2137 if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x)
2138 if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y)
2139 if (x.compareTo(y) >= 0) {
2140 x.subTo(y, x)
2141 x.rShiftTo(1, x)
2142 } else {
2143 y.subTo(x, y)
2144 y.rShiftTo(1, y)
2145 }
3af2954a 2146 }
ab78acc6
IC
2147 if (g > 0) y.lShiftTo(g, y)
2148 return y
2149}
3af2954a 2150
ab78acc6
IC
2151// (protected) this % n, n < 2^26
2152function bnpModInt(n) {
2153 if (n <= 0) return 0
2154 var d = this.DV % n,
2155 r = (this.s < 0) ? n - 1 : 0
2156 if (this.t > 0)
2157 if (d == 0) r = this[0] % n
2158 else
2159 for (var i = this.t - 1; i >= 0; --i) r = (d * r + this[i]) % n
2160 return r
2161}
3af2954a 2162
ab78acc6
IC
2163// (public) 1/this % m (HAC 14.61)
2164function bnModInverse(m) {
2165 var ac = m.isEven()
2166 if ((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO
2167 var u = m.clone(),
2168 v = this.clone()
2169 var a = nbv(1),
2170 b = nbv(0),
2171 c = nbv(0),
2172 d = nbv(1)
2173 while (u.signum() != 0) {
2174 while (u.isEven()) {
2175 u.rShiftTo(1, u)
2176 if (ac) {
2177 if (!a.isEven() || !b.isEven()) {
2178 a.addTo(this, a)
2179 b.subTo(m, b)
2180 }
2181 a.rShiftTo(1, a)
2182 } else if (!b.isEven()) b.subTo(m, b)
2183 b.rShiftTo(1, b)
2184 }
2185 while (v.isEven()) {
2186 v.rShiftTo(1, v)
2187 if (ac) {
2188 if (!c.isEven() || !d.isEven()) {
2189 c.addTo(this, c)
2190 d.subTo(m, d)
2191 }
2192 c.rShiftTo(1, c)
2193 } else if (!d.isEven()) d.subTo(m, d)
2194 d.rShiftTo(1, d)
2195 }
2196 if (u.compareTo(v) >= 0) {
2197 u.subTo(v, u)
2198 if (ac) a.subTo(c, a)
2199 b.subTo(d, b)
2200 } else {
2201 v.subTo(u, v)
2202 if (ac) c.subTo(a, c)
2203 d.subTo(b, d)
2204 }
2205 }
2206 if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO
2207 if (d.compareTo(m) >= 0) return d.subtract(m)
2208 if (d.signum() < 0) d.addTo(m, d)
2209 else return d
2210 if (d.signum() < 0) return d.add(m)
2211 else return d
2212}
2213
2214var lowprimes = [
2215 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71,
2216 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151,
2217 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233,
2218 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317,
2219 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419,
2220 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,
2221 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607,
2222 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701,
2223 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811,
2224 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911,
2225 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997
2226]
2227
2228var lplim = (1 << 26) / lowprimes[lowprimes.length - 1]
2229
2230// (public) test primality with certainty >= 1-.5^t
2231function bnIsProbablePrime(t) {
2232 var i, x = this.abs()
2233 if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {
2234 for (i = 0; i < lowprimes.length; ++i)
2235 if (x[0] == lowprimes[i]) return true
2236 return false
3af2954a 2237 }
ab78acc6
IC
2238 if (x.isEven()) return false
2239 i = 1
2240 while (i < lowprimes.length) {
2241 var m = lowprimes[i],
2242 j = i + 1
2243 while (j < lowprimes.length && m < lplim) m *= lowprimes[j++]
2244 m = x.modInt(m)
2245 while (i < j) if (m % lowprimes[i++] == 0) return false
2246 }
2247 return x.millerRabin(t)
2248}
2249
2250// (protected) true if probably prime (HAC 4.24, Miller-Rabin)
2251function bnpMillerRabin(t) {
2252 var n1 = this.subtract(BigInteger.ONE)
2253 var k = n1.getLowestSetBit()
2254 if (k <= 0) return false
2255 var r = n1.shiftRight(k)
2256 t = (t + 1) >> 1
2257 if (t > lowprimes.length) t = lowprimes.length
2258 var a = new BigInteger(null)
2259 var j, bases = []
2260 for (var i = 0; i < t; ++i) {
2261 for (;;) {
2262 j = lowprimes[Math.floor(Math.random() * lowprimes.length)]
2263 if (bases.indexOf(j) == -1) break
2264 }
2265 bases.push(j)
2266 a.fromInt(j)
2267 var y = a.modPow(r, this)
2268 if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {
2269 var j = 1
2270 while (j++ < k && y.compareTo(n1) != 0) {
2271 y = y.modPowInt(2, this)
2272 if (y.compareTo(BigInteger.ONE) == 0) return false
2273 }
2274 if (y.compareTo(n1) != 0) return false
2275 }
3af2954a 2276 }
ab78acc6
IC
2277 return true
2278}
3af2954a 2279
ab78acc6
IC
2280// protected
2281proto.chunkSize = bnpChunkSize
2282proto.toRadix = bnpToRadix
2283proto.fromRadix = bnpFromRadix
2284proto.fromNumber = bnpFromNumber
2285proto.bitwiseTo = bnpBitwiseTo
2286proto.changeBit = bnpChangeBit
2287proto.addTo = bnpAddTo
2288proto.dMultiply = bnpDMultiply
2289proto.dAddOffset = bnpDAddOffset
2290proto.multiplyLowerTo = bnpMultiplyLowerTo
2291proto.multiplyUpperTo = bnpMultiplyUpperTo
2292proto.modInt = bnpModInt
2293proto.millerRabin = bnpMillerRabin
3af2954a 2294
ab78acc6
IC
2295// public
2296proto.clone = bnClone
2297proto.intValue = bnIntValue
2298proto.byteValue = bnByteValue
2299proto.shortValue = bnShortValue
2300proto.signum = bnSigNum
2301proto.toByteArray = bnToByteArray
2302proto.equals = bnEquals
2303proto.min = bnMin
2304proto.max = bnMax
2305proto.and = bnAnd
2306proto.or = bnOr
2307proto.xor = bnXor
2308proto.andNot = bnAndNot
2309proto.not = bnNot
2310proto.shiftLeft = bnShiftLeft
2311proto.shiftRight = bnShiftRight
2312proto.getLowestSetBit = bnGetLowestSetBit
2313proto.bitCount = bnBitCount
2314proto.testBit = bnTestBit
2315proto.setBit = bnSetBit
2316proto.clearBit = bnClearBit
2317proto.flipBit = bnFlipBit
2318proto.add = bnAdd
2319proto.subtract = bnSubtract
2320proto.multiply = bnMultiply
2321proto.divide = bnDivide
2322proto.remainder = bnRemainder
2323proto.divideAndRemainder = bnDivideAndRemainder
2324proto.modPow = bnModPow
2325proto.modInverse = bnModInverse
2326proto.pow = bnPow
2327proto.gcd = bnGCD
2328proto.isProbablePrime = bnIsProbablePrime
3af2954a 2329
ab78acc6
IC
2330// JSBN-specific extension
2331proto.square = bnSquare
3af2954a 2332
ab78acc6
IC
2333// constants
2334BigInteger.ZERO = nbv(0)
2335BigInteger.ONE = nbv(1)
2336BigInteger.valueOf = nbv
3af2954a 2337
ab78acc6 2338module.exports = BigInteger
3af2954a 2339
ab78acc6
IC
2340},{"../package.json":4}],2:[function(require,module,exports){
2341(function (Buffer){
2342// FIXME: Kind of a weird way to throw exceptions, consider removing
2343var assert = require('assert')
2344var BigInteger = require('./bigi')
3af2954a 2345
ab78acc6
IC
2346/**
2347 * Turns a byte array into a big integer.
2348 *
2349 * This function will interpret a byte array as a big integer in big
2350 * endian notation.
2351 */
2352BigInteger.fromByteArrayUnsigned = function(byteArray) {
2353 // BigInteger expects a DER integer conformant byte array
2354 if (byteArray[0] & 0x80) {
2355 return new BigInteger([0].concat(byteArray))
3af2954a
IC
2356 }
2357
ab78acc6
IC
2358 return new BigInteger(byteArray)
2359}
3af2954a 2360
ab78acc6
IC
2361/**
2362 * Returns a byte array representation of the big integer.
2363 *
2364 * This returns the absolute of the contained value in big endian
2365 * form. A value of zero results in an empty array.
2366 */
2367BigInteger.prototype.toByteArrayUnsigned = function() {
2368 var byteArray = this.toByteArray()
2369 return byteArray[0] === 0 ? byteArray.slice(1) : byteArray
2370}
3af2954a 2371
ab78acc6
IC
2372BigInteger.fromDERInteger = function(byteArray) {
2373 return new BigInteger(byteArray)
2374}
3af2954a 2375
ab78acc6
IC
2376/*
2377 * Converts BigInteger to a DER integer representation.
2378 *
2379 * The format for this value uses the most significant bit as a sign
2380 * bit. If the most significant bit is already set and the integer is
2381 * positive, a 0x00 is prepended.
2382 *
2383 * Examples:
2384 *
2385 * 0 => 0x00
2386 * 1 => 0x01
2387 * -1 => 0xff
2388 * 127 => 0x7f
2389 * -127 => 0x81
2390 * 128 => 0x0080
2391 * -128 => 0x80
2392 * 255 => 0x00ff
2393 * -255 => 0xff01
2394 * 16300 => 0x3fac
2395 * -16300 => 0xc054
2396 * 62300 => 0x00f35c
2397 * -62300 => 0xff0ca4
2398*/
2399BigInteger.prototype.toDERInteger = BigInteger.prototype.toByteArray
3af2954a 2400
ab78acc6
IC
2401BigInteger.fromBuffer = function(buffer) {
2402 // BigInteger expects a DER integer conformant byte array
2403 if (buffer[0] & 0x80) {
2404 var byteArray = Array.prototype.slice.call(buffer)
3af2954a 2405
ab78acc6 2406 return new BigInteger([0].concat(byteArray))
3af2954a
IC
2407 }
2408
ab78acc6
IC
2409 return new BigInteger(buffer)
2410}
3af2954a 2411
ab78acc6
IC
2412BigInteger.fromHex = function(hex) {
2413 if (hex === '') return BigInteger.ZERO
3af2954a 2414
ab78acc6
IC
2415 assert.equal(hex, hex.match(/^[A-Fa-f0-9]+/), 'Invalid hex string')
2416 assert.equal(hex.length % 2, 0, 'Incomplete hex')
2417 return new BigInteger(hex, 16)
2418}
3af2954a 2419
ab78acc6
IC
2420BigInteger.prototype.toBuffer = function(size) {
2421 var byteArray = this.toByteArrayUnsigned()
2422 var zeros = []
3af2954a 2423
ab78acc6
IC
2424 var padding = size - byteArray.length
2425 while (zeros.length < padding) zeros.push(0)
3af2954a 2426
ab78acc6
IC
2427 return new Buffer(zeros.concat(byteArray))
2428}
3af2954a 2429
ab78acc6
IC
2430BigInteger.prototype.toHex = function(size) {
2431 return this.toBuffer(size).toString('hex')
2432}
3af2954a 2433
ab78acc6
IC
2434}).call(this,require("buffer").Buffer)
2435},{"./bigi":1,"assert":5,"buffer":7}],3:[function(require,module,exports){
2436var BigInteger = require('./bigi')
3af2954a 2437
ab78acc6
IC
2438//addons
2439require('./convert')
3af2954a 2440
ab78acc6
IC
2441module.exports = BigInteger
2442},{"./bigi":1,"./convert":2}],4:[function(require,module,exports){
2443module.exports={
2444 "name": "bigi",
2445 "version": "1.4.0",
2446 "description": "Big integers.",
2447 "keywords": [
2448 "cryptography",
2449 "math",
2450 "bitcoin",
2451 "arbitrary",
2452 "precision",
2453 "arithmetic",
2454 "big",
2455 "integer",
2456 "int",
2457 "number",
2458 "biginteger",
2459 "bigint",
2460 "bignumber",
2461 "decimal",
2462 "float"
2463 ],
2464 "devDependencies": {
2465 "mocha": "^1.20.1",
2466 "jshint": "^2.5.1",
2467 "coveralls": "^2.10.0",
2468 "istanbul": "^0.2.11"
2469 },
2470 "repository": {
2471 "url": "https://github.com/cryptocoinjs/bigi",
2472 "type": "git"
2473 },
2474 "main": "./lib/index.js",
2475 "scripts": {
2476 "test": "_mocha -- test/*.js",
2477 "jshint": "jshint --config jshint.json lib/*.js ; true",
2478 "unit": "mocha",
2479 "coverage": "istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js",
2480 "coveralls": "npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info"
2481 },
2482 "dependencies": {},
2483 "testling": {
2484 "files": "test/*.js",
2485 "harness": "mocha",
2486 "browsers": [
2487 "ie/9..latest",
2488 "firefox/latest",
2489 "chrome/latest",
2490 "safari/6.0..latest",
2491 "iphone/6.0..latest",
2492 "android-browser/4.2..latest"
2493 ]
2494 },
2495 "bugs": {
2496 "url": "https://github.com/cryptocoinjs/bigi/issues"
2497 },
2498 "homepage": "https://github.com/cryptocoinjs/bigi",
2499 "_id": "bigi@1.4.0",
2500 "dist": {
2501 "shasum": "90ac1aeac0a531216463bdb58f42c1e05c8407ac",
2502 "tarball": "http://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz"
2503 },
2504 "_from": "bigi@^1.4.0",
2505 "_npmVersion": "1.4.3",
2506 "_npmUser": {
2507 "name": "jp",
2508 "email": "jprichardson@gmail.com"
2509 },
2510 "maintainers": [
2511 {
2512 "name": "jp",
2513 "email": "jprichardson@gmail.com"
2514 },
2515 {
2516 "name": "midnightlightning",
2517 "email": "boydb@midnightdesign.ws"
2518 },
2519 {
2520 "name": "sidazhang",
2521 "email": "sidazhang89@gmail.com"
2522 },
2523 {
2524 "name": "nadav",
2525 "email": "npm@shesek.info"
3af2954a 2526 }
ab78acc6
IC
2527 ],
2528 "directories": {},
2529 "_shasum": "90ac1aeac0a531216463bdb58f42c1e05c8407ac",
2530 "_resolved": "https://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz"
2531}
3af2954a 2532
ab78acc6
IC
2533},{}],5:[function(require,module,exports){
2534// http://wiki.commonjs.org/wiki/Unit_Testing/1.0
2535//
2536// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!
2537//
2538// Originally from narwhal.js (http://narwhaljs.org)
2539// Copyright (c) 2009 Thomas Robinson <280north.com>
2540//
2541// Permission is hereby granted, free of charge, to any person obtaining a copy
2542// of this software and associated documentation files (the 'Software'), to
2543// deal in the Software without restriction, including without limitation the
2544// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
2545// sell copies of the Software, and to permit persons to whom the Software is
2546// furnished to do so, subject to the following conditions:
2547//
2548// The above copyright notice and this permission notice shall be included in
2549// all copies or substantial portions of the Software.
2550//
2551// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2552// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2553// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2554// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
2555// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
2556// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3af2954a 2557
ab78acc6
IC
2558// when used in node, this will actually load the util module we depend on
2559// versus loading the builtin util module as happens otherwise
2560// this is a bug in node module loading as far as I am concerned
2561var util = require('util/');
3af2954a 2562
ab78acc6
IC
2563var pSlice = Array.prototype.slice;
2564var hasOwn = Object.prototype.hasOwnProperty;
3af2954a 2565
ab78acc6
IC
2566// 1. The assert module provides functions that throw
2567// AssertionError's when particular conditions are not met. The
2568// assert module must conform to the following interface.
3af2954a 2569
ab78acc6 2570var assert = module.exports = ok;
3af2954a 2571
ab78acc6
IC
2572// 2. The AssertionError is defined in assert.
2573// new assert.AssertionError({ message: message,
2574// actual: actual,
2575// expected: expected })
3af2954a 2576
ab78acc6
IC
2577assert.AssertionError = function AssertionError(options) {
2578 this.name = 'AssertionError';
2579 this.actual = options.actual;
2580 this.expected = options.expected;
2581 this.operator = options.operator;
2582 if (options.message) {
2583 this.message = options.message;
2584 this.generatedMessage = false;
2585 } else {
2586 this.message = getMessage(this);
2587 this.generatedMessage = true;
2588 }
2589 var stackStartFunction = options.stackStartFunction || fail;
3af2954a 2590
ab78acc6
IC
2591 if (Error.captureStackTrace) {
2592 Error.captureStackTrace(this, stackStartFunction);
3af2954a 2593 }
ab78acc6
IC
2594 else {
2595 // non v8 browsers so we can have a stacktrace
2596 var err = new Error();
2597 if (err.stack) {
2598 var out = err.stack;
3af2954a 2599
ab78acc6
IC
2600 // try to strip useless frames
2601 var fn_name = stackStartFunction.name;
2602 var idx = out.indexOf('\n' + fn_name);
2603 if (idx >= 0) {
2604 // once we have located the function frame
2605 // we need to strip out everything before it (and its line)
2606 var next_line = out.indexOf('\n', idx + 1);
2607 out = out.substring(next_line + 1);
2608 }
3af2954a 2609
ab78acc6 2610 this.stack = out;
3af2954a 2611 }
3af2954a 2612 }
ab78acc6 2613};
3af2954a 2614
ab78acc6
IC
2615// assert.AssertionError instanceof Error
2616util.inherits(assert.AssertionError, Error);
3af2954a 2617
ab78acc6
IC
2618function replacer(key, value) {
2619 if (util.isUndefined(value)) {
2620 return '' + value;
2621 }
2622 if (util.isNumber(value) && !isFinite(value)) {
2623 return value.toString();
2624 }
2625 if (util.isFunction(value) || util.isRegExp(value)) {
2626 return value.toString();
2627 }
2628 return value;
2629}
3af2954a 2630
ab78acc6
IC
2631function truncate(s, n) {
2632 if (util.isString(s)) {
2633 return s.length < n ? s : s.slice(0, n);
2634 } else {
2635 return s;
2636 }
2637}
3af2954a 2638
ab78acc6
IC
2639function getMessage(self) {
2640 return truncate(JSON.stringify(self.actual, replacer), 128) + ' ' +
2641 self.operator + ' ' +
2642 truncate(JSON.stringify(self.expected, replacer), 128);
2643}
3af2954a 2644
ab78acc6
IC
2645// At present only the three keys mentioned above are used and
2646// understood by the spec. Implementations or sub modules can pass
2647// other keys to the AssertionError's constructor - they will be
2648// ignored.
3af2954a 2649
ab78acc6
IC
2650// 3. All of the following functions must throw an AssertionError
2651// when a corresponding condition is not met, with a message that
2652// may be undefined if not provided. All assertion methods provide
2653// both the actual and expected values to the assertion error for
2654// display purposes.
3af2954a 2655
ab78acc6
IC
2656function fail(actual, expected, message, operator, stackStartFunction) {
2657 throw new assert.AssertionError({
2658 message: message,
2659 actual: actual,
2660 expected: expected,
2661 operator: operator,
2662 stackStartFunction: stackStartFunction
2663 });
2664}
3af2954a 2665
ab78acc6
IC
2666// EXTENSION! allows for well behaved errors defined elsewhere.
2667assert.fail = fail;
ebd8d4e8 2668
ab78acc6
IC
2669// 4. Pure assertion tests whether a value is truthy, as determined
2670// by !!guard.
2671// assert.ok(guard, message_opt);
2672// This statement is equivalent to assert.equal(true, !!guard,
2673// message_opt);. To test strictly for the value true, use
2674// assert.strictEqual(true, guard, message_opt);.
3af2954a 2675
ab78acc6
IC
2676function ok(value, message) {
2677 if (!value) fail(value, true, message, '==', assert.ok);
2678}
2679assert.ok = ok;
3af2954a 2680
ab78acc6
IC
2681// 5. The equality assertion tests shallow, coercive equality with
2682// ==.
2683// assert.equal(actual, expected, message_opt);
3af2954a 2684
ab78acc6
IC
2685assert.equal = function equal(actual, expected, message) {
2686 if (actual != expected) fail(actual, expected, message, '==', assert.equal);
2687};
3af2954a 2688
ab78acc6
IC
2689// 6. The non-equality assertion tests for whether two objects are not equal
2690// with != assert.notEqual(actual, expected, message_opt);
3af2954a 2691
ab78acc6
IC
2692assert.notEqual = function notEqual(actual, expected, message) {
2693 if (actual == expected) {
2694 fail(actual, expected, message, '!=', assert.notEqual);
3af2954a 2695 }
ab78acc6 2696};
3af2954a 2697
ab78acc6
IC
2698// 7. The equivalence assertion tests a deep equality relation.
2699// assert.deepEqual(actual, expected, message_opt);
3af2954a 2700
ab78acc6
IC
2701assert.deepEqual = function deepEqual(actual, expected, message) {
2702 if (!_deepEqual(actual, expected)) {
2703 fail(actual, expected, message, 'deepEqual', assert.deepEqual);
2704 }
2705};
3af2954a 2706
ab78acc6
IC
2707function _deepEqual(actual, expected) {
2708 // 7.1. All identical values are equivalent, as determined by ===.
2709 if (actual === expected) {
2710 return true;
3af2954a 2711
ab78acc6
IC
2712 } else if (util.isBuffer(actual) && util.isBuffer(expected)) {
2713 if (actual.length != expected.length) return false;
3af2954a 2714
ab78acc6
IC
2715 for (var i = 0; i < actual.length; i++) {
2716 if (actual[i] !== expected[i]) return false;
3af2954a
IC
2717 }
2718
ab78acc6 2719 return true;
3af2954a 2720
ab78acc6
IC
2721 // 7.2. If the expected value is a Date object, the actual value is
2722 // equivalent if it is also a Date object that refers to the same time.
2723 } else if (util.isDate(actual) && util.isDate(expected)) {
2724 return actual.getTime() === expected.getTime();
3af2954a 2725
ab78acc6
IC
2726 // 7.3 If the expected value is a RegExp object, the actual value is
2727 // equivalent if it is also a RegExp object with the same source and
2728 // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).
2729 } else if (util.isRegExp(actual) && util.isRegExp(expected)) {
2730 return actual.source === expected.source &&
2731 actual.global === expected.global &&
2732 actual.multiline === expected.multiline &&
2733 actual.lastIndex === expected.lastIndex &&
2734 actual.ignoreCase === expected.ignoreCase;
3af2954a 2735
ab78acc6
IC
2736 // 7.4. Other pairs that do not both pass typeof value == 'object',
2737 // equivalence is determined by ==.
2738 } else if (!util.isObject(actual) && !util.isObject(expected)) {
2739 return actual == expected;
3af2954a 2740
ab78acc6
IC
2741 // 7.5 For all other Object pairs, including Array objects, equivalence is
2742 // determined by having the same number of owned properties (as verified
2743 // with Object.prototype.hasOwnProperty.call), the same set of keys
2744 // (although not necessarily the same order), equivalent values for every
2745 // corresponding key, and an identical 'prototype' property. Note: this
2746 // accounts for both named and indexed properties on Arrays.
2747 } else {
2748 return objEquiv(actual, expected);
3af2954a 2749 }
ab78acc6 2750}
3af2954a 2751
ab78acc6
IC
2752function isArguments(object) {
2753 return Object.prototype.toString.call(object) == '[object Arguments]';
2754}
3af2954a 2755
ab78acc6
IC
2756function objEquiv(a, b) {
2757 if (util.isNullOrUndefined(a) || util.isNullOrUndefined(b))
2758 return false;
2759 // an identical 'prototype' property.
2760 if (a.prototype !== b.prototype) return false;
2761 // if one is a primitive, the other must be same
2762 if (util.isPrimitive(a) || util.isPrimitive(b)) {
2763 return a === b;
3af2954a 2764 }
ab78acc6
IC
2765 var aIsArgs = isArguments(a),
2766 bIsArgs = isArguments(b);
2767 if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))
2768 return false;
2769 if (aIsArgs) {
2770 a = pSlice.call(a);
2771 b = pSlice.call(b);
2772 return _deepEqual(a, b);
3af2954a 2773 }
ab78acc6
IC
2774 var ka = objectKeys(a),
2775 kb = objectKeys(b),
2776 key, i;
2777 // having the same number of owned properties (keys incorporates
2778 // hasOwnProperty)
2779 if (ka.length != kb.length)
2780 return false;
2781 //the same set of keys (although not necessarily the same order),
2782 ka.sort();
2783 kb.sort();
2784 //~~~cheap key test
2785 for (i = ka.length - 1; i >= 0; i--) {
2786 if (ka[i] != kb[i])
2787 return false;
3af2954a 2788 }
ab78acc6
IC
2789 //equivalent values for every corresponding key, and
2790 //~~~possibly expensive deep test
2791 for (i = ka.length - 1; i >= 0; i--) {
2792 key = ka[i];
2793 if (!_deepEqual(a[key], b[key])) return false;
3af2954a 2794 }
ab78acc6
IC
2795 return true;
2796}
2797
2798// 8. The non-equivalence assertion tests for any deep inequality.
2799// assert.notDeepEqual(actual, expected, message_opt);
3af2954a 2800
ab78acc6
IC
2801assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
2802 if (_deepEqual(actual, expected)) {
2803 fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
3af2954a 2804 }
ab78acc6 2805};
3af2954a 2806
ab78acc6
IC
2807// 9. The strict equality assertion tests strict equality, as determined by ===.
2808// assert.strictEqual(actual, expected, message_opt);
3af2954a 2809
ab78acc6
IC
2810assert.strictEqual = function strictEqual(actual, expected, message) {
2811 if (actual !== expected) {
2812 fail(actual, expected, message, '===', assert.strictEqual);
3af2954a 2813 }
ab78acc6 2814};
3af2954a 2815
ab78acc6
IC
2816// 10. The strict non-equality assertion tests for strict inequality, as
2817// determined by !==. assert.notStrictEqual(actual, expected, message_opt);
3af2954a 2818
ab78acc6
IC
2819assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
2820 if (actual === expected) {
2821 fail(actual, expected, message, '!==', assert.notStrictEqual);
2822 }
2823};
3af2954a 2824
ab78acc6
IC
2825function expectedException(actual, expected) {
2826 if (!actual || !expected) {
2827 return false;
2828 }
3af2954a 2829
ab78acc6
IC
2830 if (Object.prototype.toString.call(expected) == '[object RegExp]') {
2831 return expected.test(actual);
2832 } else if (actual instanceof expected) {
2833 return true;
2834 } else if (expected.call({}, actual) === true) {
2835 return true;
3af2954a
IC
2836 }
2837
ab78acc6
IC
2838 return false;
2839}
3af2954a 2840
ab78acc6
IC
2841function _throws(shouldThrow, block, expected, message) {
2842 var actual;
3af2954a 2843
ab78acc6
IC
2844 if (util.isString(expected)) {
2845 message = expected;
2846 expected = null;
3af2954a
IC
2847 }
2848
ab78acc6
IC
2849 try {
2850 block();
2851 } catch (e) {
2852 actual = e;
3af2954a
IC
2853 }
2854
ab78acc6
IC
2855 message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +
2856 (message ? ' ' + message : '.');
3af2954a 2857
ab78acc6
IC
2858 if (shouldThrow && !actual) {
2859 fail(actual, expected, 'Missing expected exception' + message);
3af2954a
IC
2860 }
2861
ab78acc6
IC
2862 if (!shouldThrow && expectedException(actual, expected)) {
2863 fail(actual, expected, 'Got unwanted exception' + message);
3af2954a
IC
2864 }
2865
ab78acc6
IC
2866 if ((shouldThrow && actual && expected &&
2867 !expectedException(actual, expected)) || (!shouldThrow && actual)) {
2868 throw actual;
3af2954a 2869 }
ab78acc6 2870}
3af2954a 2871
ab78acc6
IC
2872// 11. Expected to throw an error:
2873// assert.throws(block, Error_opt, message_opt);
3af2954a 2874
ab78acc6
IC
2875assert.throws = function(block, /*optional*/error, /*optional*/message) {
2876 _throws.apply(this, [true].concat(pSlice.call(arguments)));
2877};
3af2954a 2878
ab78acc6
IC
2879// EXTENSION! This is annoying to write outside this module.
2880assert.doesNotThrow = function(block, /*optional*/message) {
2881 _throws.apply(this, [false].concat(pSlice.call(arguments)));
2882};
3af2954a 2883
ab78acc6 2884assert.ifError = function(err) { if (err) {throw err;}};
3af2954a 2885
ab78acc6
IC
2886var objectKeys = Object.keys || function (obj) {
2887 var keys = [];
2888 for (var key in obj) {
2889 if (hasOwn.call(obj, key)) keys.push(key);
3af2954a 2890 }
ab78acc6
IC
2891 return keys;
2892};
3af2954a 2893
ab78acc6 2894},{"util/":29}],6:[function(require,module,exports){
3af2954a 2895
ab78acc6
IC
2896},{}],7:[function(require,module,exports){
2897/*!
2898 * The buffer module from node.js, for the browser.
2899 *
2900 * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
2901 * @license MIT
2902 */
3af2954a 2903
ab78acc6
IC
2904var base64 = require('base64-js')
2905var ieee754 = require('ieee754')
2906var isArray = require('is-array')
3af2954a 2907
ab78acc6
IC
2908exports.Buffer = Buffer
2909exports.SlowBuffer = SlowBuffer
2910exports.INSPECT_MAX_BYTES = 50
2911Buffer.poolSize = 8192 // not used by this implementation
3af2954a 2912
ab78acc6 2913var rootParent = {}
3af2954a 2914
ab78acc6
IC
2915/**
2916 * If `Buffer.TYPED_ARRAY_SUPPORT`:
2917 * === true Use Uint8Array implementation (fastest)
2918 * === false Use Object implementation (most compatible, even IE6)
2919 *
2920 * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
2921 * Opera 11.6+, iOS 4.2+.
2922 *
2923 * Due to various browser bugs, sometimes the Object implementation will be used even
2924 * when the browser supports typed arrays.
2925 *
2926 * Note:
2927 *
2928 * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
2929 * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
2930 *
2931 * - Safari 5-7 lacks support for changing the `Object.prototype.constructor` property
2932 * on objects.
2933 *
2934 * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
2935 *
2936 * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
2937 * incorrect length in some situations.
3af2954a 2938
ab78acc6
IC
2939 * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
2940 * get the Object implementation, which is slower but behaves correctly.
2941 */
2942Buffer.TYPED_ARRAY_SUPPORT = (function () {
2943 function Bar () {}
2944 try {
2945 var arr = new Uint8Array(1)
2946 arr.foo = function () { return 42 }
2947 arr.constructor = Bar
2948 return arr.foo() === 42 && // typed array instances can be augmented
2949 arr.constructor === Bar && // constructor can be set
2950 typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
2951 arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
2952 } catch (e) {
2953 return false
2954 }
2955})()
3af2954a 2956
ab78acc6
IC
2957function kMaxLength () {
2958 return Buffer.TYPED_ARRAY_SUPPORT
2959 ? 0x7fffffff
2960 : 0x3fffffff
2961}
3af2954a 2962
ab78acc6
IC
2963/**
2964 * Class: Buffer
2965 * =============
2966 *
2967 * The Buffer constructor returns instances of `Uint8Array` that are augmented
2968 * with function properties for all the node `Buffer` API functions. We use
2969 * `Uint8Array` so that square bracket notation works as expected -- it returns
2970 * a single octet.
2971 *
2972 * By augmenting the instances, we can avoid modifying the `Uint8Array`
2973 * prototype.
2974 */
2975function Buffer (arg) {
2976 if (!(this instanceof Buffer)) {
2977 // Avoid going through an ArgumentsAdaptorTrampoline in the common case.
2978 if (arguments.length > 1) return new Buffer(arg, arguments[1])
2979 return new Buffer(arg)
3af2954a
IC
2980 }
2981
ab78acc6
IC
2982 this.length = 0
2983 this.parent = undefined
3af2954a 2984
ab78acc6
IC
2985 // Common case.
2986 if (typeof arg === 'number') {
2987 return fromNumber(this, arg)
2988 }
3af2954a 2989
ab78acc6
IC
2990 // Slightly less common case.
2991 if (typeof arg === 'string') {
2992 return fromString(this, arg, arguments.length > 1 ? arguments[1] : 'utf8')
2993 }
3af2954a 2994
ab78acc6
IC
2995 // Unusual.
2996 return fromObject(this, arg)
2997}
3af2954a 2998
ab78acc6
IC
2999function fromNumber (that, length) {
3000 that = allocate(that, length < 0 ? 0 : checked(length) | 0)
3001 if (!Buffer.TYPED_ARRAY_SUPPORT) {
3002 for (var i = 0; i < length; i++) {
3003 that[i] = 0
3004 }
3af2954a 3005 }
ab78acc6
IC
3006 return that
3007}
3af2954a 3008
ab78acc6
IC
3009function fromString (that, string, encoding) {
3010 if (typeof encoding !== 'string' || encoding === '') encoding = 'utf8'
3af2954a 3011
ab78acc6
IC
3012 // Assumption: byteLength() return value is always < kMaxLength.
3013 var length = byteLength(string, encoding) | 0
3014 that = allocate(that, length)
3af2954a 3015
ab78acc6
IC
3016 that.write(string, encoding)
3017 return that
3018}
3af2954a 3019
ab78acc6
IC
3020function fromObject (that, object) {
3021 if (Buffer.isBuffer(object)) return fromBuffer(that, object)
3af2954a 3022
ab78acc6 3023 if (isArray(object)) return fromArray(that, object)
3af2954a 3024
ab78acc6
IC
3025 if (object == null) {
3026 throw new TypeError('must start with number, buffer, array or string')
3027 }
3af2954a 3028
ab78acc6
IC
3029 if (typeof ArrayBuffer !== 'undefined') {
3030 if (object.buffer instanceof ArrayBuffer) {
3031 return fromTypedArray(that, object)
3032 }
3033 if (object instanceof ArrayBuffer) {
3034 return fromArrayBuffer(that, object)
3035 }
3af2954a
IC
3036 }
3037
ab78acc6 3038 if (object.length) return fromArrayLike(that, object)
3af2954a 3039
ab78acc6
IC
3040 return fromJsonObject(that, object)
3041}
3af2954a 3042
ab78acc6
IC
3043function fromBuffer (that, buffer) {
3044 var length = checked(buffer.length) | 0
3045 that = allocate(that, length)
3046 buffer.copy(that, 0, 0, length)
3047 return that
3048}
3af2954a 3049
ab78acc6
IC
3050function fromArray (that, array) {
3051 var length = checked(array.length) | 0
3052 that = allocate(that, length)
3053 for (var i = 0; i < length; i += 1) {
3054 that[i] = array[i] & 255
3af2954a 3055 }
ab78acc6
IC
3056 return that
3057}
3af2954a 3058
ab78acc6
IC
3059// Duplicate of fromArray() to keep fromArray() monomorphic.
3060function fromTypedArray (that, array) {
3061 var length = checked(array.length) | 0
3062 that = allocate(that, length)
3063 // Truncating the elements is probably not what people expect from typed
3064 // arrays with BYTES_PER_ELEMENT > 1 but it's compatible with the behavior
3065 // of the old Buffer constructor.
3066 for (var i = 0; i < length; i += 1) {
3067 that[i] = array[i] & 255
3af2954a 3068 }
ab78acc6
IC
3069 return that
3070}
3af2954a 3071
ab78acc6
IC
3072function fromArrayBuffer (that, array) {
3073 if (Buffer.TYPED_ARRAY_SUPPORT) {
3074 // Return an augmented `Uint8Array` instance, for best performance
3075 array.byteLength
3076 that = Buffer._augment(new Uint8Array(array))
3077 } else {
3078 // Fallback: Return an object instance of the Buffer class
3079 that = fromTypedArray(that, new Uint8Array(array))
3080 }
3081 return that
3082}
3af2954a 3083
ab78acc6
IC
3084function fromArrayLike (that, array) {
3085 var length = checked(array.length) | 0
3086 that = allocate(that, length)
3087 for (var i = 0; i < length; i += 1) {
3088 that[i] = array[i] & 255
3af2954a 3089 }
ab78acc6
IC
3090 return that
3091}
3af2954a 3092
ab78acc6
IC
3093// Deserialize { type: 'Buffer', data: [1,2,3,...] } into a Buffer object.
3094// Returns a zero-length buffer for inputs that don't conform to the spec.
3095function fromJsonObject (that, object) {
3096 var array
3097 var length = 0
3098
3099 if (object.type === 'Buffer' && isArray(object.data)) {
3100 array = object.data
3101 length = checked(array.length) | 0
3af2954a 3102 }
ab78acc6 3103 that = allocate(that, length)
3af2954a 3104
ab78acc6
IC
3105 for (var i = 0; i < length; i += 1) {
3106 that[i] = array[i] & 255
3af2954a 3107 }
ab78acc6
IC
3108 return that
3109}
3af2954a 3110
ab78acc6
IC
3111function allocate (that, length) {
3112 if (Buffer.TYPED_ARRAY_SUPPORT) {
3113 // Return an augmented `Uint8Array` instance, for best performance
3114 that = Buffer._augment(new Uint8Array(length))
3115 } else {
3116 // Fallback: Return an object instance of the Buffer class
3117 that.length = length
3118 that._isBuffer = true
3119 }
3af2954a 3120
ab78acc6
IC
3121 var fromPool = length !== 0 && length <= Buffer.poolSize >>> 1
3122 if (fromPool) that.parent = rootParent
3af2954a 3123
ab78acc6
IC
3124 return that
3125}
3af2954a 3126
ab78acc6
IC
3127function checked (length) {
3128 // Note: cannot use `length < kMaxLength` here because that fails when
3129 // length is NaN (which is otherwise coerced to zero.)
3130 if (length >= kMaxLength()) {
3131 throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
3132 'size: 0x' + kMaxLength().toString(16) + ' bytes')
3af2954a 3133 }
ab78acc6
IC
3134 return length | 0
3135}
3af2954a 3136
ab78acc6
IC
3137function SlowBuffer (subject, encoding) {
3138 if (!(this instanceof SlowBuffer)) return new SlowBuffer(subject, encoding)
3af2954a 3139
ab78acc6
IC
3140 var buf = new Buffer(subject, encoding)
3141 delete buf.parent
3142 return buf
3143}
3af2954a 3144
ab78acc6
IC
3145Buffer.isBuffer = function isBuffer (b) {
3146 return !!(b != null && b._isBuffer)
3147}
3af2954a 3148
ab78acc6
IC
3149Buffer.compare = function compare (a, b) {
3150 if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
3151 throw new TypeError('Arguments must be Buffers')
3af2954a
IC
3152 }
3153
ab78acc6 3154 if (a === b) return 0
3af2954a 3155
ab78acc6
IC
3156 var x = a.length
3157 var y = b.length
3af2954a 3158
ab78acc6
IC
3159 var i = 0
3160 var len = Math.min(x, y)
3161 while (i < len) {
3162 if (a[i] !== b[i]) break
3af2954a 3163
ab78acc6
IC
3164 ++i
3165 }
3af2954a 3166
ab78acc6
IC
3167 if (i !== len) {
3168 x = a[i]
3169 y = b[i]
3170 }
3af2954a 3171
ab78acc6
IC
3172 if (x < y) return -1
3173 if (y < x) return 1
3174 return 0
3175}
3af2954a 3176
ab78acc6
IC
3177Buffer.isEncoding = function isEncoding (encoding) {
3178 switch (String(encoding).toLowerCase()) {
3179 case 'hex':
3180 case 'utf8':
3181 case 'utf-8':
3182 case 'ascii':
3183 case 'binary':
3184 case 'base64':
3185 case 'raw':
3186 case 'ucs2':
3187 case 'ucs-2':
3188 case 'utf16le':
3189 case 'utf-16le':
3190 return true
3191 default:
3192 return false
3af2954a 3193 }
ab78acc6 3194}
3af2954a 3195
ab78acc6
IC
3196Buffer.concat = function concat (list, length) {
3197 if (!isArray(list)) throw new TypeError('list argument must be an Array of Buffers.')
3af2954a 3198
ab78acc6
IC
3199 if (list.length === 0) {
3200 return new Buffer(0)
3af2954a
IC
3201 }
3202
ab78acc6
IC
3203 var i
3204 if (length === undefined) {
3205 length = 0
3206 for (i = 0; i < list.length; i++) {
3207 length += list[i].length
3208 }
3af2954a
IC
3209 }
3210
ab78acc6
IC
3211 var buf = new Buffer(length)
3212 var pos = 0
3213 for (i = 0; i < list.length; i++) {
3214 var item = list[i]
3215 item.copy(buf, pos)
3216 pos += item.length
3217 }
3218 return buf
3219}
3af2954a 3220
ab78acc6
IC
3221function byteLength (string, encoding) {
3222 if (typeof string !== 'string') string = '' + string
3223
3224 var len = string.length
3225 if (len === 0) return 0
3226
3227 // Use a for loop to avoid recursion
3228 var loweredCase = false
3229 for (;;) {
3230 switch (encoding) {
3231 case 'ascii':
3232 case 'binary':
3233 // Deprecated
3234 case 'raw':
3235 case 'raws':
3236 return len
3237 case 'utf8':
3238 case 'utf-8':
3239 return utf8ToBytes(string).length
3240 case 'ucs2':
3241 case 'ucs-2':
3242 case 'utf16le':
3243 case 'utf-16le':
3244 return len * 2
3245 case 'hex':
3246 return len >>> 1
3247 case 'base64':
3248 return base64ToBytes(string).length
3249 default:
3250 if (loweredCase) return utf8ToBytes(string).length // assume utf8
3251 encoding = ('' + encoding).toLowerCase()
3252 loweredCase = true
3af2954a 3253 }
3af2954a 3254 }
ab78acc6
IC
3255}
3256Buffer.byteLength = byteLength
3af2954a 3257
ab78acc6
IC
3258// pre-set for values that may exist in the future
3259Buffer.prototype.length = undefined
3260Buffer.prototype.parent = undefined
3af2954a 3261
ab78acc6
IC
3262function slowToString (encoding, start, end) {
3263 var loweredCase = false
3af2954a 3264
ab78acc6
IC
3265 start = start | 0
3266 end = end === undefined || end === Infinity ? this.length : end | 0
3af2954a 3267
ab78acc6
IC
3268 if (!encoding) encoding = 'utf8'
3269 if (start < 0) start = 0
3270 if (end > this.length) end = this.length
3271 if (end <= start) return ''
3af2954a 3272
ab78acc6
IC
3273 while (true) {
3274 switch (encoding) {
3275 case 'hex':
3276 return hexSlice(this, start, end)
3af2954a 3277
ab78acc6
IC
3278 case 'utf8':
3279 case 'utf-8':
3280 return utf8Slice(this, start, end)
3af2954a 3281
ab78acc6
IC
3282 case 'ascii':
3283 return asciiSlice(this, start, end)
3af2954a 3284
ab78acc6
IC
3285 case 'binary':
3286 return binarySlice(this, start, end)
3af2954a 3287
ab78acc6
IC
3288 case 'base64':
3289 return base64Slice(this, start, end)
3af2954a 3290
ab78acc6
IC
3291 case 'ucs2':
3292 case 'ucs-2':
3293 case 'utf16le':
3294 case 'utf-16le':
3295 return utf16leSlice(this, start, end)
3af2954a 3296
ab78acc6
IC
3297 default:
3298 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
3299 encoding = (encoding + '').toLowerCase()
3300 loweredCase = true
3301 }
3af2954a 3302 }
ab78acc6 3303}
3af2954a 3304
ab78acc6
IC
3305Buffer.prototype.toString = function toString () {
3306 var length = this.length | 0
3307 if (length === 0) return ''
3308 if (arguments.length === 0) return utf8Slice(this, 0, length)
3309 return slowToString.apply(this, arguments)
3310}
3af2954a 3311
ab78acc6
IC
3312Buffer.prototype.equals = function equals (b) {
3313 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
3314 if (this === b) return true
3315 return Buffer.compare(this, b) === 0
3316}
3af2954a 3317
ab78acc6
IC
3318Buffer.prototype.inspect = function inspect () {
3319 var str = ''
3320 var max = exports.INSPECT_MAX_BYTES
3321 if (this.length > 0) {
3322 str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
3323 if (this.length > max) str += ' ... '
3af2954a 3324 }
ab78acc6
IC
3325 return '<Buffer ' + str + '>'
3326}
3af2954a 3327
ab78acc6
IC
3328Buffer.prototype.compare = function compare (b) {
3329 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
3330 if (this === b) return 0
3331 return Buffer.compare(this, b)
3332}
3af2954a 3333
ab78acc6
IC
3334Buffer.prototype.indexOf = function indexOf (val, byteOffset) {
3335 if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff
3336 else if (byteOffset < -0x80000000) byteOffset = -0x80000000
3337 byteOffset >>= 0
3af2954a 3338
ab78acc6
IC
3339 if (this.length === 0) return -1
3340 if (byteOffset >= this.length) return -1
3af2954a 3341
ab78acc6
IC
3342 // Negative offsets start from the end of the buffer
3343 if (byteOffset < 0) byteOffset = Math.max(this.length + byteOffset, 0)
3af2954a 3344
ab78acc6
IC
3345 if (typeof val === 'string') {
3346 if (val.length === 0) return -1 // special case: looking for empty string always fails
3347 return String.prototype.indexOf.call(this, val, byteOffset)
3af2954a 3348 }
ab78acc6
IC
3349 if (Buffer.isBuffer(val)) {
3350 return arrayIndexOf(this, val, byteOffset)
3af2954a 3351 }
ab78acc6
IC
3352 if (typeof val === 'number') {
3353 if (Buffer.TYPED_ARRAY_SUPPORT && Uint8Array.prototype.indexOf === 'function') {
3354 return Uint8Array.prototype.indexOf.call(this, val, byteOffset)
3af2954a 3355 }
ab78acc6 3356 return arrayIndexOf(this, [ val ], byteOffset)
3af2954a
IC
3357 }
3358
ab78acc6
IC
3359 function arrayIndexOf (arr, val, byteOffset) {
3360 var foundIndex = -1
3361 for (var i = 0; byteOffset + i < arr.length; i++) {
3362 if (arr[byteOffset + i] === val[foundIndex === -1 ? 0 : i - foundIndex]) {
3363 if (foundIndex === -1) foundIndex = i
3364 if (i - foundIndex + 1 === val.length) return byteOffset + foundIndex
3af2954a 3365 } else {
ab78acc6 3366 foundIndex = -1
3af2954a 3367 }
3af2954a 3368 }
ab78acc6
IC
3369 return -1
3370 }
3af2954a 3371
ab78acc6
IC
3372 throw new TypeError('val must be string, number or Buffer')
3373}
3af2954a 3374
ab78acc6
IC
3375// `get` is deprecated
3376Buffer.prototype.get = function get (offset) {
3377 console.log('.get() is deprecated. Access using array indexes instead.')
3378 return this.readUInt8(offset)
3379}
3af2954a 3380
ab78acc6
IC
3381// `set` is deprecated
3382Buffer.prototype.set = function set (v, offset) {
3383 console.log('.set() is deprecated. Access using array indexes instead.')
3384 return this.writeUInt8(v, offset)
3385}
3af2954a 3386
ab78acc6
IC
3387function hexWrite (buf, string, offset, length) {
3388 offset = Number(offset) || 0
3389 var remaining = buf.length - offset
3390 if (!length) {
3391 length = remaining
3392 } else {
3393 length = Number(length)
3394 if (length > remaining) {
3395 length = remaining
3396 }
3397 }
3af2954a 3398
ab78acc6
IC
3399 // must be an even number of digits
3400 var strLen = string.length
3401 if (strLen % 2 !== 0) throw new Error('Invalid hex string')
3af2954a 3402
ab78acc6
IC
3403 if (length > strLen / 2) {
3404 length = strLen / 2
3405 }
3406 for (var i = 0; i < length; i++) {
3407 var parsed = parseInt(string.substr(i * 2, 2), 16)
3408 if (isNaN(parsed)) throw new Error('Invalid hex string')
3409 buf[offset + i] = parsed
3af2954a 3410 }
ab78acc6
IC
3411 return i
3412}
3413
3414function utf8Write (buf, string, offset, length) {
3415 return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
3416}
3af2954a 3417
ab78acc6
IC
3418function asciiWrite (buf, string, offset, length) {
3419 return blitBuffer(asciiToBytes(string), buf, offset, length)
3420}
3af2954a 3421
ab78acc6
IC
3422function binaryWrite (buf, string, offset, length) {
3423 return asciiWrite(buf, string, offset, length)
3424}
3af2954a 3425
ab78acc6
IC
3426function base64Write (buf, string, offset, length) {
3427 return blitBuffer(base64ToBytes(string), buf, offset, length)
3428}
3af2954a 3429
ab78acc6
IC
3430function ucs2Write (buf, string, offset, length) {
3431 return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
3432}
3af2954a 3433
ab78acc6
IC
3434Buffer.prototype.write = function write (string, offset, length, encoding) {
3435 // Buffer#write(string)
3436 if (offset === undefined) {
3437 encoding = 'utf8'
3438 length = this.length
3439 offset = 0
3440 // Buffer#write(string, encoding)
3441 } else if (length === undefined && typeof offset === 'string') {
3442 encoding = offset
3443 length = this.length
3444 offset = 0
3445 // Buffer#write(string, offset[, length][, encoding])
3446 } else if (isFinite(offset)) {
3447 offset = offset | 0
3448 if (isFinite(length)) {
3449 length = length | 0
3450 if (encoding === undefined) encoding = 'utf8'
3451 } else {
3452 encoding = length
3453 length = undefined
3454 }
3455 // legacy write(string, encoding, offset, length) - remove in v0.13
3456 } else {
3457 var swap = encoding
3458 encoding = offset
3459 offset = length | 0
3460 length = swap
3af2954a
IC
3461 }
3462
ab78acc6
IC
3463 var remaining = this.length - offset
3464 if (length === undefined || length > remaining) length = remaining
3af2954a 3465
ab78acc6
IC
3466 if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
3467 throw new RangeError('attempt to write outside buffer bounds')
3468 }
3af2954a 3469
ab78acc6 3470 if (!encoding) encoding = 'utf8'
3af2954a 3471
ab78acc6
IC
3472 var loweredCase = false
3473 for (;;) {
3474 switch (encoding) {
3475 case 'hex':
3476 return hexWrite(this, string, offset, length)
ebd8d4e8 3477
ab78acc6
IC
3478 case 'utf8':
3479 case 'utf-8':
3480 return utf8Write(this, string, offset, length)
ebd8d4e8 3481
ab78acc6
IC
3482 case 'ascii':
3483 return asciiWrite(this, string, offset, length)
ebd8d4e8 3484
ab78acc6
IC
3485 case 'binary':
3486 return binaryWrite(this, string, offset, length)
ebd8d4e8 3487
ab78acc6
IC
3488 case 'base64':
3489 // Warning: maxLength not taken into account in base64Write
3490 return base64Write(this, string, offset, length)
ebd8d4e8 3491
ab78acc6
IC
3492 case 'ucs2':
3493 case 'ucs-2':
3494 case 'utf16le':
3495 case 'utf-16le':
3496 return ucs2Write(this, string, offset, length)
ebd8d4e8 3497
ab78acc6
IC
3498 default:
3499 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
3500 encoding = ('' + encoding).toLowerCase()
3501 loweredCase = true
3502 }
3503 }
3504}
212b1b46 3505
ab78acc6
IC
3506Buffer.prototype.toJSON = function toJSON () {
3507 return {
3508 type: 'Buffer',
3509 data: Array.prototype.slice.call(this._arr || this, 0)
3510 }
3511}
212b1b46 3512
ab78acc6
IC
3513function base64Slice (buf, start, end) {
3514 if (start === 0 && end === buf.length) {
3515 return base64.fromByteArray(buf)
3516 } else {
3517 return base64.fromByteArray(buf.slice(start, end))
3af2954a 3518 }
ab78acc6
IC
3519}
3520
3521function utf8Slice (buf, start, end) {
3522 end = Math.min(buf.length, end)
3523 var firstByte
3524 var secondByte
3525 var thirdByte
3526 var fourthByte
3527 var bytesPerSequence
3528 var tempCodePoint
3529 var codePoint
3530 var res = []
3531 var i = start
3532
3533 for (; i < end; i += bytesPerSequence) {
3534 firstByte = buf[i]
3535 codePoint = 0xFFFD
3536
3537 if (firstByte > 0xEF) {
3538 bytesPerSequence = 4
3539 } else if (firstByte > 0xDF) {
3540 bytesPerSequence = 3
3541 } else if (firstByte > 0xBF) {
3542 bytesPerSequence = 2
3543 } else {
3544 bytesPerSequence = 1
3545 }
212b1b46 3546
ab78acc6
IC
3547 if (i + bytesPerSequence <= end) {
3548 switch (bytesPerSequence) {
3549 case 1:
3550 if (firstByte < 0x80) {
3551 codePoint = firstByte
3552 }
3553 break
3554 case 2:
3555 secondByte = buf[i + 1]
3556 if ((secondByte & 0xC0) === 0x80) {
3557 tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
3558 if (tempCodePoint > 0x7F) {
3559 codePoint = tempCodePoint
3560 }
3561 }
3562 break
3563 case 3:
3564 secondByte = buf[i + 1]
3565 thirdByte = buf[i + 2]
3566 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
3567 tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
3568 if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
3569 codePoint = tempCodePoint
3570 }
3571 }
3572 break
3573 case 4:
3574 secondByte = buf[i + 1]
3575 thirdByte = buf[i + 2]
3576 fourthByte = buf[i + 3]
3577 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
3578 tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
3579 if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
3580 codePoint = tempCodePoint
3581 }
3582 }
3583 }
3584 }
212b1b46 3585
ab78acc6
IC
3586 if (codePoint === 0xFFFD) {
3587 // we generated an invalid codePoint so make sure to only advance by 1 byte
3588 bytesPerSequence = 1
3589 } else if (codePoint > 0xFFFF) {
3590 // encode to utf16 (surrogate pair dance)
3591 codePoint -= 0x10000
3592 res.push(codePoint >>> 10 & 0x3FF | 0xD800)
3593 codePoint = 0xDC00 | codePoint & 0x3FF
3594 }
212b1b46 3595
ab78acc6 3596 res.push(codePoint)
3af2954a 3597 }
212b1b46 3598
ab78acc6
IC
3599 return String.fromCharCode.apply(String, res)
3600}
212b1b46 3601
ab78acc6
IC
3602function asciiSlice (buf, start, end) {
3603 var ret = ''
3604 end = Math.min(buf.length, end)
3605
3606 for (var i = start; i < end; i++) {
3607 ret += String.fromCharCode(buf[i] & 0x7F)
3af2954a 3608 }
ab78acc6
IC
3609 return ret
3610}
212b1b46 3611
ab78acc6
IC
3612function binarySlice (buf, start, end) {
3613 var ret = ''
3614 end = Math.min(buf.length, end)
212b1b46 3615
ab78acc6
IC
3616 for (var i = start; i < end; i++) {
3617 ret += String.fromCharCode(buf[i])
3618 }
3619 return ret
3620}
212b1b46 3621
ab78acc6
IC
3622function hexSlice (buf, start, end) {
3623 var len = buf.length
212b1b46 3624
ab78acc6
IC
3625 if (!start || start < 0) start = 0
3626 if (!end || end < 0 || end > len) end = len
212b1b46 3627
ab78acc6
IC
3628 var out = ''
3629 for (var i = start; i < end; i++) {
3630 out += toHex(buf[i])
3631 }
3632 return out
3633}
212b1b46 3634
ab78acc6
IC
3635function utf16leSlice (buf, start, end) {
3636 var bytes = buf.slice(start, end)
3637 var res = ''
3638 for (var i = 0; i < bytes.length; i += 2) {
3639 res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
3640 }
3641 return res
3642}
212b1b46 3643
ab78acc6
IC
3644Buffer.prototype.slice = function slice (start, end) {
3645 var len = this.length
3646 start = ~~start
3647 end = end === undefined ? len : ~~end
212b1b46 3648
ab78acc6
IC
3649 if (start < 0) {
3650 start += len
3651 if (start < 0) start = 0
3652 } else if (start > len) {
3653 start = len
3654 }
212b1b46 3655
ab78acc6
IC
3656 if (end < 0) {
3657 end += len
3658 if (end < 0) end = 0
3659 } else if (end > len) {
3660 end = len
3661 }
212b1b46 3662
ab78acc6 3663 if (end < start) end = start
212b1b46 3664
ab78acc6
IC
3665 var newBuf
3666 if (Buffer.TYPED_ARRAY_SUPPORT) {
3667 newBuf = Buffer._augment(this.subarray(start, end))
3668 } else {
3669 var sliceLen = end - start
3670 newBuf = new Buffer(sliceLen, undefined)
3671 for (var i = 0; i < sliceLen; i++) {
3672 newBuf[i] = this[i + start]
3af2954a
IC
3673 }
3674 }
212b1b46 3675
ab78acc6 3676 if (newBuf.length) newBuf.parent = this.parent || this
ebd8d4e8 3677
ab78acc6
IC
3678 return newBuf
3679}
ebd8d4e8 3680
ab78acc6
IC
3681/*
3682 * Need to make sure that buffer isn't trying to write out of bounds.
3683 */
3684function checkOffset (offset, ext, length) {
3685 if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
3686 if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
3687}
ebd8d4e8 3688
ab78acc6
IC
3689Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
3690 offset = offset | 0
3691 byteLength = byteLength | 0
3692 if (!noAssert) checkOffset(offset, byteLength, this.length)
3af2954a 3693
ab78acc6
IC
3694 var val = this[offset]
3695 var mul = 1
3696 var i = 0
3697 while (++i < byteLength && (mul *= 0x100)) {
3698 val += this[offset + i] * mul
3699 }
3af2954a 3700
ab78acc6
IC
3701 return val
3702}
3af2954a 3703
ab78acc6
IC
3704Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
3705 offset = offset | 0
3706 byteLength = byteLength | 0
3707 if (!noAssert) {
3708 checkOffset(offset, byteLength, this.length)
3709 }
3af2954a 3710
ab78acc6
IC
3711 var val = this[offset + --byteLength]
3712 var mul = 1
3713 while (byteLength > 0 && (mul *= 0x100)) {
3714 val += this[offset + --byteLength] * mul
3af2954a
IC
3715 }
3716
ab78acc6
IC
3717 return val
3718}
3af2954a 3719
ab78acc6
IC
3720Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
3721 if (!noAssert) checkOffset(offset, 1, this.length)
3722 return this[offset]
3723}
3af2954a 3724
ab78acc6
IC
3725Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
3726 if (!noAssert) checkOffset(offset, 2, this.length)
3727 return this[offset] | (this[offset + 1] << 8)
3728}
3af2954a 3729
ab78acc6
IC
3730Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
3731 if (!noAssert) checkOffset(offset, 2, this.length)
3732 return (this[offset] << 8) | this[offset + 1]
3733}
ebd8d4e8 3734
ab78acc6
IC
3735Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
3736 if (!noAssert) checkOffset(offset, 4, this.length)
3af2954a 3737
ab78acc6
IC
3738 return ((this[offset]) |
3739 (this[offset + 1] << 8) |
3740 (this[offset + 2] << 16)) +
3741 (this[offset + 3] * 0x1000000)
3742}
3af2954a 3743
ab78acc6
IC
3744Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
3745 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3746
ab78acc6
IC
3747 return (this[offset] * 0x1000000) +
3748 ((this[offset + 1] << 16) |
3749 (this[offset + 2] << 8) |
3750 this[offset + 3])
3751}
ebd8d4e8 3752
ab78acc6
IC
3753Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
3754 offset = offset | 0
3755 byteLength = byteLength | 0
3756 if (!noAssert) checkOffset(offset, byteLength, this.length)
ebd8d4e8 3757
ab78acc6
IC
3758 var val = this[offset]
3759 var mul = 1
3760 var i = 0
3761 while (++i < byteLength && (mul *= 0x100)) {
3762 val += this[offset + i] * mul
ebd8d4e8 3763 }
ab78acc6 3764 mul *= 0x80
ebd8d4e8 3765
ab78acc6
IC
3766 if (val >= mul) val -= Math.pow(2, 8 * byteLength)
3767
3768 return val
ebd8d4e8
IC
3769}
3770
ab78acc6
IC
3771Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
3772 offset = offset | 0
3773 byteLength = byteLength | 0
3774 if (!noAssert) checkOffset(offset, byteLength, this.length)
ebd8d4e8 3775
ab78acc6
IC
3776 var i = byteLength
3777 var mul = 1
3778 var val = this[offset + --i]
3779 while (i > 0 && (mul *= 0x100)) {
3780 val += this[offset + --i] * mul
3781 }
3782 mul *= 0x80
ebd8d4e8 3783
ab78acc6 3784 if (val >= mul) val -= Math.pow(2, 8 * byteLength)
ebd8d4e8 3785
ab78acc6
IC
3786 return val
3787}
ebd8d4e8 3788
ab78acc6
IC
3789Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
3790 if (!noAssert) checkOffset(offset, 1, this.length)
3791 if (!(this[offset] & 0x80)) return (this[offset])
3792 return ((0xff - this[offset] + 1) * -1)
ebd8d4e8 3793}
ab78acc6
IC
3794
3795Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
3796 if (!noAssert) checkOffset(offset, 2, this.length)
3797 var val = this[offset] | (this[offset + 1] << 8)
3798 return (val & 0x8000) ? val | 0xFFFF0000 : val
ebd8d4e8 3799}
ab78acc6
IC
3800
3801Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
3802 if (!noAssert) checkOffset(offset, 2, this.length)
3803 var val = this[offset + 1] | (this[offset] << 8)
3804 return (val & 0x8000) ? val | 0xFFFF0000 : val
ebd8d4e8
IC
3805}
3806
ab78acc6
IC
3807Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
3808 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3809
ab78acc6
IC
3810 return (this[offset]) |
3811 (this[offset + 1] << 8) |
3812 (this[offset + 2] << 16) |
3813 (this[offset + 3] << 24)
ebd8d4e8 3814}
ebd8d4e8 3815
ab78acc6
IC
3816Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
3817 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3818
ab78acc6
IC
3819 return (this[offset] << 24) |
3820 (this[offset + 1] << 16) |
3821 (this[offset + 2] << 8) |
3822 (this[offset + 3])
ebd8d4e8
IC
3823}
3824
ab78acc6
IC
3825Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
3826 if (!noAssert) checkOffset(offset, 4, this.length)
3827 return ieee754.read(this, offset, true, 23, 4)
ebd8d4e8
IC
3828}
3829
ab78acc6
IC
3830Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
3831 if (!noAssert) checkOffset(offset, 4, this.length)
3832 return ieee754.read(this, offset, false, 23, 4)
ebd8d4e8
IC
3833}
3834
ab78acc6
IC
3835Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
3836 if (!noAssert) checkOffset(offset, 8, this.length)
3837 return ieee754.read(this, offset, true, 52, 8)
ebd8d4e8
IC
3838}
3839
ab78acc6
IC
3840Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
3841 if (!noAssert) checkOffset(offset, 8, this.length)
3842 return ieee754.read(this, offset, false, 52, 8)
ebd8d4e8
IC
3843}
3844
ab78acc6
IC
3845function checkInt (buf, value, offset, ext, max, min) {
3846 if (!Buffer.isBuffer(buf)) throw new TypeError('buffer must be a Buffer instance')
3847 if (value > max || value < min) throw new RangeError('value is out of bounds')
3848 if (offset + ext > buf.length) throw new RangeError('index out of range')
ebd8d4e8
IC
3849}
3850
ab78acc6
IC
3851Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
3852 value = +value
3853 offset = offset | 0
3854 byteLength = byteLength | 0
3855 if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
ebd8d4e8 3856
ab78acc6
IC
3857 var mul = 1
3858 var i = 0
3859 this[offset] = value & 0xFF
3860 while (++i < byteLength && (mul *= 0x100)) {
3861 this[offset + i] = (value / mul) & 0xFF
3862 }
ebd8d4e8 3863
ab78acc6 3864 return offset + byteLength
ebd8d4e8
IC
3865}
3866
ab78acc6
IC
3867Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
3868 value = +value
3869 offset = offset | 0
3870 byteLength = byteLength | 0
3871 if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
ebd8d4e8 3872
ab78acc6
IC
3873 var i = byteLength - 1
3874 var mul = 1
3875 this[offset + i] = value & 0xFF
3876 while (--i >= 0 && (mul *= 0x100)) {
3877 this[offset + i] = (value / mul) & 0xFF
3878 }
ebd8d4e8 3879
ab78acc6 3880 return offset + byteLength
ebd8d4e8
IC
3881}
3882
ab78acc6
IC
3883Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
3884 value = +value
3885 offset = offset | 0
3886 if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
3887 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
3888 this[offset] = value
3889 return offset + 1
ebd8d4e8
IC
3890}
3891
ab78acc6
IC
3892function objectWriteUInt16 (buf, value, offset, littleEndian) {
3893 if (value < 0) value = 0xffff + value + 1
3894 for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; i++) {
3895 buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
3896 (littleEndian ? i : 1 - i) * 8
ebd8d4e8 3897 }
ebd8d4e8
IC
3898}
3899
ab78acc6
IC
3900Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
3901 value = +value
3902 offset = offset | 0
3903 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
3904 if (Buffer.TYPED_ARRAY_SUPPORT) {
3905 this[offset] = value
3906 this[offset + 1] = (value >>> 8)
3907 } else {
3908 objectWriteUInt16(this, value, offset, true)
3909 }
3910 return offset + 2
ebd8d4e8
IC
3911}
3912
ab78acc6
IC
3913Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
3914 value = +value
3915 offset = offset | 0
3916 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
3917 if (Buffer.TYPED_ARRAY_SUPPORT) {
3918 this[offset] = (value >>> 8)
3919 this[offset + 1] = value
3920 } else {
3921 objectWriteUInt16(this, value, offset, false)
ebd8d4e8 3922 }
ab78acc6 3923 return offset + 2
ebd8d4e8
IC
3924}
3925
ab78acc6
IC
3926function objectWriteUInt32 (buf, value, offset, littleEndian) {
3927 if (value < 0) value = 0xffffffff + value + 1
3928 for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; i++) {
3929 buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
3930 }
ebd8d4e8
IC
3931}
3932
ab78acc6
IC
3933Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
3934 value = +value
3935 offset = offset | 0
3936 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
3937 if (Buffer.TYPED_ARRAY_SUPPORT) {
3938 this[offset + 3] = (value >>> 24)
3939 this[offset + 2] = (value >>> 16)
3940 this[offset + 1] = (value >>> 8)
3941 this[offset] = value
3942 } else {
3943 objectWriteUInt32(this, value, offset, true)
ebd8d4e8 3944 }
ab78acc6 3945 return offset + 4
ebd8d4e8
IC
3946}
3947
ab78acc6
IC
3948Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
3949 value = +value
3950 offset = offset | 0
3951 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
3952 if (Buffer.TYPED_ARRAY_SUPPORT) {
3953 this[offset] = (value >>> 24)
3954 this[offset + 1] = (value >>> 16)
3955 this[offset + 2] = (value >>> 8)
3956 this[offset + 3] = value
3957 } else {
3958 objectWriteUInt32(this, value, offset, false)
ebd8d4e8 3959 }
ab78acc6
IC
3960 return offset + 4
3961}
3962
3963Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
3964 value = +value
3965 offset = offset | 0
3966 if (!noAssert) {
3967 var limit = Math.pow(2, 8 * byteLength - 1)
3968
3969 checkInt(this, value, offset, byteLength, limit - 1, -limit)
ebd8d4e8 3970 }
ab78acc6
IC
3971
3972 var i = 0
3973 var mul = 1
3974 var sub = value < 0 ? 1 : 0
3975 this[offset] = value & 0xFF
3976 while (++i < byteLength && (mul *= 0x100)) {
3977 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
ebd8d4e8 3978 }
ebd8d4e8 3979
ab78acc6 3980 return offset + byteLength
ebd8d4e8
IC
3981}
3982
ab78acc6
IC
3983Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
3984 value = +value
3985 offset = offset | 0
3986 if (!noAssert) {
3987 var limit = Math.pow(2, 8 * byteLength - 1)
ebd8d4e8 3988
ab78acc6
IC
3989 checkInt(this, value, offset, byteLength, limit - 1, -limit)
3990 }
ebd8d4e8 3991
ab78acc6
IC
3992 var i = byteLength - 1
3993 var mul = 1
3994 var sub = value < 0 ? 1 : 0
3995 this[offset + i] = value & 0xFF
3996 while (--i >= 0 && (mul *= 0x100)) {
3997 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
3998 }
3999
4000 return offset + byteLength
ebd8d4e8
IC
4001}
4002
ab78acc6
IC
4003Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
4004 value = +value
4005 offset = offset | 0
4006 if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
4007 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
4008 if (value < 0) value = 0xff + value + 1
4009 this[offset] = value
4010 return offset + 1
ebd8d4e8
IC
4011}
4012
ab78acc6
IC
4013Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
4014 value = +value
4015 offset = offset | 0
4016 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
4017 if (Buffer.TYPED_ARRAY_SUPPORT) {
4018 this[offset] = value
4019 this[offset + 1] = (value >>> 8)
4020 } else {
4021 objectWriteUInt16(this, value, offset, true)
4022 }
4023 return offset + 2
ebd8d4e8
IC
4024}
4025
ab78acc6
IC
4026Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
4027 value = +value
4028 offset = offset | 0
4029 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
4030 if (Buffer.TYPED_ARRAY_SUPPORT) {
4031 this[offset] = (value >>> 8)
4032 this[offset + 1] = value
4033 } else {
4034 objectWriteUInt16(this, value, offset, false)
4035 }
4036 return offset + 2
ebd8d4e8
IC
4037}
4038
ab78acc6
IC
4039Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
4040 value = +value
4041 offset = offset | 0
4042 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
4043 if (Buffer.TYPED_ARRAY_SUPPORT) {
4044 this[offset] = value
4045 this[offset + 1] = (value >>> 8)
4046 this[offset + 2] = (value >>> 16)
4047 this[offset + 3] = (value >>> 24)
4048 } else {
4049 objectWriteUInt32(this, value, offset, true)
4050 }
4051 return offset + 4
4052}
4053
4054Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
4055 value = +value
4056 offset = offset | 0
4057 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
4058 if (value < 0) value = 0xffffffff + value + 1
4059 if (Buffer.TYPED_ARRAY_SUPPORT) {
4060 this[offset] = (value >>> 24)
4061 this[offset + 1] = (value >>> 16)
4062 this[offset + 2] = (value >>> 8)
4063 this[offset + 3] = value
4064 } else {
4065 objectWriteUInt32(this, value, offset, false)
ebd8d4e8 4066 }
ab78acc6 4067 return offset + 4
ebd8d4e8
IC
4068}
4069
ab78acc6
IC
4070function checkIEEE754 (buf, value, offset, ext, max, min) {
4071 if (value > max || value < min) throw new RangeError('value is out of bounds')
4072 if (offset + ext > buf.length) throw new RangeError('index out of range')
4073 if (offset < 0) throw new RangeError('index out of range')
4074}
ebd8d4e8 4075
ab78acc6
IC
4076function writeFloat (buf, value, offset, littleEndian, noAssert) {
4077 if (!noAssert) {
4078 checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
4079 }
4080 ieee754.write(buf, value, offset, littleEndian, 23, 4)
4081 return offset + 4
4082}
ebd8d4e8 4083
ab78acc6
IC
4084Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
4085 return writeFloat(this, value, offset, true, noAssert)
4086}
ebd8d4e8 4087
ab78acc6
IC
4088Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
4089 return writeFloat(this, value, offset, false, noAssert)
4090}
ebd8d4e8 4091
ab78acc6
IC
4092function writeDouble (buf, value, offset, littleEndian, noAssert) {
4093 if (!noAssert) {
4094 checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
ebd8d4e8 4095 }
ab78acc6
IC
4096 ieee754.write(buf, value, offset, littleEndian, 52, 8)
4097 return offset + 8
ebd8d4e8
IC
4098}
4099
ab78acc6
IC
4100Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
4101 return writeDouble(this, value, offset, true, noAssert)
ebd8d4e8
IC
4102}
4103
ab78acc6
IC
4104Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
4105 return writeDouble(this, value, offset, false, noAssert)
4106}
ebd8d4e8 4107
ab78acc6
IC
4108// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
4109Buffer.prototype.copy = function copy (target, targetStart, start, end) {
4110 if (!start) start = 0
4111 if (!end && end !== 0) end = this.length
4112 if (targetStart >= target.length) targetStart = target.length
4113 if (!targetStart) targetStart = 0
4114 if (end > 0 && end < start) end = start
4115
4116 // Copy 0 bytes; we're done
4117 if (end === start) return 0
4118 if (target.length === 0 || this.length === 0) return 0
ebd8d4e8 4119
ab78acc6
IC
4120 // Fatal error conditions
4121 if (targetStart < 0) {
4122 throw new RangeError('targetStart out of bounds')
4123 }
4124 if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
4125 if (end < 0) throw new RangeError('sourceEnd out of bounds')
ebd8d4e8 4126
ab78acc6
IC
4127 // Are we oob?
4128 if (end > this.length) end = this.length
4129 if (target.length - targetStart < end - start) {
4130 end = target.length - targetStart + start
4131 }
ebd8d4e8 4132
ab78acc6
IC
4133 var len = end - start
4134 var i
ebd8d4e8 4135
ab78acc6
IC
4136 if (this === target && start < targetStart && targetStart < end) {
4137 // descending copy from end
4138 for (i = len - 1; i >= 0; i--) {
4139 target[i + targetStart] = this[i + start]
4140 }
4141 } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
4142 // ascending copy from start
4143 for (i = 0; i < len; i++) {
4144 target[i + targetStart] = this[i + start]
4145 }
4146 } else {
4147 target._set(this.subarray(start, start + len), targetStart)
ebd8d4e8 4148 }
ebd8d4e8 4149
ab78acc6
IC
4150 return len
4151}
ebd8d4e8 4152
ab78acc6
IC
4153// fill(value, start=0, end=buffer.length)
4154Buffer.prototype.fill = function fill (value, start, end) {
4155 if (!value) value = 0
4156 if (!start) start = 0
4157 if (!end) end = this.length
ebd8d4e8 4158
ab78acc6 4159 if (end < start) throw new RangeError('end < start')
ebd8d4e8 4160
ab78acc6
IC
4161 // Fill 0 bytes; we're done
4162 if (end === start) return
4163 if (this.length === 0) return
ebd8d4e8 4164
ab78acc6
IC
4165 if (start < 0 || start >= this.length) throw new RangeError('start out of bounds')
4166 if (end < 0 || end > this.length) throw new RangeError('end out of bounds')
ebd8d4e8 4167
ab78acc6
IC
4168 var i
4169 if (typeof value === 'number') {
4170 for (i = start; i < end; i++) {
4171 this[i] = value
ebd8d4e8 4172 }
ab78acc6
IC
4173 } else {
4174 var bytes = utf8ToBytes(value.toString())
4175 var len = bytes.length
4176 for (i = start; i < end; i++) {
4177 this[i] = bytes[i % len]
ebd8d4e8
IC
4178 }
4179 }
ebd8d4e8 4180
ab78acc6 4181 return this
ebd8d4e8
IC
4182}
4183
ab78acc6
IC
4184/**
4185 * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
4186 * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
4187 */
4188Buffer.prototype.toArrayBuffer = function toArrayBuffer () {
4189 if (typeof Uint8Array !== 'undefined') {
4190 if (Buffer.TYPED_ARRAY_SUPPORT) {
4191 return (new Buffer(this)).buffer
4192 } else {
4193 var buf = new Uint8Array(this.length)
4194 for (var i = 0, len = buf.length; i < len; i += 1) {
4195 buf[i] = this[i]
ebd8d4e8 4196 }
ab78acc6 4197 return buf.buffer
ebd8d4e8 4198 }
ab78acc6
IC
4199 } else {
4200 throw new TypeError('Buffer.toArrayBuffer not supported in this browser')
ebd8d4e8 4201 }
ebd8d4e8
IC
4202}
4203
ab78acc6
IC
4204// HELPER FUNCTIONS
4205// ================
ebd8d4e8 4206
ab78acc6 4207var BP = Buffer.prototype
ebd8d4e8 4208
ab78acc6
IC
4209/**
4210 * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
4211 */
4212Buffer._augment = function _augment (arr) {
4213 arr.constructor = Buffer
4214 arr._isBuffer = true
ebd8d4e8 4215
ab78acc6
IC
4216 // save reference to original Uint8Array set method before overwriting
4217 arr._set = arr.set
ebd8d4e8 4218
ab78acc6
IC
4219 // deprecated
4220 arr.get = BP.get
4221 arr.set = BP.set
ebd8d4e8 4222
ab78acc6
IC
4223 arr.write = BP.write
4224 arr.toString = BP.toString
4225 arr.toLocaleString = BP.toString
4226 arr.toJSON = BP.toJSON
4227 arr.equals = BP.equals
4228 arr.compare = BP.compare
4229 arr.indexOf = BP.indexOf
4230 arr.copy = BP.copy
4231 arr.slice = BP.slice
4232 arr.readUIntLE = BP.readUIntLE
4233 arr.readUIntBE = BP.readUIntBE
4234 arr.readUInt8 = BP.readUInt8
4235 arr.readUInt16LE = BP.readUInt16LE
4236 arr.readUInt16BE = BP.readUInt16BE
4237 arr.readUInt32LE = BP.readUInt32LE
4238 arr.readUInt32BE = BP.readUInt32BE
4239 arr.readIntLE = BP.readIntLE
4240 arr.readIntBE = BP.readIntBE
4241 arr.readInt8 = BP.readInt8
4242 arr.readInt16LE = BP.readInt16LE
4243 arr.readInt16BE = BP.readInt16BE
4244 arr.readInt32LE = BP.readInt32LE
4245 arr.readInt32BE = BP.readInt32BE
4246 arr.readFloatLE = BP.readFloatLE
4247 arr.readFloatBE = BP.readFloatBE
4248 arr.readDoubleLE = BP.readDoubleLE
4249 arr.readDoubleBE = BP.readDoubleBE
4250 arr.writeUInt8 = BP.writeUInt8
4251 arr.writeUIntLE = BP.writeUIntLE
4252 arr.writeUIntBE = BP.writeUIntBE
4253 arr.writeUInt16LE = BP.writeUInt16LE
4254 arr.writeUInt16BE = BP.writeUInt16BE
4255 arr.writeUInt32LE = BP.writeUInt32LE
4256 arr.writeUInt32BE = BP.writeUInt32BE
4257 arr.writeIntLE = BP.writeIntLE
4258 arr.writeIntBE = BP.writeIntBE
4259 arr.writeInt8 = BP.writeInt8
4260 arr.writeInt16LE = BP.writeInt16LE
4261 arr.writeInt16BE = BP.writeInt16BE
4262 arr.writeInt32LE = BP.writeInt32LE
4263 arr.writeInt32BE = BP.writeInt32BE
4264 arr.writeFloatLE = BP.writeFloatLE
4265 arr.writeFloatBE = BP.writeFloatBE
4266 arr.writeDoubleLE = BP.writeDoubleLE
4267 arr.writeDoubleBE = BP.writeDoubleBE
4268 arr.fill = BP.fill
4269 arr.inspect = BP.inspect
4270 arr.toArrayBuffer = BP.toArrayBuffer
ebd8d4e8 4271
ab78acc6 4272 return arr
ebd8d4e8
IC
4273}
4274
ab78acc6 4275var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
ebd8d4e8 4276
ab78acc6
IC
4277function base64clean (str) {
4278 // Node strips out invalid characters like \n and \t from the string, base64-js does not
4279 str = stringtrim(str).replace(INVALID_BASE64_RE, '')
4280 // Node converts strings with length < 2 to ''
4281 if (str.length < 2) return ''
4282 // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
4283 while (str.length % 4 !== 0) {
4284 str = str + '='
4285 }
4286 return str
ebd8d4e8
IC
4287}
4288
ab78acc6
IC
4289function stringtrim (str) {
4290 if (str.trim) return str.trim()
4291 return str.replace(/^\s+|\s+$/g, '')
ebd8d4e8
IC
4292}
4293
ab78acc6
IC
4294function toHex (n) {
4295 if (n < 16) return '0' + n.toString(16)
4296 return n.toString(16)
ebd8d4e8
IC
4297}
4298
ab78acc6
IC
4299function utf8ToBytes (string, units) {
4300 units = units || Infinity
4301 var codePoint
4302 var length = string.length
4303 var leadSurrogate = null
4304 var bytes = []
ebd8d4e8 4305
ab78acc6
IC
4306 for (var i = 0; i < length; i++) {
4307 codePoint = string.charCodeAt(i)
ebd8d4e8 4308
ab78acc6
IC
4309 // is surrogate component
4310 if (codePoint > 0xD7FF && codePoint < 0xE000) {
4311 // last char was a lead
4312 if (!leadSurrogate) {
4313 // no lead yet
4314 if (codePoint > 0xDBFF) {
4315 // unexpected trail
4316 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4317 continue
ebd8d4e8 4318
ab78acc6
IC
4319 } else if (i + 1 === length) {
4320 // unpaired lead
4321 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4322 continue
4323 }
ebd8d4e8 4324
ab78acc6
IC
4325 // valid lead
4326 leadSurrogate = codePoint
ebd8d4e8 4327
ab78acc6
IC
4328 continue
4329 }
ebd8d4e8 4330
ab78acc6
IC
4331 // 2 leads in a row
4332 if (codePoint < 0xDC00) {
4333 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4334 leadSurrogate = codePoint
4335 continue
4336 }
ebd8d4e8 4337
ab78acc6
IC
4338 // valid surrogate pair
4339 codePoint = leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00 | 0x10000
4340
4341 } else if (leadSurrogate) {
4342 // valid bmp char, but last char was a lead
4343 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4344 }
4345
4346 leadSurrogate = null
4347
4348 // encode utf8
4349 if (codePoint < 0x80) {
4350 if ((units -= 1) < 0) break
4351 bytes.push(codePoint)
4352 } else if (codePoint < 0x800) {
4353 if ((units -= 2) < 0) break
4354 bytes.push(
4355 codePoint >> 0x6 | 0xC0,
4356 codePoint & 0x3F | 0x80
4357 )
4358 } else if (codePoint < 0x10000) {
4359 if ((units -= 3) < 0) break
4360 bytes.push(
4361 codePoint >> 0xC | 0xE0,
4362 codePoint >> 0x6 & 0x3F | 0x80,
4363 codePoint & 0x3F | 0x80
4364 )
4365 } else if (codePoint < 0x110000) {
4366 if ((units -= 4) < 0) break
4367 bytes.push(
4368 codePoint >> 0x12 | 0xF0,
4369 codePoint >> 0xC & 0x3F | 0x80,
4370 codePoint >> 0x6 & 0x3F | 0x80,
4371 codePoint & 0x3F | 0x80
4372 )
4373 } else {
4374 throw new Error('Invalid code point')
ebd8d4e8 4375 }
ebd8d4e8 4376 }
ab78acc6
IC
4377
4378 return bytes
4379}
4380
4381function asciiToBytes (str) {
4382 var byteArray = []
4383 for (var i = 0; i < str.length; i++) {
4384 // Node's code seems to be doing this and not & 0x7F..
4385 byteArray.push(str.charCodeAt(i) & 0xFF)
ebd8d4e8 4386 }
ab78acc6 4387 return byteArray
ebd8d4e8
IC
4388}
4389
ab78acc6
IC
4390function utf16leToBytes (str, units) {
4391 var c, hi, lo
4392 var byteArray = []
4393 for (var i = 0; i < str.length; i++) {
4394 if ((units -= 2) < 0) break
ebd8d4e8 4395
ab78acc6
IC
4396 c = str.charCodeAt(i)
4397 hi = c >> 8
4398 lo = c % 256
4399 byteArray.push(lo)
4400 byteArray.push(hi)
4401 }
ebd8d4e8 4402
ab78acc6
IC
4403 return byteArray
4404}
ebd8d4e8 4405
ab78acc6
IC
4406function base64ToBytes (str) {
4407 return base64.toByteArray(base64clean(str))
4408}
ebd8d4e8 4409
ab78acc6
IC
4410function blitBuffer (src, dst, offset, length) {
4411 for (var i = 0; i < length; i++) {
4412 if ((i + offset >= dst.length) || (i >= src.length)) break
4413 dst[i + offset] = src[i]
4414 }
4415 return i
4416}
4417
4418},{"base64-js":8,"ieee754":9,"is-array":10}],8:[function(require,module,exports){
4419var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
4420
4421;(function (exports) {
4422 'use strict';
4423
4424 var Arr = (typeof Uint8Array !== 'undefined')
4425 ? Uint8Array
4426 : Array
ebd8d4e8 4427
ab78acc6
IC
4428 var PLUS = '+'.charCodeAt(0)
4429 var SLASH = '/'.charCodeAt(0)
4430 var NUMBER = '0'.charCodeAt(0)
4431 var LOWER = 'a'.charCodeAt(0)
4432 var UPPER = 'A'.charCodeAt(0)
4433 var PLUS_URL_SAFE = '-'.charCodeAt(0)
4434 var SLASH_URL_SAFE = '_'.charCodeAt(0)
ebd8d4e8 4435
ab78acc6
IC
4436 function decode (elt) {
4437 var code = elt.charCodeAt(0)
4438 if (code === PLUS ||
4439 code === PLUS_URL_SAFE)
4440 return 62 // '+'
4441 if (code === SLASH ||
4442 code === SLASH_URL_SAFE)
4443 return 63 // '/'
4444 if (code < NUMBER)
4445 return -1 //no match
4446 if (code < NUMBER + 10)
4447 return code - NUMBER + 26 + 26
4448 if (code < UPPER + 26)
4449 return code - UPPER
4450 if (code < LOWER + 26)
4451 return code - LOWER + 26
4452 }
ebd8d4e8 4453
ab78acc6
IC
4454 function b64ToByteArray (b64) {
4455 var i, j, l, tmp, placeHolders, arr
ebd8d4e8 4456
ab78acc6
IC
4457 if (b64.length % 4 > 0) {
4458 throw new Error('Invalid string. Length must be a multiple of 4')
4459 }
ebd8d4e8 4460
ab78acc6
IC
4461 // the number of equal signs (place holders)
4462 // if there are two placeholders, than the two characters before it
4463 // represent one byte
4464 // if there is only one, then the three characters before it represent 2 bytes
4465 // this is just a cheap hack to not do indexOf twice
4466 var len = b64.length
4467 placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
ebd8d4e8 4468
ab78acc6
IC
4469 // base64 is 4/3 + up to two characters of the original data
4470 arr = new Arr(b64.length * 3 / 4 - placeHolders)
ebd8d4e8 4471
ab78acc6
IC
4472 // if there are placeholders, only get up to the last complete 4 chars
4473 l = placeHolders > 0 ? b64.length - 4 : b64.length
ebd8d4e8 4474
ab78acc6 4475 var L = 0
ebd8d4e8 4476
ab78acc6
IC
4477 function push (v) {
4478 arr[L++] = v
4479 }
ebd8d4e8 4480
ab78acc6
IC
4481 for (i = 0, j = 0; i < l; i += 4, j += 3) {
4482 tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
4483 push((tmp & 0xFF0000) >> 16)
4484 push((tmp & 0xFF00) >> 8)
4485 push(tmp & 0xFF)
4486 }
ebd8d4e8 4487
ab78acc6
IC
4488 if (placeHolders === 2) {
4489 tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
4490 push(tmp & 0xFF)
4491 } else if (placeHolders === 1) {
4492 tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
4493 push((tmp >> 8) & 0xFF)
4494 push(tmp & 0xFF)
4495 }
ebd8d4e8 4496
ab78acc6
IC
4497 return arr
4498 }
ebd8d4e8 4499
ab78acc6
IC
4500 function uint8ToBase64 (uint8) {
4501 var i,
4502 extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
4503 output = "",
4504 temp, length
ebd8d4e8 4505
ab78acc6
IC
4506 function encode (num) {
4507 return lookup.charAt(num)
4508 }
ebd8d4e8 4509
ab78acc6
IC
4510 function tripletToBase64 (num) {
4511 return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
4512 }
ebd8d4e8 4513
ab78acc6
IC
4514 // go through the array every three bytes, we'll deal with trailing stuff later
4515 for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
4516 temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
4517 output += tripletToBase64(temp)
4518 }
ebd8d4e8 4519
ab78acc6
IC
4520 // pad the end with zeros, but make sure to not forget the extra bytes
4521 switch (extraBytes) {
4522 case 1:
4523 temp = uint8[uint8.length - 1]
4524 output += encode(temp >> 2)
4525 output += encode((temp << 4) & 0x3F)
4526 output += '=='
4527 break
4528 case 2:
4529 temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
4530 output += encode(temp >> 10)
4531 output += encode((temp >> 4) & 0x3F)
4532 output += encode((temp << 2) & 0x3F)
4533 output += '='
4534 break
4535 }
ebd8d4e8 4536
ab78acc6
IC
4537 return output
4538 }
ebd8d4e8 4539
ab78acc6
IC
4540 exports.toByteArray = b64ToByteArray
4541 exports.fromByteArray = uint8ToBase64
4542}(typeof exports === 'undefined' ? (this.base64js = {}) : exports))
ebd8d4e8 4543
ab78acc6
IC
4544},{}],9:[function(require,module,exports){
4545exports.read = function (buffer, offset, isLE, mLen, nBytes) {
4546 var e, m
4547 var eLen = nBytes * 8 - mLen - 1
4548 var eMax = (1 << eLen) - 1
4549 var eBias = eMax >> 1
4550 var nBits = -7
4551 var i = isLE ? (nBytes - 1) : 0
4552 var d = isLE ? -1 : 1
4553 var s = buffer[offset + i]
4554
4555 i += d
4556
4557 e = s & ((1 << (-nBits)) - 1)
4558 s >>= (-nBits)
4559 nBits += eLen
4560 for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
4561
4562 m = e & ((1 << (-nBits)) - 1)
4563 e >>= (-nBits)
4564 nBits += mLen
4565 for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
ebd8d4e8 4566
ab78acc6
IC
4567 if (e === 0) {
4568 e = 1 - eBias
4569 } else if (e === eMax) {
4570 return m ? NaN : ((s ? -1 : 1) * Infinity)
4571 } else {
4572 m = m + Math.pow(2, mLen)
4573 e = e - eBias
ebd8d4e8 4574 }
ab78acc6 4575 return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
ebd8d4e8
IC
4576}
4577
ab78acc6
IC
4578exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
4579 var e, m, c
4580 var eLen = nBytes * 8 - mLen - 1
4581 var eMax = (1 << eLen) - 1
4582 var eBias = eMax >> 1
4583 var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
4584 var i = isLE ? 0 : (nBytes - 1)
4585 var d = isLE ? 1 : -1
4586 var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
ebd8d4e8 4587
ab78acc6 4588 value = Math.abs(value)
ebd8d4e8 4589
ab78acc6
IC
4590 if (isNaN(value) || value === Infinity) {
4591 m = isNaN(value) ? 1 : 0
4592 e = eMax
4593 } else {
4594 e = Math.floor(Math.log(value) / Math.LN2)
4595 if (value * (c = Math.pow(2, -e)) < 1) {
4596 e--
4597 c *= 2
ebd8d4e8 4598 }
ab78acc6
IC
4599 if (e + eBias >= 1) {
4600 value += rt / c
4601 } else {
4602 value += rt * Math.pow(2, 1 - eBias)
ebd8d4e8 4603 }
ab78acc6
IC
4604 if (value * c >= 2) {
4605 e++
4606 c /= 2
ebd8d4e8 4607 }
ab78acc6
IC
4608
4609 if (e + eBias >= eMax) {
4610 m = 0
4611 e = eMax
4612 } else if (e + eBias >= 1) {
4613 m = (value * c - 1) * Math.pow(2, mLen)
4614 e = e + eBias
4615 } else {
4616 m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
4617 e = 0
ebd8d4e8
IC
4618 }
4619 }
ebd8d4e8 4620
ab78acc6 4621 for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
ebd8d4e8 4622
ab78acc6
IC
4623 e = (e << mLen) | m
4624 eLen += mLen
4625 for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
ebd8d4e8 4626
ab78acc6
IC
4627 buffer[offset + i - d] |= s * 128
4628}
ebd8d4e8 4629
ab78acc6 4630},{}],10:[function(require,module,exports){
ebd8d4e8 4631
ab78acc6
IC
4632/**
4633 * isArray
4634 */
ebd8d4e8 4635
ab78acc6 4636var isArray = Array.isArray;
ebd8d4e8
IC
4637
4638/**
ab78acc6 4639 * toString
ebd8d4e8 4640 */
ebd8d4e8 4641
ab78acc6 4642var str = Object.prototype.toString;
ebd8d4e8
IC
4643
4644/**
ab78acc6
IC
4645 * Whether or not the given `val`
4646 * is an array.
ebd8d4e8 4647 *
ab78acc6
IC
4648 * example:
4649 *
4650 * isArray([]);
4651 * // > true
4652 * isArray(arguments);
4653 * // > false
4654 * isArray('');
4655 * // > false
4656 *
4657 * @param {mixed} val
4658 * @return {bool}
ebd8d4e8 4659 */
ebd8d4e8 4660
ab78acc6
IC
4661module.exports = isArray || function (val) {
4662 return !! val && '[object Array]' == str.call(val);
4663};
4664
4665},{}],11:[function(require,module,exports){
4666// Copyright Joyent, Inc. and other Node contributors.
4667//
4668// Permission is hereby granted, free of charge, to any person obtaining a
4669// copy of this software and associated documentation files (the
4670// "Software"), to deal in the Software without restriction, including
4671// without limitation the rights to use, copy, modify, merge, publish,
4672// distribute, sublicense, and/or sell copies of the Software, and to permit
4673// persons to whom the Software is furnished to do so, subject to the
4674// following conditions:
4675//
4676// The above copyright notice and this permission notice shall be included
4677// in all copies or substantial portions of the Software.
4678//
4679// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
4680// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4681// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
4682// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
4683// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
4684// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
4685// USE OR OTHER DEALINGS IN THE SOFTWARE.
4686
4687function EventEmitter() {
4688 this._events = this._events || {};
4689 this._maxListeners = this._maxListeners || undefined;
ebd8d4e8 4690}
ab78acc6 4691module.exports = EventEmitter;
ebd8d4e8 4692
ab78acc6
IC
4693// Backwards-compat with node 0.10.x
4694EventEmitter.EventEmitter = EventEmitter;
ebd8d4e8 4695
ab78acc6
IC
4696EventEmitter.prototype._events = undefined;
4697EventEmitter.prototype._maxListeners = undefined;
4698
4699// By default EventEmitters will print a warning if more than 10 listeners are
4700// added to it. This is a useful default which helps finding memory leaks.
4701EventEmitter.defaultMaxListeners = 10;
4702
4703// Obviously not all Emitters should be limited to 10. This function allows
4704// that to be increased. Set to zero for unlimited.
4705EventEmitter.prototype.setMaxListeners = function(n) {
4706 if (!isNumber(n) || n < 0 || isNaN(n))
4707 throw TypeError('n must be a positive number');
4708 this._maxListeners = n;
4709 return this;
4710};
4711
4712EventEmitter.prototype.emit = function(type) {
4713 var er, handler, len, args, i, listeners;
4714
4715 if (!this._events)
4716 this._events = {};
4717
4718 // If there is no 'error' event listener then throw.
4719 if (type === 'error') {
4720 if (!this._events.error ||
4721 (isObject(this._events.error) && !this._events.error.length)) {
4722 er = arguments[1];
4723 if (er instanceof Error) {
4724 throw er; // Unhandled 'error' event
4725 }
4726 throw TypeError('Uncaught, unspecified "error" event.');
4727 }
4728 }
4729
4730 handler = this._events[type];
4731
4732 if (isUndefined(handler))
4733 return false;
4734
4735 if (isFunction(handler)) {
4736 switch (arguments.length) {
4737 // fast cases
4738 case 1:
4739 handler.call(this);
4740 break;
4741 case 2:
4742 handler.call(this, arguments[1]);
4743 break;
4744 case 3:
4745 handler.call(this, arguments[1], arguments[2]);
4746 break;
4747 // slower
4748 default:
4749 len = arguments.length;
4750 args = new Array(len - 1);
4751 for (i = 1; i < len; i++)
4752 args[i - 1] = arguments[i];
4753 handler.apply(this, args);
4754 }
4755 } else if (isObject(handler)) {
4756 len = arguments.length;
4757 args = new Array(len - 1);
4758 for (i = 1; i < len; i++)
4759 args[i - 1] = arguments[i];
ebd8d4e8 4760
ab78acc6
IC
4761 listeners = handler.slice();
4762 len = listeners.length;
4763 for (i = 0; i < len; i++)
4764 listeners[i].apply(this, args);
ebd8d4e8
IC
4765 }
4766
ab78acc6
IC
4767 return true;
4768};
ebd8d4e8 4769
ab78acc6
IC
4770EventEmitter.prototype.addListener = function(type, listener) {
4771 var m;
ebd8d4e8 4772
ab78acc6
IC
4773 if (!isFunction(listener))
4774 throw TypeError('listener must be a function');
ebd8d4e8 4775
ab78acc6
IC
4776 if (!this._events)
4777 this._events = {};
ebd8d4e8 4778
ab78acc6
IC
4779 // To avoid recursion in the case that type === "newListener"! Before
4780 // adding it to the listeners, first emit "newListener".
4781 if (this._events.newListener)
4782 this.emit('newListener', type,
4783 isFunction(listener.listener) ?
4784 listener.listener : listener);
ebd8d4e8 4785
ab78acc6
IC
4786 if (!this._events[type])
4787 // Optimize the case of one listener. Don't need the extra array object.
4788 this._events[type] = listener;
4789 else if (isObject(this._events[type]))
4790 // If we've already got an array, just append.
4791 this._events[type].push(listener);
4792 else
4793 // Adding the second element, need to change to array.
4794 this._events[type] = [this._events[type], listener];
4795
4796 // Check for listener leak
4797 if (isObject(this._events[type]) && !this._events[type].warned) {
4798 var m;
4799 if (!isUndefined(this._maxListeners)) {
4800 m = this._maxListeners;
4801 } else {
4802 m = EventEmitter.defaultMaxListeners;
4803 }
4804
4805 if (m && m > 0 && this._events[type].length > m) {
4806 this._events[type].warned = true;
4807 console.error('(node) warning: possible EventEmitter memory ' +
4808 'leak detected. %d listeners added. ' +
4809 'Use emitter.setMaxListeners() to increase limit.',
4810 this._events[type].length);
4811 if (typeof console.trace === 'function') {
4812 // not supported in IE 10
4813 console.trace();
4814 }
4815 }
4816 }
ebd8d4e8 4817
ab78acc6
IC
4818 return this;
4819};
ebd8d4e8 4820
ab78acc6 4821EventEmitter.prototype.on = EventEmitter.prototype.addListener;
ebd8d4e8 4822
ab78acc6
IC
4823EventEmitter.prototype.once = function(type, listener) {
4824 if (!isFunction(listener))
4825 throw TypeError('listener must be a function');
ebd8d4e8 4826
ab78acc6 4827 var fired = false;
ebd8d4e8 4828
ab78acc6
IC
4829 function g() {
4830 this.removeListener(type, g);
ebd8d4e8 4831
ab78acc6
IC
4832 if (!fired) {
4833 fired = true;
4834 listener.apply(this, arguments);
4835 }
4836 }
ebd8d4e8 4837
ab78acc6
IC
4838 g.listener = listener;
4839 this.on(type, g);
ebd8d4e8 4840
ab78acc6
IC
4841 return this;
4842};
ebd8d4e8 4843
ab78acc6
IC
4844// emits a 'removeListener' event iff the listener was removed
4845EventEmitter.prototype.removeListener = function(type, listener) {
4846 var list, position, length, i;
ebd8d4e8 4847
ab78acc6
IC
4848 if (!isFunction(listener))
4849 throw TypeError('listener must be a function');
ebd8d4e8 4850
ab78acc6
IC
4851 if (!this._events || !this._events[type])
4852 return this;
ebd8d4e8 4853
ab78acc6
IC
4854 list = this._events[type];
4855 length = list.length;
4856 position = -1;
4857
4858 if (list === listener ||
4859 (isFunction(list.listener) && list.listener === listener)) {
4860 delete this._events[type];
4861 if (this._events.removeListener)
4862 this.emit('removeListener', type, listener);
4863
4864 } else if (isObject(list)) {
4865 for (i = length; i-- > 0;) {
4866 if (list[i] === listener ||
4867 (list[i].listener && list[i].listener === listener)) {
4868 position = i;
4869 break;
ebd8d4e8 4870 }
ab78acc6 4871 }
ebd8d4e8 4872
ab78acc6
IC
4873 if (position < 0)
4874 return this;
4875
4876 if (list.length === 1) {
4877 list.length = 0;
4878 delete this._events[type];
4879 } else {
4880 list.splice(position, 1);
ebd8d4e8 4881 }
ab78acc6
IC
4882
4883 if (this._events.removeListener)
4884 this.emit('removeListener', type, listener);
ebd8d4e8 4885 }
ab78acc6
IC
4886
4887 return this;
ebd8d4e8
IC
4888};
4889
ab78acc6
IC
4890EventEmitter.prototype.removeAllListeners = function(type) {
4891 var key, listeners;
ebd8d4e8 4892
ab78acc6
IC
4893 if (!this._events)
4894 return this;
4895
4896 // not listening for removeListener, no need to emit
4897 if (!this._events.removeListener) {
4898 if (arguments.length === 0)
4899 this._events = {};
4900 else if (this._events[type])
4901 delete this._events[type];
4902 return this;
ebd8d4e8 4903 }
ab78acc6
IC
4904
4905 // emit removeListener for all listeners on all events
4906 if (arguments.length === 0) {
4907 for (key in this._events) {
4908 if (key === 'removeListener') continue;
4909 this.removeAllListeners(key);
4910 }
4911 this.removeAllListeners('removeListener');
4912 this._events = {};
4913 return this;
ebd8d4e8 4914 }
ebd8d4e8 4915
ab78acc6
IC
4916 listeners = this._events[type];
4917
4918 if (isFunction(listeners)) {
4919 this.removeListener(type, listeners);
ebd8d4e8 4920 } else {
ab78acc6
IC
4921 // LIFO order
4922 while (listeners.length)
4923 this.removeListener(type, listeners[listeners.length - 1]);
ebd8d4e8 4924 }
ab78acc6 4925 delete this._events[type];
ebd8d4e8 4926
ab78acc6
IC
4927 return this;
4928};
ebd8d4e8 4929
ab78acc6
IC
4930EventEmitter.prototype.listeners = function(type) {
4931 var ret;
4932 if (!this._events || !this._events[type])
4933 ret = [];
4934 else if (isFunction(this._events[type]))
4935 ret = [this._events[type]];
4936 else
4937 ret = this._events[type].slice();
4938 return ret;
4939};
ebd8d4e8 4940
ab78acc6
IC
4941EventEmitter.listenerCount = function(emitter, type) {
4942 var ret;
4943 if (!emitter._events || !emitter._events[type])
4944 ret = 0;
4945 else if (isFunction(emitter._events[type]))
4946 ret = 1;
4947 else
4948 ret = emitter._events[type].length;
4949 return ret;
4950};
ebd8d4e8 4951
ab78acc6
IC
4952function isFunction(arg) {
4953 return typeof arg === 'function';
ebd8d4e8
IC
4954}
4955
ab78acc6
IC
4956function isNumber(arg) {
4957 return typeof arg === 'number';
4958}
ebd8d4e8 4959
ab78acc6
IC
4960function isObject(arg) {
4961 return typeof arg === 'object' && arg !== null;
4962}
ebd8d4e8 4963
ab78acc6
IC
4964function isUndefined(arg) {
4965 return arg === void 0;
ebd8d4e8 4966}
ebd8d4e8 4967
ab78acc6
IC
4968},{}],12:[function(require,module,exports){
4969if (typeof Object.create === 'function') {
4970 // implementation from standard node.js 'util' module
4971 module.exports = function inherits(ctor, superCtor) {
4972 ctor.super_ = superCtor
4973 ctor.prototype = Object.create(superCtor.prototype, {
4974 constructor: {
4975 value: ctor,
4976 enumerable: false,
4977 writable: true,
4978 configurable: true
4979 }
4980 });
4981 };
4982} else {
4983 // old school shim for old browsers
4984 module.exports = function inherits(ctor, superCtor) {
4985 ctor.super_ = superCtor
4986 var TempCtor = function () {}
4987 TempCtor.prototype = superCtor.prototype
4988 ctor.prototype = new TempCtor()
4989 ctor.prototype.constructor = ctor
4990 }
4991}
ebd8d4e8 4992
ab78acc6
IC
4993},{}],13:[function(require,module,exports){
4994module.exports = Array.isArray || function (arr) {
4995 return Object.prototype.toString.call(arr) == '[object Array]';
ebd8d4e8
IC
4996};
4997
ab78acc6
IC
4998},{}],14:[function(require,module,exports){
4999// shim for using process in browser
ebd8d4e8 5000
ab78acc6
IC
5001var process = module.exports = {};
5002var queue = [];
5003var draining = false;
5004var currentQueue;
5005var queueIndex = -1;
5006
5007function cleanUpNextTick() {
5008 draining = false;
5009 if (currentQueue.length) {
5010 queue = currentQueue.concat(queue);
5011 } else {
5012 queueIndex = -1;
5013 }
5014 if (queue.length) {
5015 drainQueue();
5016 }
5017}
ebd8d4e8 5018
ab78acc6
IC
5019function drainQueue() {
5020 if (draining) {
5021 return;
5022 }
5023 var timeout = setTimeout(cleanUpNextTick);
5024 draining = true;
ebd8d4e8 5025
ab78acc6
IC
5026 var len = queue.length;
5027 while(len) {
5028 currentQueue = queue;
5029 queue = [];
5030 while (++queueIndex < len) {
5031 currentQueue[queueIndex].run();
5032 }
5033 queueIndex = -1;
5034 len = queue.length;
5035 }
5036 currentQueue = null;
5037 draining = false;
5038 clearTimeout(timeout);
5039}
5040
5041process.nextTick = function (fun) {
5042 var args = new Array(arguments.length - 1);
5043 if (arguments.length > 1) {
5044 for (var i = 1; i < arguments.length; i++) {
5045 args[i - 1] = arguments[i];
5046 }
5047 }
5048 queue.push(new Item(fun, args));
5049 if (queue.length === 1 && !draining) {
5050 setTimeout(drainQueue, 0);
5051 }
ebd8d4e8
IC
5052};
5053
ab78acc6
IC
5054// v8 likes predictible objects
5055function Item(fun, array) {
5056 this.fun = fun;
5057 this.array = array;
5058}
5059Item.prototype.run = function () {
5060 this.fun.apply(null, this.array);
5061};
5062process.title = 'browser';
5063process.browser = true;
5064process.env = {};
5065process.argv = [];
5066process.version = ''; // empty string to avoid regexp issues
5067process.versions = {};
ebd8d4e8 5068
ab78acc6
IC
5069function noop() {}
5070
5071process.on = noop;
5072process.addListener = noop;
5073process.once = noop;
5074process.off = noop;
5075process.removeListener = noop;
5076process.removeAllListeners = noop;
5077process.emit = noop;
5078
5079process.binding = function (name) {
5080 throw new Error('process.binding is not supported');
5081};
ebd8d4e8 5082
ab78acc6
IC
5083// TODO(shtylman)
5084process.cwd = function () { return '/' };
5085process.chdir = function (dir) {
5086 throw new Error('process.chdir is not supported');
5087};
5088process.umask = function() { return 0; };
ebd8d4e8 5089
ab78acc6
IC
5090},{}],15:[function(require,module,exports){
5091module.exports = require("./lib/_stream_duplex.js")
ebd8d4e8 5092
ab78acc6
IC
5093},{"./lib/_stream_duplex.js":16}],16:[function(require,module,exports){
5094(function (process){
5095// Copyright Joyent, Inc. and other Node contributors.
5096//
5097// Permission is hereby granted, free of charge, to any person obtaining a
5098// copy of this software and associated documentation files (the
5099// "Software"), to deal in the Software without restriction, including
5100// without limitation the rights to use, copy, modify, merge, publish,
5101// distribute, sublicense, and/or sell copies of the Software, and to permit
5102// persons to whom the Software is furnished to do so, subject to the
5103// following conditions:
5104//
5105// The above copyright notice and this permission notice shall be included
5106// in all copies or substantial portions of the Software.
5107//
5108// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5109// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5110// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5111// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5112// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5113// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5114// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 5115
ab78acc6
IC
5116// a duplex stream is just a stream that is both readable and writable.
5117// Since JS doesn't have multiple prototypal inheritance, this class
5118// prototypally inherits from Readable, and then parasitically from
5119// Writable.
ebd8d4e8 5120
ab78acc6 5121module.exports = Duplex;
ebd8d4e8 5122
ab78acc6
IC
5123/*<replacement>*/
5124var objectKeys = Object.keys || function (obj) {
5125 var keys = [];
5126 for (var key in obj) keys.push(key);
5127 return keys;
ebd8d4e8 5128}
ab78acc6 5129/*</replacement>*/
ebd8d4e8 5130
ebd8d4e8 5131
ab78acc6
IC
5132/*<replacement>*/
5133var util = require('core-util-is');
5134util.inherits = require('inherits');
5135/*</replacement>*/
ebd8d4e8 5136
ab78acc6
IC
5137var Readable = require('./_stream_readable');
5138var Writable = require('./_stream_writable');
ebd8d4e8 5139
ab78acc6 5140util.inherits(Duplex, Readable);
ebd8d4e8 5141
ab78acc6
IC
5142forEach(objectKeys(Writable.prototype), function(method) {
5143 if (!Duplex.prototype[method])
5144 Duplex.prototype[method] = Writable.prototype[method];
5145});
ebd8d4e8 5146
ab78acc6
IC
5147function Duplex(options) {
5148 if (!(this instanceof Duplex))
5149 return new Duplex(options);
ebd8d4e8 5150
ab78acc6
IC
5151 Readable.call(this, options);
5152 Writable.call(this, options);
ebd8d4e8 5153
ab78acc6
IC
5154 if (options && options.readable === false)
5155 this.readable = false;
ebd8d4e8 5156
ab78acc6
IC
5157 if (options && options.writable === false)
5158 this.writable = false;
ebd8d4e8 5159
ab78acc6
IC
5160 this.allowHalfOpen = true;
5161 if (options && options.allowHalfOpen === false)
5162 this.allowHalfOpen = false;
ebd8d4e8 5163
ab78acc6 5164 this.once('end', onend);
ebd8d4e8
IC
5165}
5166
ab78acc6
IC
5167// the no-half-open enforcer
5168function onend() {
5169 // if we allow half-open state, or if the writable side ended,
5170 // then we're ok.
5171 if (this.allowHalfOpen || this._writableState.ended)
5172 return;
ebd8d4e8 5173
ab78acc6
IC
5174 // no more data can be written.
5175 // But allow more writes to happen in this tick.
5176 process.nextTick(this.end.bind(this));
5177}
ebd8d4e8 5178
ab78acc6
IC
5179function forEach (xs, f) {
5180 for (var i = 0, l = xs.length; i < l; i++) {
5181 f(xs[i], i);
ebd8d4e8 5182 }
ab78acc6 5183}
ebd8d4e8 5184
ab78acc6
IC
5185}).call(this,require('_process'))
5186},{"./_stream_readable":18,"./_stream_writable":20,"_process":14,"core-util-is":21,"inherits":12}],17:[function(require,module,exports){
5187// Copyright Joyent, Inc. and other Node contributors.
5188//
5189// Permission is hereby granted, free of charge, to any person obtaining a
5190// copy of this software and associated documentation files (the
5191// "Software"), to deal in the Software without restriction, including
5192// without limitation the rights to use, copy, modify, merge, publish,
5193// distribute, sublicense, and/or sell copies of the Software, and to permit
5194// persons to whom the Software is furnished to do so, subject to the
5195// following conditions:
5196//
5197// The above copyright notice and this permission notice shall be included
5198// in all copies or substantial portions of the Software.
5199//
5200// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5201// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5202// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5203// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5204// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5205// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5206// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 5207
ab78acc6
IC
5208// a passthrough stream.
5209// basically just the most minimal sort of Transform stream.
5210// Every written chunk gets output as-is.
ebd8d4e8 5211
ab78acc6 5212module.exports = PassThrough;
ebd8d4e8 5213
ab78acc6 5214var Transform = require('./_stream_transform');
ebd8d4e8 5215
ab78acc6
IC
5216/*<replacement>*/
5217var util = require('core-util-is');
5218util.inherits = require('inherits');
5219/*</replacement>*/
ebd8d4e8 5220
ab78acc6 5221util.inherits(PassThrough, Transform);
ebd8d4e8 5222
ab78acc6
IC
5223function PassThrough(options) {
5224 if (!(this instanceof PassThrough))
5225 return new PassThrough(options);
ebd8d4e8 5226
ab78acc6
IC
5227 Transform.call(this, options);
5228}
ebd8d4e8 5229
ab78acc6
IC
5230PassThrough.prototype._transform = function(chunk, encoding, cb) {
5231 cb(null, chunk);
ebd8d4e8
IC
5232};
5233
ab78acc6
IC
5234},{"./_stream_transform":19,"core-util-is":21,"inherits":12}],18:[function(require,module,exports){
5235(function (process){
ebd8d4e8
IC
5236// Copyright Joyent, Inc. and other Node contributors.
5237//
5238// Permission is hereby granted, free of charge, to any person obtaining a
5239// copy of this software and associated documentation files (the
5240// "Software"), to deal in the Software without restriction, including
5241// without limitation the rights to use, copy, modify, merge, publish,
5242// distribute, sublicense, and/or sell copies of the Software, and to permit
5243// persons to whom the Software is furnished to do so, subject to the
5244// following conditions:
5245//
5246// The above copyright notice and this permission notice shall be included
5247// in all copies or substantial portions of the Software.
5248//
5249// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5250// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5251// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5252// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5253// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5254// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5255// USE OR OTHER DEALINGS IN THE SOFTWARE.
5256
ab78acc6 5257module.exports = Readable;
ebd8d4e8 5258
ab78acc6
IC
5259/*<replacement>*/
5260var isArray = require('isarray');
5261/*</replacement>*/
5262
5263
5264/*<replacement>*/
5265var Buffer = require('buffer').Buffer;
5266/*</replacement>*/
5267
5268Readable.ReadableState = ReadableState;
5269
5270var EE = require('events').EventEmitter;
5271
5272/*<replacement>*/
5273if (!EE.listenerCount) EE.listenerCount = function(emitter, type) {
5274 return emitter.listeners(type).length;
ebd8d4e8 5275};
ab78acc6
IC
5276/*</replacement>*/
5277
5278var Stream = require('stream');
5279
5280/*<replacement>*/
5281var util = require('core-util-is');
5282util.inherits = require('inherits');
5283/*</replacement>*/
5284
5285var StringDecoder;
5286
5287
5288/*<replacement>*/
5289var debug = require('util');
5290if (debug && debug.debuglog) {
5291 debug = debug.debuglog('stream');
5292} else {
5293 debug = function () {};
5294}
5295/*</replacement>*/
5296
5297
5298util.inherits(Readable, Stream);
5299
5300function ReadableState(options, stream) {
5301 var Duplex = require('./_stream_duplex');
5302
5303 options = options || {};
5304
5305 // the point at which it stops calling _read() to fill the buffer
5306 // Note: 0 is a valid value, means "don't call _read preemptively ever"
5307 var hwm = options.highWaterMark;
5308 var defaultHwm = options.objectMode ? 16 : 16 * 1024;
5309 this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
5310
5311 // cast to ints.
5312 this.highWaterMark = ~~this.highWaterMark;
5313
5314 this.buffer = [];
5315 this.length = 0;
5316 this.pipes = null;
5317 this.pipesCount = 0;
5318 this.flowing = null;
5319 this.ended = false;
5320 this.endEmitted = false;
5321 this.reading = false;
ebd8d4e8 5322
ab78acc6
IC
5323 // a flag to be able to tell if the onwrite cb is called immediately,
5324 // or on a later tick. We set this to true at first, because any
5325 // actions that shouldn't happen until "later" should generally also
5326 // not happen before the first write call.
5327 this.sync = true;
ebd8d4e8 5328
ab78acc6
IC
5329 // whenever we return null, then we set a flag to say
5330 // that we're awaiting a 'readable' event emission.
5331 this.needReadable = false;
5332 this.emittedReadable = false;
5333 this.readableListening = false;
ebd8d4e8 5334
ab78acc6
IC
5335
5336 // object stream flag. Used to make read(n) ignore n and to
5337 // make all the buffer merging and length checks go away
5338 this.objectMode = !!options.objectMode;
5339
5340 if (stream instanceof Duplex)
5341 this.objectMode = this.objectMode || !!options.readableObjectMode;
5342
5343 // Crypto is kind of old and crusty. Historically, its default string
5344 // encoding is 'binary' so we have to make this configurable.
5345 // Everything else in the universe uses 'utf8', though.
5346 this.defaultEncoding = options.defaultEncoding || 'utf8';
5347
5348 // when piping, we only care about 'readable' events that happen
5349 // after read()ing all the bytes and not getting any pushback.
5350 this.ranOut = false;
5351
5352 // the number of writers that are awaiting a drain event in .pipe()s
5353 this.awaitDrain = 0;
5354
5355 // if true, a maybeReadMore has been scheduled
5356 this.readingMore = false;
5357
5358 this.decoder = null;
5359 this.encoding = null;
5360 if (options.encoding) {
5361 if (!StringDecoder)
5362 StringDecoder = require('string_decoder/').StringDecoder;
5363 this.decoder = new StringDecoder(options.encoding);
5364 this.encoding = options.encoding;
ebd8d4e8 5365 }
ab78acc6 5366}
ebd8d4e8 5367
ab78acc6
IC
5368function Readable(options) {
5369 var Duplex = require('./_stream_duplex');
5370
5371 if (!(this instanceof Readable))
5372 return new Readable(options);
5373
5374 this._readableState = new ReadableState(options, this);
5375
5376 // legacy
5377 this.readable = true;
5378
5379 Stream.call(this);
5380}
5381
5382// Manually shove something into the read() buffer.
5383// This returns true if the highWaterMark has not been hit yet,
5384// similar to how Writable.write() returns true if you should
5385// write() some more.
5386Readable.prototype.push = function(chunk, encoding) {
5387 var state = this._readableState;
5388
5389 if (util.isString(chunk) && !state.objectMode) {
5390 encoding = encoding || state.defaultEncoding;
5391 if (encoding !== state.encoding) {
5392 chunk = new Buffer(chunk, encoding);
5393 encoding = '';
ebd8d4e8 5394 }
ebd8d4e8
IC
5395 }
5396
ab78acc6 5397 return readableAddChunk(this, state, chunk, encoding, false);
ebd8d4e8
IC
5398};
5399
ab78acc6
IC
5400// Unshift should *always* be something directly out of read()
5401Readable.prototype.unshift = function(chunk) {
5402 var state = this._readableState;
5403 return readableAddChunk(this, state, chunk, '', true);
5404};
ebd8d4e8 5405
ab78acc6
IC
5406function readableAddChunk(stream, state, chunk, encoding, addToFront) {
5407 var er = chunkInvalid(state, chunk);
5408 if (er) {
5409 stream.emit('error', er);
5410 } else if (util.isNullOrUndefined(chunk)) {
5411 state.reading = false;
5412 if (!state.ended)
5413 onEofChunk(stream, state);
5414 } else if (state.objectMode || chunk && chunk.length > 0) {
5415 if (state.ended && !addToFront) {
5416 var e = new Error('stream.push() after EOF');
5417 stream.emit('error', e);
5418 } else if (state.endEmitted && addToFront) {
5419 var e = new Error('stream.unshift() after end event');
5420 stream.emit('error', e);
ebd8d4e8 5421 } else {
ab78acc6
IC
5422 if (state.decoder && !addToFront && !encoding)
5423 chunk = state.decoder.write(chunk);
5424
5425 if (!addToFront)
5426 state.reading = false;
5427
5428 // if we want the data now, just emit it.
5429 if (state.flowing && state.length === 0 && !state.sync) {
5430 stream.emit('data', chunk);
5431 stream.read(0);
5432 } else {
5433 // update the buffer info.
5434 state.length += state.objectMode ? 1 : chunk.length;
5435 if (addToFront)
5436 state.buffer.unshift(chunk);
5437 else
5438 state.buffer.push(chunk);
5439
5440 if (state.needReadable)
5441 emitReadable(stream);
5442 }
5443
5444 maybeReadMore(stream, state);
ebd8d4e8 5445 }
ab78acc6
IC
5446 } else if (!addToFront) {
5447 state.reading = false;
ebd8d4e8 5448 }
ebd8d4e8 5449
ab78acc6
IC
5450 return needMoreData(state);
5451}
ebd8d4e8 5452
ab78acc6
IC
5453
5454
5455// if it's past the high water mark, we can push in some more.
5456// Also, if we have no data yet, we can stand some
5457// more bytes. This is to work around cases where hwm=0,
5458// such as the repl. Also, if the push() triggered a
5459// readable event, and the user called read(largeNumber) such that
5460// needReadable was set, then we ought to push more, so that another
5461// 'readable' event will be triggered.
5462function needMoreData(state) {
5463 return !state.ended &&
5464 (state.needReadable ||
5465 state.length < state.highWaterMark ||
5466 state.length === 0);
5467}
5468
5469// backwards compatibility.
5470Readable.prototype.setEncoding = function(enc) {
5471 if (!StringDecoder)
5472 StringDecoder = require('string_decoder/').StringDecoder;
5473 this._readableState.decoder = new StringDecoder(enc);
5474 this._readableState.encoding = enc;
5475 return this;
5476};
5477
5478// Don't raise the hwm > 128MB
5479var MAX_HWM = 0x800000;
5480function roundUpToNextPowerOf2(n) {
5481 if (n >= MAX_HWM) {
5482 n = MAX_HWM;
5483 } else {
5484 // Get the next highest power of 2
5485 n--;
5486 for (var p = 1; p < 32; p <<= 1) n |= n >> p;
5487 n++;
ebd8d4e8 5488 }
ab78acc6 5489 return n;
ebd8d4e8 5490}
ebd8d4e8 5491
ab78acc6
IC
5492function howMuchToRead(n, state) {
5493 if (state.length === 0 && state.ended)
5494 return 0;
ebd8d4e8 5495
ab78acc6
IC
5496 if (state.objectMode)
5497 return n === 0 ? 0 : 1;
ebd8d4e8 5498
ab78acc6
IC
5499 if (isNaN(n) || util.isNull(n)) {
5500 // only flow one buffer at a time
5501 if (state.flowing && state.buffer.length)
5502 return state.buffer[0].length;
5503 else
5504 return state.length;
5505 }
ebd8d4e8 5506
ab78acc6
IC
5507 if (n <= 0)
5508 return 0;
ebd8d4e8 5509
ab78acc6
IC
5510 // If we're asking for more than the target buffer level,
5511 // then raise the water mark. Bump up to the next highest
5512 // power of 2, to prevent increasing it excessively in tiny
5513 // amounts.
5514 if (n > state.highWaterMark)
5515 state.highWaterMark = roundUpToNextPowerOf2(n);
ebd8d4e8 5516
ab78acc6
IC
5517 // don't have that much. return null, unless we've ended.
5518 if (n > state.length) {
5519 if (!state.ended) {
5520 state.needReadable = true;
5521 return 0;
5522 } else
5523 return state.length;
ebd8d4e8 5524 }
ab78acc6
IC
5525
5526 return n;
ebd8d4e8
IC
5527}
5528
ab78acc6
IC
5529// you can override either this method, or the async _read(n) below.
5530Readable.prototype.read = function(n) {
5531 debug('read', n);
5532 var state = this._readableState;
5533 var nOrig = n;
ebd8d4e8 5534
ab78acc6
IC
5535 if (!util.isNumber(n) || n > 0)
5536 state.emittedReadable = false;
5537
5538 // if we're doing read(0) to trigger a readable event, but we
5539 // already have a bunch of data in the buffer, then just trigger
5540 // the 'readable' event and move on.
5541 if (n === 0 &&
5542 state.needReadable &&
5543 (state.length >= state.highWaterMark || state.ended)) {
5544 debug('read: emitReadable', state.length, state.ended);
5545 if (state.length === 0 && state.ended)
5546 endReadable(this);
5547 else
5548 emitReadable(this);
5549 return null;
5550 }
5551
5552 n = howMuchToRead(n, state);
5553
5554 // if we've ended, and we're now clear, then finish it up.
5555 if (n === 0 && state.ended) {
5556 if (state.length === 0)
5557 endReadable(this);
5558 return null;
5559 }
5560
5561 // All the actual chunk generation logic needs to be
5562 // *below* the call to _read. The reason is that in certain
5563 // synthetic stream cases, such as passthrough streams, _read
5564 // may be a completely synchronous operation which may change
5565 // the state of the read buffer, providing enough data when
5566 // before there was *not* enough.
5567 //
5568 // So, the steps are:
5569 // 1. Figure out what the state of things will be after we do
5570 // a read from the buffer.
5571 //
5572 // 2. If that resulting state will trigger a _read, then call _read.
5573 // Note that this may be asynchronous, or synchronous. Yes, it is
5574 // deeply ugly to write APIs this way, but that still doesn't mean
5575 // that the Readable class should behave improperly, as streams are
5576 // designed to be sync/async agnostic.
5577 // Take note if the _read call is sync or async (ie, if the read call
5578 // has returned yet), so that we know whether or not it's safe to emit
5579 // 'readable' etc.
5580 //
5581 // 3. Actually pull the requested chunks out of the buffer and return.
5582
5583 // if we need a readable event, then we need to do some reading.
5584 var doRead = state.needReadable;
5585 debug('need readable', doRead);
5586
5587 // if we currently have less than the highWaterMark, then also read some
5588 if (state.length === 0 || state.length - n < state.highWaterMark) {
5589 doRead = true;
5590 debug('length less than watermark', doRead);
5591 }
5592
5593 // however, if we've ended, then there's no point, and if we're already
5594 // reading, then it's unnecessary.
5595 if (state.ended || state.reading) {
5596 doRead = false;
5597 debug('reading or ended', doRead);
5598 }
5599
5600 if (doRead) {
5601 debug('do read');
5602 state.reading = true;
5603 state.sync = true;
5604 // if the length is currently zero, then we *need* a readable event.
5605 if (state.length === 0)
5606 state.needReadable = true;
5607 // call internal read method
5608 this._read(state.highWaterMark);
5609 state.sync = false;
5610 }
5611
5612 // If _read pushed data synchronously, then `reading` will be false,
5613 // and we need to re-evaluate how much data we can return to the user.
5614 if (doRead && !state.reading)
5615 n = howMuchToRead(nOrig, state);
5616
5617 var ret;
5618 if (n > 0)
5619 ret = fromList(n, state);
5620 else
5621 ret = null;
ebd8d4e8 5622
ab78acc6
IC
5623 if (util.isNull(ret)) {
5624 state.needReadable = true;
5625 n = 0;
5626 }
ebd8d4e8 5627
ab78acc6 5628 state.length -= n;
ebd8d4e8 5629
ab78acc6
IC
5630 // If we have nothing in the buffer, then we want to know
5631 // as soon as we *do* get something into the buffer.
5632 if (state.length === 0 && !state.ended)
5633 state.needReadable = true;
ebd8d4e8 5634
ab78acc6
IC
5635 // If we tried to read() past the EOF, then emit end on the next tick.
5636 if (nOrig !== n && state.ended && state.length === 0)
5637 endReadable(this);
5638
5639 if (!util.isNull(ret))
5640 this.emit('data', ret);
5641
5642 return ret;
5643};
5644
5645function chunkInvalid(state, chunk) {
5646 var er = null;
5647 if (!util.isBuffer(chunk) &&
5648 !util.isString(chunk) &&
5649 !util.isNullOrUndefined(chunk) &&
5650 !state.objectMode) {
5651 er = new TypeError('Invalid non-string/buffer chunk');
5652 }
5653 return er;
ebd8d4e8
IC
5654}
5655
5656
ab78acc6
IC
5657function onEofChunk(stream, state) {
5658 if (state.decoder && !state.ended) {
5659 var chunk = state.decoder.end();
5660 if (chunk && chunk.length) {
5661 state.buffer.push(chunk);
5662 state.length += state.objectMode ? 1 : chunk.length;
ebd8d4e8 5663 }
ebd8d4e8 5664 }
ab78acc6 5665 state.ended = true;
ebd8d4e8 5666
ab78acc6
IC
5667 // emit 'readable' now to make sure it gets picked up.
5668 emitReadable(stream);
5669}
5670
5671// Don't emit readable right away in sync mode, because this can trigger
5672// another read() call => stack overflow. This way, it might trigger
5673// a nextTick recursion warning, but that's not so bad.
5674function emitReadable(stream) {
5675 var state = stream._readableState;
5676 state.needReadable = false;
5677 if (!state.emittedReadable) {
5678 debug('emitReadable', state.flowing);
5679 state.emittedReadable = true;
5680 if (state.sync)
5681 process.nextTick(function() {
5682 emitReadable_(stream);
5683 });
5684 else
5685 emitReadable_(stream);
ebd8d4e8 5686 }
ab78acc6 5687}
ebd8d4e8 5688
ab78acc6
IC
5689function emitReadable_(stream) {
5690 debug('emit readable');
5691 stream.emit('readable');
5692 flow(stream);
5693}
ebd8d4e8 5694
ab78acc6
IC
5695
5696// at this point, the user has presumably seen the 'readable' event,
5697// and called read() to consume some data. that may have triggered
5698// in turn another _read(n) call, in which case reading = true if
5699// it's in progress.
5700// However, if we're not ended, or reading, and the length < hwm,
5701// then go ahead and try to read some more preemptively.
5702function maybeReadMore(stream, state) {
5703 if (!state.readingMore) {
5704 state.readingMore = true;
5705 process.nextTick(function() {
5706 maybeReadMore_(stream, state);
5707 });
ebd8d4e8 5708 }
ab78acc6 5709}
ebd8d4e8 5710
ab78acc6
IC
5711function maybeReadMore_(stream, state) {
5712 var len = state.length;
5713 while (!state.reading && !state.flowing && !state.ended &&
5714 state.length < state.highWaterMark) {
5715 debug('maybeReadMore read 0');
5716 stream.read(0);
5717 if (len === state.length)
5718 // didn't get any data, stop spinning.
5719 break;
5720 else
5721 len = state.length;
ebd8d4e8 5722 }
ab78acc6
IC
5723 state.readingMore = false;
5724}
ebd8d4e8 5725
ab78acc6
IC
5726// abstract method. to be overridden in specific implementation classes.
5727// call cb(er, data) where data is <= n in length.
5728// for virtual (non-string, non-buffer) streams, "length" is somewhat
5729// arbitrary, and perhaps not very meaningful.
5730Readable.prototype._read = function(n) {
5731 this.emit('error', new Error('not implemented'));
5732};
5733
5734Readable.prototype.pipe = function(dest, pipeOpts) {
5735 var src = this;
5736 var state = this._readableState;
5737
5738 switch (state.pipesCount) {
5739 case 0:
5740 state.pipes = dest;
5741 break;
5742 case 1:
5743 state.pipes = [state.pipes, dest];
5744 break;
5745 default:
5746 state.pipes.push(dest);
5747 break;
ebd8d4e8 5748 }
ab78acc6
IC
5749 state.pipesCount += 1;
5750 debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);
ebd8d4e8 5751
ab78acc6
IC
5752 var doEnd = (!pipeOpts || pipeOpts.end !== false) &&
5753 dest !== process.stdout &&
5754 dest !== process.stderr;
ebd8d4e8 5755
ab78acc6
IC
5756 var endFn = doEnd ? onend : cleanup;
5757 if (state.endEmitted)
5758 process.nextTick(endFn);
5759 else
5760 src.once('end', endFn);
5761
5762 dest.on('unpipe', onunpipe);
5763 function onunpipe(readable) {
5764 debug('onunpipe');
5765 if (readable === src) {
5766 cleanup();
5767 }
5768 }
5769
5770 function onend() {
5771 debug('onend');
5772 dest.end();
5773 }
5774
5775 // when the dest drains, it reduces the awaitDrain counter
5776 // on the source. This would be more elegant with a .once()
5777 // handler in flow(), but adding and removing repeatedly is
5778 // too slow.
5779 var ondrain = pipeOnDrain(src);
5780 dest.on('drain', ondrain);
5781
5782 function cleanup() {
5783 debug('cleanup');
5784 // cleanup event handlers once the pipe is broken
5785 dest.removeListener('close', onclose);
5786 dest.removeListener('finish', onfinish);
5787 dest.removeListener('drain', ondrain);
5788 dest.removeListener('error', onerror);
5789 dest.removeListener('unpipe', onunpipe);
5790 src.removeListener('end', onend);
5791 src.removeListener('end', cleanup);
5792 src.removeListener('data', ondata);
5793
5794 // if the reader is waiting for a drain event from this
5795 // specific writer, then it would cause it to never start
5796 // flowing again.
5797 // So, if this is awaiting a drain, then we just call it now.
5798 // If we don't know, then assume that we are waiting for one.
5799 if (state.awaitDrain &&
5800 (!dest._writableState || dest._writableState.needDrain))
5801 ondrain();
5802 }
5803
5804 src.on('data', ondata);
5805 function ondata(chunk) {
5806 debug('ondata');
5807 var ret = dest.write(chunk);
5808 if (false === ret) {
5809 debug('false write response, pause',
5810 src._readableState.awaitDrain);
5811 src._readableState.awaitDrain++;
5812 src.pause();
5813 }
5814 }
5815
5816 // if the dest has an error, then stop piping into it.
5817 // however, don't suppress the throwing behavior for this.
5818 function onerror(er) {
5819 debug('onerror', er);
5820 unpipe();
5821 dest.removeListener('error', onerror);
5822 if (EE.listenerCount(dest, 'error') === 0)
5823 dest.emit('error', er);
5824 }
5825 // This is a brutally ugly hack to make sure that our error handler
5826 // is attached before any userland ones. NEVER DO THIS.
5827 if (!dest._events || !dest._events.error)
5828 dest.on('error', onerror);
5829 else if (isArray(dest._events.error))
5830 dest._events.error.unshift(onerror);
5831 else
5832 dest._events.error = [onerror, dest._events.error];
5833
5834
5835
5836 // Both close and finish should trigger unpipe, but only once.
5837 function onclose() {
5838 dest.removeListener('finish', onfinish);
5839 unpipe();
ebd8d4e8 5840 }
ab78acc6
IC
5841 dest.once('close', onclose);
5842 function onfinish() {
5843 debug('onfinish');
5844 dest.removeListener('close', onclose);
5845 unpipe();
5846 }
5847 dest.once('finish', onfinish);
ebd8d4e8 5848
ab78acc6
IC
5849 function unpipe() {
5850 debug('unpipe');
5851 src.unpipe(dest);
ebd8d4e8
IC
5852 }
5853
ab78acc6
IC
5854 // tell the dest that it's being piped to
5855 dest.emit('pipe', src);
5856
5857 // start the flow if it hasn't been started already.
5858 if (!state.flowing) {
5859 debug('pipe resume');
5860 src.resume();
ebd8d4e8
IC
5861 }
5862
ab78acc6
IC
5863 return dest;
5864};
5865
5866function pipeOnDrain(src) {
5867 return function() {
5868 var state = src._readableState;
5869 debug('pipeOnDrain', state.awaitDrain);
5870 if (state.awaitDrain)
5871 state.awaitDrain--;
5872 if (state.awaitDrain === 0 && EE.listenerCount(src, 'data')) {
5873 state.flowing = true;
5874 flow(src);
5875 }
5876 };
5877}
5878
5879
5880Readable.prototype.unpipe = function(dest) {
5881 var state = this._readableState;
5882
5883 // if we're not piping anywhere, then do nothing.
5884 if (state.pipesCount === 0)
5885 return this;
5886
5887 // just one destination. most common case.
5888 if (state.pipesCount === 1) {
5889 // passed in one, but it's not the right one.
5890 if (dest && dest !== state.pipes)
5891 return this;
5892
5893 if (!dest)
5894 dest = state.pipes;
5895
5896 // got a match.
5897 state.pipes = null;
5898 state.pipesCount = 0;
5899 state.flowing = false;
5900 if (dest)
5901 dest.emit('unpipe', this);
5902 return this;
ebd8d4e8
IC
5903 }
5904
ab78acc6
IC
5905 // slow case. multiple pipe destinations.
5906
5907 if (!dest) {
5908 // remove all.
5909 var dests = state.pipes;
5910 var len = state.pipesCount;
5911 state.pipes = null;
5912 state.pipesCount = 0;
5913 state.flowing = false;
5914
5915 for (var i = 0; i < len; i++)
5916 dests[i].emit('unpipe', this);
5917 return this;
ebd8d4e8
IC
5918 }
5919
ab78acc6
IC
5920 // try to find the right one.
5921 var i = indexOf(state.pipes, dest);
5922 if (i === -1)
5923 return this;
5924
5925 state.pipes.splice(i, 1);
5926 state.pipesCount -= 1;
5927 if (state.pipesCount === 1)
5928 state.pipes = state.pipes[0];
5929
5930 dest.emit('unpipe', this);
ebd8d4e8 5931
ab78acc6
IC
5932 return this;
5933};
5934
5935// set up data events if they are asked for
5936// Ensure readable listeners eventually get something
5937Readable.prototype.on = function(ev, fn) {
5938 var res = Stream.prototype.on.call(this, ev, fn);
5939
5940 // If listening to data, and it has not explicitly been paused,
5941 // then call resume to start the flow of data on the next tick.
5942 if (ev === 'data' && false !== this._readableState.flowing) {
5943 this.resume();
5944 }
5945
5946 if (ev === 'readable' && this.readable) {
5947 var state = this._readableState;
5948 if (!state.readableListening) {
5949 state.readableListening = true;
5950 state.emittedReadable = false;
5951 state.needReadable = true;
5952 if (!state.reading) {
5953 var self = this;
5954 process.nextTick(function() {
5955 debug('readable nexttick read 0');
5956 self.read(0);
5957 });
5958 } else if (state.length) {
5959 emitReadable(this, state);
5960 }
ebd8d4e8
IC
5961 }
5962 }
5963
ab78acc6
IC
5964 return res;
5965};
5966Readable.prototype.addListener = Readable.prototype.on;
5967
5968// pause() and resume() are remnants of the legacy readable stream API
5969// If the user uses them, then switch into old mode.
5970Readable.prototype.resume = function() {
5971 var state = this._readableState;
5972 if (!state.flowing) {
5973 debug('resume');
5974 state.flowing = true;
5975 if (!state.reading) {
5976 debug('resume read 0');
5977 this.read(0);
5978 }
5979 resume(this, state);
5980 }
5981 return this;
5982};
ebd8d4e8 5983
ab78acc6
IC
5984function resume(stream, state) {
5985 if (!state.resumeScheduled) {
5986 state.resumeScheduled = true;
5987 process.nextTick(function() {
5988 resume_(stream, state);
ebd8d4e8
IC
5989 });
5990 }
ebd8d4e8
IC
5991}
5992
ab78acc6
IC
5993function resume_(stream, state) {
5994 state.resumeScheduled = false;
5995 stream.emit('resume');
5996 flow(stream);
5997 if (state.flowing && !state.reading)
5998 stream.read(0);
ebd8d4e8
IC
5999}
6000
ab78acc6
IC
6001Readable.prototype.pause = function() {
6002 debug('call pause flowing=%j', this._readableState.flowing);
6003 if (false !== this._readableState.flowing) {
6004 debug('pause');
6005 this._readableState.flowing = false;
6006 this.emit('pause');
6007 }
6008 return this;
6009};
ebd8d4e8 6010
ab78acc6
IC
6011function flow(stream) {
6012 var state = stream._readableState;
6013 debug('flow', state.flowing);
6014 if (state.flowing) {
6015 do {
6016 var chunk = stream.read();
6017 } while (null !== chunk && state.flowing);
6018 }
ebd8d4e8
IC
6019}
6020
ab78acc6
IC
6021// wrap an old-style stream as the async data source.
6022// This is *not* part of the readable stream interface.
6023// It is an ugly unfortunate mess of history.
6024Readable.prototype.wrap = function(stream) {
6025 var state = this._readableState;
6026 var paused = false;
ebd8d4e8 6027
ab78acc6
IC
6028 var self = this;
6029 stream.on('end', function() {
6030 debug('wrapped end');
6031 if (state.decoder && !state.ended) {
6032 var chunk = state.decoder.end();
6033 if (chunk && chunk.length)
6034 self.push(chunk);
ebd8d4e8 6035 }
ab78acc6
IC
6036
6037 self.push(null);
ebd8d4e8 6038 });
ebd8d4e8 6039
ab78acc6
IC
6040 stream.on('data', function(chunk) {
6041 debug('wrapped data');
6042 if (state.decoder)
6043 chunk = state.decoder.write(chunk);
6044 if (!chunk || !state.objectMode && !chunk.length)
6045 return;
ebd8d4e8 6046
ab78acc6
IC
6047 var ret = self.push(chunk);
6048 if (!ret) {
6049 paused = true;
6050 stream.pause();
ebd8d4e8 6051 }
ab78acc6
IC
6052 });
6053
6054 // proxy all the other methods.
6055 // important when wrapping filters and duplexes.
6056 for (var i in stream) {
6057 if (util.isFunction(stream[i]) && util.isUndefined(this[i])) {
6058 this[i] = function(method) { return function() {
6059 return stream[method].apply(stream, arguments);
6060 }}(i);
ebd8d4e8
IC
6061 }
6062 }
ab78acc6
IC
6063
6064 // proxy certain important events.
6065 var events = ['error', 'close', 'destroy', 'pause', 'resume'];
6066 forEach(events, function(ev) {
6067 stream.on(ev, self.emit.bind(self, ev));
6068 });
6069
6070 // when we try to consume some more bytes, simply unpause the
6071 // underlying stream.
6072 self._read = function(n) {
6073 debug('wrapped _read', n);
6074 if (paused) {
6075 paused = false;
6076 stream.resume();
ebd8d4e8 6077 }
ab78acc6
IC
6078 };
6079
6080 return self;
6081};
6082
6083
6084
6085// exposed for testing purposes only.
6086Readable._fromList = fromList;
6087
6088// Pluck off n bytes from an array of buffers.
6089// Length is the combined lengths of all the buffers in the list.
6090function fromList(n, state) {
6091 var list = state.buffer;
6092 var length = state.length;
6093 var stringMode = !!state.decoder;
6094 var objectMode = !!state.objectMode;
6095 var ret;
6096
6097 // nothing in the list, definitely empty.
6098 if (list.length === 0)
6099 return null;
6100
6101 if (length === 0)
6102 ret = null;
6103 else if (objectMode)
6104 ret = list.shift();
6105 else if (!n || n >= length) {
6106 // read it all, truncate the array.
6107 if (stringMode)
6108 ret = list.join('');
6109 else
6110 ret = Buffer.concat(list, length);
6111 list.length = 0;
6112 } else {
6113 // read just some of it.
6114 if (n < list[0].length) {
6115 // just take a part of the first list item.
6116 // slice is the same for buffers and strings.
6117 var buf = list[0];
6118 ret = buf.slice(0, n);
6119 list[0] = buf.slice(n);
6120 } else if (n === list[0].length) {
6121 // first list is a perfect match
6122 ret = list.shift();
ebd8d4e8 6123 } else {
ab78acc6
IC
6124 // complex case.
6125 // we have enough to cover it, but it spans past the first buffer.
6126 if (stringMode)
6127 ret = '';
6128 else
6129 ret = new Buffer(n);
ebd8d4e8 6130
ab78acc6
IC
6131 var c = 0;
6132 for (var i = 0, l = list.length; i < l && c < n; i++) {
6133 var buf = list[0];
6134 var cpy = Math.min(n - c, buf.length);
ebd8d4e8 6135
ab78acc6
IC
6136 if (stringMode)
6137 ret += buf.slice(0, cpy);
6138 else
6139 buf.copy(ret, c, 0, cpy);
ebd8d4e8 6140
ab78acc6
IC
6141 if (cpy < buf.length)
6142 list[0] = buf.slice(cpy);
6143 else
6144 list.shift();
ebd8d4e8 6145
ab78acc6
IC
6146 c += cpy;
6147 }
6148 }
ebd8d4e8
IC
6149 }
6150
ab78acc6 6151 return ret;
ebd8d4e8
IC
6152}
6153
ab78acc6
IC
6154function endReadable(stream) {
6155 var state = stream._readableState;
ebd8d4e8 6156
ab78acc6
IC
6157 // If we get here before consuming all the bytes, then that is a
6158 // bug in node. Should never happen.
6159 if (state.length > 0)
6160 throw new Error('endReadable called on non-empty stream');
ebd8d4e8 6161
ab78acc6
IC
6162 if (!state.endEmitted) {
6163 state.ended = true;
6164 process.nextTick(function() {
6165 // Check that we didn't get one last unshift.
6166 if (!state.endEmitted && state.length === 0) {
6167 state.endEmitted = true;
6168 stream.readable = false;
6169 stream.emit('end');
6170 }
6171 });
6172 }
ebd8d4e8 6173}
ebd8d4e8 6174
ab78acc6
IC
6175function forEach (xs, f) {
6176 for (var i = 0, l = xs.length; i < l; i++) {
6177 f(xs[i], i);
6178 }
ebd8d4e8 6179}
ebd8d4e8 6180
ab78acc6
IC
6181function indexOf (xs, x) {
6182 for (var i = 0, l = xs.length; i < l; i++) {
6183 if (xs[i] === x) return i;
6184 }
6185 return -1;
ebd8d4e8 6186}
ebd8d4e8 6187
ab78acc6
IC
6188}).call(this,require('_process'))
6189},{"./_stream_duplex":16,"_process":14,"buffer":7,"core-util-is":21,"events":11,"inherits":12,"isarray":13,"stream":26,"string_decoder/":27,"util":6}],19:[function(require,module,exports){
6190// Copyright Joyent, Inc. and other Node contributors.
6191//
6192// Permission is hereby granted, free of charge, to any person obtaining a
6193// copy of this software and associated documentation files (the
6194// "Software"), to deal in the Software without restriction, including
6195// without limitation the rights to use, copy, modify, merge, publish,
6196// distribute, sublicense, and/or sell copies of the Software, and to permit
6197// persons to whom the Software is furnished to do so, subject to the
6198// following conditions:
6199//
6200// The above copyright notice and this permission notice shall be included
6201// in all copies or substantial portions of the Software.
6202//
6203// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6204// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6205// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6206// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6207// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6208// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6209// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 6210
ebd8d4e8 6211
ab78acc6
IC
6212// a transform stream is a readable/writable stream where you do
6213// something with the data. Sometimes it's called a "filter",
6214// but that's not a great name for it, since that implies a thing where
6215// some bits pass through, and others are simply ignored. (That would
6216// be a valid example of a transform, of course.)
6217//
6218// While the output is causally related to the input, it's not a
6219// necessarily symmetric or synchronous transformation. For example,
6220// a zlib stream might take multiple plain-text writes(), and then
6221// emit a single compressed chunk some time in the future.
6222//
6223// Here's how this works:
6224//
6225// The Transform stream has all the aspects of the readable and writable
6226// stream classes. When you write(chunk), that calls _write(chunk,cb)
6227// internally, and returns false if there's a lot of pending writes
6228// buffered up. When you call read(), that calls _read(n) until
6229// there's enough pending readable data buffered up.
6230//
6231// In a transform stream, the written data is placed in a buffer. When
6232// _read(n) is called, it transforms the queued up data, calling the
6233// buffered _write cb's as it consumes chunks. If consuming a single
6234// written chunk would result in multiple output chunks, then the first
6235// outputted bit calls the readcb, and subsequent chunks just go into
6236// the read buffer, and will cause it to emit 'readable' if necessary.
6237//
6238// This way, back-pressure is actually determined by the reading side,
6239// since _read has to be called to start processing a new chunk. However,
6240// a pathological inflate type of transform can cause excessive buffering
6241// here. For example, imagine a stream where every byte of input is
6242// interpreted as an integer from 0-255, and then results in that many
6243// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in
6244// 1kb of data being output. In this case, you could write a very small
6245// amount of input, and end up with a very large amount of output. In
6246// such a pathological inflating mechanism, there'd be no way to tell
6247// the system to stop doing the transform. A single 4MB write could
6248// cause the system to run out of memory.
6249//
6250// However, even in such a pathological case, only a single written chunk
6251// would be consumed, and then the rest would wait (un-transformed) until
6252// the results of the previous transformed chunk were consumed.
ebd8d4e8 6253
ab78acc6 6254module.exports = Transform;
ebd8d4e8 6255
ab78acc6 6256var Duplex = require('./_stream_duplex');
ebd8d4e8 6257
ab78acc6
IC
6258/*<replacement>*/
6259var util = require('core-util-is');
6260util.inherits = require('inherits');
6261/*</replacement>*/
6262
6263util.inherits(Transform, Duplex);
6264
6265
6266function TransformState(options, stream) {
6267 this.afterTransform = function(er, data) {
6268 return afterTransform(stream, er, data);
6269 };
6270
6271 this.needTransform = false;
6272 this.transforming = false;
6273 this.writecb = null;
6274 this.writechunk = null;
ebd8d4e8 6275}
ebd8d4e8 6276
ab78acc6
IC
6277function afterTransform(stream, er, data) {
6278 var ts = stream._transformState;
6279 ts.transforming = false;
6280
6281 var cb = ts.writecb;
6282
6283 if (!cb)
6284 return stream.emit('error', new Error('no writecb in Transform class'));
6285
6286 ts.writechunk = null;
6287 ts.writecb = null;
6288
6289 if (!util.isNullOrUndefined(data))
6290 stream.push(data);
6291
6292 if (cb)
6293 cb(er);
6294
6295 var rs = stream._readableState;
6296 rs.reading = false;
6297 if (rs.needReadable || rs.length < rs.highWaterMark) {
6298 stream._read(rs.highWaterMark);
6299 }
ebd8d4e8 6300}
ebd8d4e8 6301
ab78acc6
IC
6302
6303function Transform(options) {
6304 if (!(this instanceof Transform))
6305 return new Transform(options);
6306
6307 Duplex.call(this, options);
6308
6309 this._transformState = new TransformState(options, this);
6310
6311 // when the writable side finishes, then flush out anything remaining.
6312 var stream = this;
6313
6314 // start out asking for a readable event once data is transformed.
6315 this._readableState.needReadable = true;
6316
6317 // we have implemented the _read method, and done the other things
6318 // that Readable wants before the first _read call, so unset the
6319 // sync guard flag.
6320 this._readableState.sync = false;
6321
6322 this.once('prefinish', function() {
6323 if (util.isFunction(this._flush))
6324 this._flush(function(er) {
6325 done(stream, er);
6326 });
6327 else
6328 done(stream);
6329 });
ebd8d4e8 6330}
ebd8d4e8 6331
ab78acc6
IC
6332Transform.prototype.push = function(chunk, encoding) {
6333 this._transformState.needTransform = false;
6334 return Duplex.prototype.push.call(this, chunk, encoding);
6335};
6336
6337// This is the part where you do stuff!
6338// override this function in implementation classes.
6339// 'chunk' is an input chunk.
6340//
6341// Call `push(newChunk)` to pass along transformed output
6342// to the readable side. You may call 'push' zero or more times.
6343//
6344// Call `cb(err)` when you are done with this chunk. If you pass
6345// an error, then that'll put the hurt on the whole operation. If you
6346// never call cb(), then you'll never get another chunk.
6347Transform.prototype._transform = function(chunk, encoding, cb) {
6348 throw new Error('not implemented');
6349};
6350
6351Transform.prototype._write = function(chunk, encoding, cb) {
6352 var ts = this._transformState;
6353 ts.writecb = cb;
6354 ts.writechunk = chunk;
6355 ts.writeencoding = encoding;
6356 if (!ts.transforming) {
6357 var rs = this._readableState;
6358 if (ts.needTransform ||
6359 rs.needReadable ||
6360 rs.length < rs.highWaterMark)
6361 this._read(rs.highWaterMark);
6362 }
6363};
6364
6365// Doesn't matter what the args are here.
6366// _transform does all the work.
6367// That we got here means that the readable side wants more data.
6368Transform.prototype._read = function(n) {
6369 var ts = this._transformState;
ebd8d4e8 6370
ab78acc6
IC
6371 if (!util.isNull(ts.writechunk) && ts.writecb && !ts.transforming) {
6372 ts.transforming = true;
6373 this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
6374 } else {
6375 // mark that we need a transform, so that any data that comes in
6376 // will get processed, now that we've asked for it.
6377 ts.needTransform = true;
6378 }
6379};
ebd8d4e8 6380
ebd8d4e8 6381
ab78acc6
IC
6382function done(stream, er) {
6383 if (er)
6384 return stream.emit('error', er);
ebd8d4e8 6385
ab78acc6
IC
6386 // if there's nothing in the write buffer, then that means
6387 // that nothing more will ever be provided
6388 var ws = stream._writableState;
6389 var ts = stream._transformState;
ebd8d4e8 6390
ab78acc6
IC
6391 if (ws.length)
6392 throw new Error('calling transform done when ws.length != 0');
6393
6394 if (ts.transforming)
6395 throw new Error('calling transform done when still transforming');
6396
6397 return stream.push(null);
ebd8d4e8
IC
6398}
6399
ab78acc6
IC
6400},{"./_stream_duplex":16,"core-util-is":21,"inherits":12}],20:[function(require,module,exports){
6401(function (process){
6402// Copyright Joyent, Inc. and other Node contributors.
6403//
6404// Permission is hereby granted, free of charge, to any person obtaining a
6405// copy of this software and associated documentation files (the
6406// "Software"), to deal in the Software without restriction, including
6407// without limitation the rights to use, copy, modify, merge, publish,
6408// distribute, sublicense, and/or sell copies of the Software, and to permit
6409// persons to whom the Software is furnished to do so, subject to the
6410// following conditions:
6411//
6412// The above copyright notice and this permission notice shall be included
6413// in all copies or substantial portions of the Software.
6414//
6415// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6416// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6417// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6418// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6419// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6420// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6421// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 6422
ab78acc6
IC
6423// A bit simpler than readable streams.
6424// Implement an async ._write(chunk, cb), and it'll handle all
6425// the drain event emission and buffering.
ebd8d4e8 6426
ab78acc6 6427module.exports = Writable;
ebd8d4e8 6428
ab78acc6
IC
6429/*<replacement>*/
6430var Buffer = require('buffer').Buffer;
6431/*</replacement>*/
ebd8d4e8 6432
ab78acc6 6433Writable.WritableState = WritableState;
ebd8d4e8
IC
6434
6435
ab78acc6
IC
6436/*<replacement>*/
6437var util = require('core-util-is');
6438util.inherits = require('inherits');
6439/*</replacement>*/
ebd8d4e8 6440
ab78acc6 6441var Stream = require('stream');
ebd8d4e8 6442
ab78acc6 6443util.inherits(Writable, Stream);
ebd8d4e8 6444
ab78acc6
IC
6445function WriteReq(chunk, encoding, cb) {
6446 this.chunk = chunk;
6447 this.encoding = encoding;
6448 this.callback = cb;
ebd8d4e8
IC
6449}
6450
ab78acc6
IC
6451function WritableState(options, stream) {
6452 var Duplex = require('./_stream_duplex');
ebd8d4e8 6453
ab78acc6 6454 options = options || {};
ebd8d4e8 6455
ab78acc6
IC
6456 // the point at which write() starts returning false
6457 // Note: 0 is a valid value, means that we always return false if
6458 // the entire buffer is not flushed immediately on write()
6459 var hwm = options.highWaterMark;
6460 var defaultHwm = options.objectMode ? 16 : 16 * 1024;
6461 this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
ebd8d4e8 6462
ab78acc6
IC
6463 // object stream flag to indicate whether or not this stream
6464 // contains buffers or objects.
6465 this.objectMode = !!options.objectMode;
ebd8d4e8 6466
ab78acc6
IC
6467 if (stream instanceof Duplex)
6468 this.objectMode = this.objectMode || !!options.writableObjectMode;
ebd8d4e8 6469
ab78acc6
IC
6470 // cast to ints.
6471 this.highWaterMark = ~~this.highWaterMark;
ebd8d4e8 6472
ab78acc6
IC
6473 this.needDrain = false;
6474 // at the start of calling end()
6475 this.ending = false;
6476 // when end() has been called, and returned
6477 this.ended = false;
6478 // when 'finish' is emitted
6479 this.finished = false;
ebd8d4e8 6480
ab78acc6
IC
6481 // should we decode strings into buffers before passing to _write?
6482 // this is here so that some node-core streams can optimize string
6483 // handling at a lower level.
6484 var noDecode = options.decodeStrings === false;
6485 this.decodeStrings = !noDecode;
ebd8d4e8 6486
ab78acc6
IC
6487 // Crypto is kind of old and crusty. Historically, its default string
6488 // encoding is 'binary' so we have to make this configurable.
6489 // Everything else in the universe uses 'utf8', though.
6490 this.defaultEncoding = options.defaultEncoding || 'utf8';
ebd8d4e8 6491
ab78acc6
IC
6492 // not an actual buffer we keep track of, but a measurement
6493 // of how much we're waiting to get pushed to some underlying
6494 // socket or file.
6495 this.length = 0;
ebd8d4e8 6496
ab78acc6
IC
6497 // a flag to see when we're in the middle of a write.
6498 this.writing = false;
ebd8d4e8 6499
ab78acc6
IC
6500 // when true all writes will be buffered until .uncork() call
6501 this.corked = 0;
ebd8d4e8 6502
ab78acc6
IC
6503 // a flag to be able to tell if the onwrite cb is called immediately,
6504 // or on a later tick. We set this to true at first, because any
6505 // actions that shouldn't happen until "later" should generally also
6506 // not happen before the first write call.
6507 this.sync = true;
ebd8d4e8 6508
ab78acc6
IC
6509 // a flag to know if we're processing previously buffered items, which
6510 // may call the _write() callback in the same tick, so that we don't
6511 // end up in an overlapped onwrite situation.
6512 this.bufferProcessing = false;
ebd8d4e8 6513
ab78acc6
IC
6514 // the callback that's passed to _write(chunk,cb)
6515 this.onwrite = function(er) {
6516 onwrite(stream, er);
6517 };
ebd8d4e8 6518
ab78acc6
IC
6519 // the callback that the user supplies to write(chunk,encoding,cb)
6520 this.writecb = null;
ebd8d4e8 6521
ab78acc6
IC
6522 // the amount that is being written when _write is called.
6523 this.writelen = 0;
ebd8d4e8 6524
ab78acc6 6525 this.buffer = [];
ebd8d4e8 6526
ab78acc6
IC
6527 // number of pending user-supplied write callbacks
6528 // this must be 0 before 'finish' can be emitted
6529 this.pendingcb = 0;
ebd8d4e8 6530
ab78acc6
IC
6531 // emit prefinish if the only thing we're waiting for is _write cbs
6532 // This is relevant for synchronous Transform streams
6533 this.prefinished = false;
ebd8d4e8 6534
ab78acc6
IC
6535 // True if the error was already emitted and should not be thrown again
6536 this.errorEmitted = false;
ebd8d4e8
IC
6537}
6538
ab78acc6
IC
6539function Writable(options) {
6540 var Duplex = require('./_stream_duplex');
ebd8d4e8 6541
ab78acc6
IC
6542 // Writable ctor is applied to Duplexes, though they're not
6543 // instanceof Writable, they're instanceof Readable.
6544 if (!(this instanceof Writable) && !(this instanceof Duplex))
6545 return new Writable(options);
ebd8d4e8 6546
ab78acc6 6547 this._writableState = new WritableState(options, this);
ebd8d4e8 6548
ab78acc6
IC
6549 // legacy.
6550 this.writable = true;
ebd8d4e8 6551
ab78acc6 6552 Stream.call(this);
ebd8d4e8
IC
6553}
6554
ab78acc6
IC
6555// Otherwise people can pipe Writable streams, which is just wrong.
6556Writable.prototype.pipe = function() {
6557 this.emit('error', new Error('Cannot pipe. Not readable.'));
6558};
ebd8d4e8 6559
ebd8d4e8 6560
ab78acc6
IC
6561function writeAfterEnd(stream, state, cb) {
6562 var er = new Error('write after end');
6563 // TODO: defer error events consistently everywhere, not just the cb
6564 stream.emit('error', er);
6565 process.nextTick(function() {
6566 cb(er);
6567 });
ebd8d4e8
IC
6568}
6569
ab78acc6
IC
6570// If we get something that is not a buffer, string, null, or undefined,
6571// and we're not in objectMode, then that's an error.
6572// Otherwise stream chunks are all considered to be of length=1, and the
6573// watermarks determine how many objects to keep in the buffer, rather than
6574// how many bytes or characters.
6575function validChunk(stream, state, chunk, cb) {
6576 var valid = true;
6577 if (!util.isBuffer(chunk) &&
6578 !util.isString(chunk) &&
6579 !util.isNullOrUndefined(chunk) &&
6580 !state.objectMode) {
6581 var er = new TypeError('Invalid non-string/buffer chunk');
6582 stream.emit('error', er);
6583 process.nextTick(function() {
6584 cb(er);
6585 });
6586 valid = false;
6587 }
6588 return valid;
ebd8d4e8
IC
6589}
6590
ab78acc6
IC
6591Writable.prototype.write = function(chunk, encoding, cb) {
6592 var state = this._writableState;
6593 var ret = false;
ebd8d4e8 6594
ab78acc6
IC
6595 if (util.isFunction(encoding)) {
6596 cb = encoding;
6597 encoding = null;
ebd8d4e8 6598 }
ebd8d4e8 6599
ab78acc6
IC
6600 if (util.isBuffer(chunk))
6601 encoding = 'buffer';
6602 else if (!encoding)
6603 encoding = state.defaultEncoding;
6604
6605 if (!util.isFunction(cb))
6606 cb = function() {};
6607
6608 if (state.ended)
6609 writeAfterEnd(this, state, cb);
6610 else if (validChunk(this, state, chunk, cb)) {
6611 state.pendingcb++;
6612 ret = writeOrBuffer(this, state, chunk, encoding, cb);
ebd8d4e8 6613 }
ebd8d4e8 6614
ab78acc6
IC
6615 return ret;
6616};
6617
6618Writable.prototype.cork = function() {
6619 var state = this._writableState;
6620
6621 state.corked++;
6622};
ebd8d4e8 6623
ab78acc6
IC
6624Writable.prototype.uncork = function() {
6625 var state = this._writableState;
ebd8d4e8 6626
ab78acc6
IC
6627 if (state.corked) {
6628 state.corked--;
ebd8d4e8 6629
ab78acc6
IC
6630 if (!state.writing &&
6631 !state.corked &&
6632 !state.finished &&
6633 !state.bufferProcessing &&
6634 state.buffer.length)
6635 clearBuffer(this, state);
ebd8d4e8 6636 }
ab78acc6 6637};
ebd8d4e8 6638
ab78acc6
IC
6639function decodeChunk(state, chunk, encoding) {
6640 if (!state.objectMode &&
6641 state.decodeStrings !== false &&
6642 util.isString(chunk)) {
6643 chunk = new Buffer(chunk, encoding);
ebd8d4e8 6644 }
ab78acc6 6645 return chunk;
ebd8d4e8
IC
6646}
6647
ab78acc6
IC
6648// if we're already writing something, then just put this
6649// in the queue, and wait our turn. Otherwise, call _write
6650// If we return false, then we need a drain event, so set that flag.
6651function writeOrBuffer(stream, state, chunk, encoding, cb) {
6652 chunk = decodeChunk(state, chunk, encoding);
6653 if (util.isBuffer(chunk))
6654 encoding = 'buffer';
6655 var len = state.objectMode ? 1 : chunk.length;
6656
6657 state.length += len;
6658
6659 var ret = state.length < state.highWaterMark;
6660 // we must ensure that previous needDrain will not be reset to false.
6661 if (!ret)
6662 state.needDrain = true;
6663
6664 if (state.writing || state.corked)
6665 state.buffer.push(new WriteReq(chunk, encoding, cb));
6666 else
6667 doWrite(stream, state, false, len, chunk, encoding, cb);
6668
6669 return ret;
ebd8d4e8
IC
6670}
6671
ab78acc6
IC
6672function doWrite(stream, state, writev, len, chunk, encoding, cb) {
6673 state.writelen = len;
6674 state.writecb = cb;
6675 state.writing = true;
6676 state.sync = true;
6677 if (writev)
6678 stream._writev(chunk, state.onwrite);
6679 else
6680 stream._write(chunk, encoding, state.onwrite);
6681 state.sync = false;
ebd8d4e8
IC
6682}
6683
ab78acc6
IC
6684function onwriteError(stream, state, sync, er, cb) {
6685 if (sync)
6686 process.nextTick(function() {
6687 state.pendingcb--;
6688 cb(er);
6689 });
6690 else {
6691 state.pendingcb--;
6692 cb(er);
6693 }
ebd8d4e8 6694
ab78acc6
IC
6695 stream._writableState.errorEmitted = true;
6696 stream.emit('error', er);
6697}
ebd8d4e8 6698
ab78acc6
IC
6699function onwriteStateUpdate(state) {
6700 state.writing = false;
6701 state.writecb = null;
6702 state.length -= state.writelen;
6703 state.writelen = 0;
6704}
ebd8d4e8 6705
ab78acc6
IC
6706function onwrite(stream, er) {
6707 var state = stream._writableState;
6708 var sync = state.sync;
6709 var cb = state.writecb;
ebd8d4e8 6710
ab78acc6 6711 onwriteStateUpdate(state);
ebd8d4e8 6712
ab78acc6
IC
6713 if (er)
6714 onwriteError(stream, state, sync, er, cb);
6715 else {
6716 // Check if we're actually ready to finish, but don't emit yet
6717 var finished = needFinish(stream, state);
ebd8d4e8 6718
ab78acc6
IC
6719 if (!finished &&
6720 !state.corked &&
6721 !state.bufferProcessing &&
6722 state.buffer.length) {
6723 clearBuffer(stream, state);
6724 }
6725
6726 if (sync) {
6727 process.nextTick(function() {
6728 afterWrite(stream, state, finished, cb);
6729 });
6730 } else {
6731 afterWrite(stream, state, finished, cb);
ebd8d4e8 6732 }
ebd8d4e8
IC
6733 }
6734}
6735
ab78acc6
IC
6736function afterWrite(stream, state, finished, cb) {
6737 if (!finished)
6738 onwriteDrain(stream, state);
6739 state.pendingcb--;
6740 cb();
6741 finishMaybe(stream, state);
6742}
6743
6744// Must force callback to be called on nextTick, so that we don't
6745// emit 'drain' before the write() consumer gets the 'false' return
6746// value, and has a chance to attach a 'drain' listener.
6747function onwriteDrain(stream, state) {
6748 if (state.length === 0 && state.needDrain) {
6749 state.needDrain = false;
6750 stream.emit('drain');
ebd8d4e8
IC
6751 }
6752}
6753
ebd8d4e8 6754
ab78acc6
IC
6755// if there's something in the buffer waiting, then process it
6756function clearBuffer(stream, state) {
6757 state.bufferProcessing = true;
6758
6759 if (stream._writev && state.buffer.length > 1) {
6760 // Fast case, write everything using _writev()
6761 var cbs = [];
6762 for (var c = 0; c < state.buffer.length; c++)
6763 cbs.push(state.buffer[c].callback);
6764
6765 // count the one we are adding, as well.
6766 // TODO(isaacs) clean this up
6767 state.pendingcb++;
6768 doWrite(stream, state, true, state.length, state.buffer, '', function(err) {
6769 for (var i = 0; i < cbs.length; i++) {
6770 state.pendingcb--;
6771 cbs[i](err);
6772 }
6773 });
6774
6775 // Clear buffer
6776 state.buffer = [];
6777 } else {
6778 // Slow case, write chunks one-by-one
6779 for (var c = 0; c < state.buffer.length; c++) {
6780 var entry = state.buffer[c];
6781 var chunk = entry.chunk;
6782 var encoding = entry.encoding;
6783 var cb = entry.callback;
6784 var len = state.objectMode ? 1 : chunk.length;
6785
6786 doWrite(stream, state, false, len, chunk, encoding, cb);
6787
6788 // if we didn't call the onwrite immediately, then
6789 // it means that we need to wait until it does.
6790 // also, that means that the chunk and cb are currently
6791 // being processed, so move the buffer counter past them.
6792 if (state.writing) {
6793 c++;
6794 break;
6795 }
ebd8d4e8 6796 }
ab78acc6
IC
6797
6798 if (c < state.buffer.length)
6799 state.buffer = state.buffer.slice(c);
6800 else
6801 state.buffer.length = 0;
ebd8d4e8
IC
6802 }
6803
ab78acc6 6804 state.bufferProcessing = false;
ebd8d4e8
IC
6805}
6806
ab78acc6
IC
6807Writable.prototype._write = function(chunk, encoding, cb) {
6808 cb(new Error('not implemented'));
ebd8d4e8 6809
ab78acc6 6810};
ebd8d4e8 6811
ab78acc6 6812Writable.prototype._writev = null;
ebd8d4e8 6813
ab78acc6
IC
6814Writable.prototype.end = function(chunk, encoding, cb) {
6815 var state = this._writableState;
ebd8d4e8 6816
ab78acc6
IC
6817 if (util.isFunction(chunk)) {
6818 cb = chunk;
6819 chunk = null;
6820 encoding = null;
6821 } else if (util.isFunction(encoding)) {
6822 cb = encoding;
6823 encoding = null;
6824 }
ebd8d4e8 6825
ab78acc6
IC
6826 if (!util.isNullOrUndefined(chunk))
6827 this.write(chunk, encoding);
6828
6829 // .end() fully uncorks
6830 if (state.corked) {
6831 state.corked = 1;
6832 this.uncork();
ebd8d4e8 6833 }
ab78acc6
IC
6834
6835 // ignore unnecessary end() calls.
6836 if (!state.ending && !state.finished)
6837 endWritable(this, state, cb);
6838};
6839
6840
6841function needFinish(stream, state) {
6842 return (state.ending &&
6843 state.length === 0 &&
6844 !state.finished &&
6845 !state.writing);
ebd8d4e8
IC
6846}
6847
ab78acc6
IC
6848function prefinish(stream, state) {
6849 if (!state.prefinished) {
6850 state.prefinished = true;
6851 stream.emit('prefinish');
ebd8d4e8 6852 }
ebd8d4e8
IC
6853}
6854
ab78acc6
IC
6855function finishMaybe(stream, state) {
6856 var need = needFinish(stream, state);
6857 if (need) {
6858 if (state.pendingcb === 0) {
6859 prefinish(stream, state);
6860 state.finished = true;
6861 stream.emit('finish');
6862 } else
6863 prefinish(stream, state);
6864 }
6865 return need;
6866}
ebd8d4e8 6867
ab78acc6
IC
6868function endWritable(stream, state, cb) {
6869 state.ending = true;
6870 finishMaybe(stream, state);
6871 if (cb) {
6872 if (state.finished)
6873 process.nextTick(cb);
6874 else
6875 stream.once('finish', cb);
ebd8d4e8 6876 }
ab78acc6 6877 state.ended = true;
ebd8d4e8
IC
6878}
6879
ab78acc6
IC
6880}).call(this,require('_process'))
6881},{"./_stream_duplex":16,"_process":14,"buffer":7,"core-util-is":21,"inherits":12,"stream":26}],21:[function(require,module,exports){
6882(function (Buffer){
6883// Copyright Joyent, Inc. and other Node contributors.
6884//
6885// Permission is hereby granted, free of charge, to any person obtaining a
6886// copy of this software and associated documentation files (the
6887// "Software"), to deal in the Software without restriction, including
6888// without limitation the rights to use, copy, modify, merge, publish,
6889// distribute, sublicense, and/or sell copies of the Software, and to permit
6890// persons to whom the Software is furnished to do so, subject to the
6891// following conditions:
6892//
6893// The above copyright notice and this permission notice shall be included
6894// in all copies or substantial portions of the Software.
6895//
6896// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6897// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6898// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6899// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6900// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6901// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6902// USE OR OTHER DEALINGS IN THE SOFTWARE.
6903
6904// NOTE: These type checking functions intentionally don't use `instanceof`
6905// because it is fragile and can be easily faked with `Object.create()`.
6906function isArray(ar) {
6907 return Array.isArray(ar);
ebd8d4e8 6908}
ab78acc6 6909exports.isArray = isArray;
ebd8d4e8 6910
ab78acc6
IC
6911function isBoolean(arg) {
6912 return typeof arg === 'boolean';
ebd8d4e8 6913}
ab78acc6 6914exports.isBoolean = isBoolean;
ebd8d4e8 6915
ab78acc6
IC
6916function isNull(arg) {
6917 return arg === null;
6918}
6919exports.isNull = isNull;
ebd8d4e8 6920
ab78acc6
IC
6921function isNullOrUndefined(arg) {
6922 return arg == null;
6923}
6924exports.isNullOrUndefined = isNullOrUndefined;
ebd8d4e8 6925
ab78acc6
IC
6926function isNumber(arg) {
6927 return typeof arg === 'number';
ebd8d4e8 6928}
ab78acc6 6929exports.isNumber = isNumber;
ebd8d4e8 6930
ab78acc6
IC
6931function isString(arg) {
6932 return typeof arg === 'string';
6933}
6934exports.isString = isString;
ebd8d4e8 6935
ab78acc6
IC
6936function isSymbol(arg) {
6937 return typeof arg === 'symbol';
6938}
6939exports.isSymbol = isSymbol;
ebd8d4e8 6940
ab78acc6
IC
6941function isUndefined(arg) {
6942 return arg === void 0;
ebd8d4e8 6943}
ab78acc6 6944exports.isUndefined = isUndefined;
ebd8d4e8 6945
ab78acc6
IC
6946function isRegExp(re) {
6947 return isObject(re) && objectToString(re) === '[object RegExp]';
ebd8d4e8 6948}
ab78acc6 6949exports.isRegExp = isRegExp;
ebd8d4e8 6950
ab78acc6
IC
6951function isObject(arg) {
6952 return typeof arg === 'object' && arg !== null;
ebd8d4e8 6953}
ab78acc6 6954exports.isObject = isObject;
ebd8d4e8 6955
ab78acc6
IC
6956function isDate(d) {
6957 return isObject(d) && objectToString(d) === '[object Date]';
6958}
6959exports.isDate = isDate;
ebd8d4e8 6960
ab78acc6
IC
6961function isError(e) {
6962 return isObject(e) &&
6963 (objectToString(e) === '[object Error]' || e instanceof Error);
6964}
6965exports.isError = isError;
ebd8d4e8 6966
ab78acc6
IC
6967function isFunction(arg) {
6968 return typeof arg === 'function';
6969}
6970exports.isFunction = isFunction;
6971
6972function isPrimitive(arg) {
6973 return arg === null ||
6974 typeof arg === 'boolean' ||
6975 typeof arg === 'number' ||
6976 typeof arg === 'string' ||
6977 typeof arg === 'symbol' || // ES6 symbol
6978 typeof arg === 'undefined';
ebd8d4e8 6979}
ab78acc6 6980exports.isPrimitive = isPrimitive;
ebd8d4e8 6981
ab78acc6
IC
6982function isBuffer(arg) {
6983 return Buffer.isBuffer(arg);
ebd8d4e8 6984}
ab78acc6 6985exports.isBuffer = isBuffer;
ebd8d4e8 6986
ab78acc6
IC
6987function objectToString(o) {
6988 return Object.prototype.toString.call(o);
ebd8d4e8 6989}
ab78acc6
IC
6990}).call(this,require("buffer").Buffer)
6991},{"buffer":7}],22:[function(require,module,exports){
6992module.exports = require("./lib/_stream_passthrough.js")
ebd8d4e8 6993
ab78acc6
IC
6994},{"./lib/_stream_passthrough.js":17}],23:[function(require,module,exports){
6995exports = module.exports = require('./lib/_stream_readable.js');
6996exports.Stream = require('stream');
6997exports.Readable = exports;
6998exports.Writable = require('./lib/_stream_writable.js');
6999exports.Duplex = require('./lib/_stream_duplex.js');
7000exports.Transform = require('./lib/_stream_transform.js');
7001exports.PassThrough = require('./lib/_stream_passthrough.js');
ebd8d4e8 7002
ab78acc6
IC
7003},{"./lib/_stream_duplex.js":16,"./lib/_stream_passthrough.js":17,"./lib/_stream_readable.js":18,"./lib/_stream_transform.js":19,"./lib/_stream_writable.js":20,"stream":26}],24:[function(require,module,exports){
7004module.exports = require("./lib/_stream_transform.js")
ebd8d4e8 7005
ab78acc6
IC
7006},{"./lib/_stream_transform.js":19}],25:[function(require,module,exports){
7007module.exports = require("./lib/_stream_writable.js")
7008
7009},{"./lib/_stream_writable.js":20}],26:[function(require,module,exports){
7010// Copyright Joyent, Inc. and other Node contributors.
7011//
7012// Permission is hereby granted, free of charge, to any person obtaining a
7013// copy of this software and associated documentation files (the
7014// "Software"), to deal in the Software without restriction, including
7015// without limitation the rights to use, copy, modify, merge, publish,
7016// distribute, sublicense, and/or sell copies of the Software, and to permit
7017// persons to whom the Software is furnished to do so, subject to the
7018// following conditions:
7019//
7020// The above copyright notice and this permission notice shall be included
7021// in all copies or substantial portions of the Software.
7022//
7023// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7024// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7025// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7026// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7027// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7028// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7029// USE OR OTHER DEALINGS IN THE SOFTWARE.
7030
7031module.exports = Stream;
7032
7033var EE = require('events').EventEmitter;
7034var inherits = require('inherits');
7035
7036inherits(Stream, EE);
7037Stream.Readable = require('readable-stream/readable.js');
7038Stream.Writable = require('readable-stream/writable.js');
7039Stream.Duplex = require('readable-stream/duplex.js');
7040Stream.Transform = require('readable-stream/transform.js');
7041Stream.PassThrough = require('readable-stream/passthrough.js');
7042
7043// Backwards-compat with node 0.4.x
7044Stream.Stream = Stream;
7045
7046
7047
7048// old-style streams. Note that the pipe method (the only relevant
7049// part of this class) is overridden in the Readable class.
7050
7051function Stream() {
7052 EE.call(this);
ebd8d4e8
IC
7053}
7054
ab78acc6
IC
7055Stream.prototype.pipe = function(dest, options) {
7056 var source = this;
ebd8d4e8 7057
ab78acc6
IC
7058 function ondata(chunk) {
7059 if (dest.writable) {
7060 if (false === dest.write(chunk) && source.pause) {
7061 source.pause();
7062 }
7063 }
7064 }
ebd8d4e8 7065
ab78acc6 7066 source.on('data', ondata);
ebd8d4e8 7067
ab78acc6
IC
7068 function ondrain() {
7069 if (source.readable && source.resume) {
7070 source.resume();
7071 }
7072 }
ebd8d4e8 7073
ab78acc6 7074 dest.on('drain', ondrain);
ebd8d4e8 7075
ab78acc6
IC
7076 // If the 'end' option is not supplied, dest.end() will be called when
7077 // source gets the 'end' or 'close' events. Only dest.end() once.
7078 if (!dest._isStdio && (!options || options.end !== false)) {
7079 source.on('end', onend);
7080 source.on('close', onclose);
ebd8d4e8
IC
7081 }
7082
ab78acc6
IC
7083 var didOnEnd = false;
7084 function onend() {
7085 if (didOnEnd) return;
7086 didOnEnd = true;
ebd8d4e8 7087
ab78acc6
IC
7088 dest.end();
7089 }
ebd8d4e8 7090
ebd8d4e8 7091
ab78acc6
IC
7092 function onclose() {
7093 if (didOnEnd) return;
7094 didOnEnd = true;
ebd8d4e8 7095
ab78acc6 7096 if (typeof dest.destroy === 'function') dest.destroy();
ebd8d4e8
IC
7097 }
7098
ab78acc6
IC
7099 // don't leave dangling pipes when there are errors.
7100 function onerror(er) {
7101 cleanup();
7102 if (EE.listenerCount(this, 'error') === 0) {
7103 throw er; // Unhandled stream error in pipe.
7104 }
7105 }
ebd8d4e8 7106
ab78acc6
IC
7107 source.on('error', onerror);
7108 dest.on('error', onerror);
ebd8d4e8 7109
ab78acc6
IC
7110 // remove all the event listeners that were added.
7111 function cleanup() {
7112 source.removeListener('data', ondata);
7113 dest.removeListener('drain', ondrain);
ebd8d4e8 7114
ab78acc6
IC
7115 source.removeListener('end', onend);
7116 source.removeListener('close', onclose);
7117
7118 source.removeListener('error', onerror);
7119 dest.removeListener('error', onerror);
7120
7121 source.removeListener('end', cleanup);
7122 source.removeListener('close', cleanup);
7123
7124 dest.removeListener('close', cleanup);
ebd8d4e8
IC
7125 }
7126
ab78acc6
IC
7127 source.on('end', cleanup);
7128 source.on('close', cleanup);
ebd8d4e8 7129
ab78acc6 7130 dest.on('close', cleanup);
ebd8d4e8 7131
ab78acc6 7132 dest.emit('pipe', source);
ebd8d4e8 7133
ab78acc6
IC
7134 // Allow for unix-like usage: A.pipe(B).pipe(C)
7135 return dest;
7136};
ebd8d4e8 7137
ab78acc6
IC
7138},{"events":11,"inherits":12,"readable-stream/duplex.js":15,"readable-stream/passthrough.js":22,"readable-stream/readable.js":23,"readable-stream/transform.js":24,"readable-stream/writable.js":25}],27:[function(require,module,exports){
7139// Copyright Joyent, Inc. and other Node contributors.
7140//
7141// Permission is hereby granted, free of charge, to any person obtaining a
7142// copy of this software and associated documentation files (the
7143// "Software"), to deal in the Software without restriction, including
7144// without limitation the rights to use, copy, modify, merge, publish,
7145// distribute, sublicense, and/or sell copies of the Software, and to permit
7146// persons to whom the Software is furnished to do so, subject to the
7147// following conditions:
7148//
7149// The above copyright notice and this permission notice shall be included
7150// in all copies or substantial portions of the Software.
7151//
7152// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7153// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7154// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7155// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7156// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7157// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7158// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 7159
ab78acc6 7160var Buffer = require('buffer').Buffer;
ebd8d4e8 7161
ab78acc6
IC
7162var isBufferEncoding = Buffer.isEncoding
7163 || function(encoding) {
7164 switch (encoding && encoding.toLowerCase()) {
7165 case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true;
7166 default: return false;
7167 }
7168 }
ebd8d4e8 7169
ebd8d4e8 7170
ab78acc6
IC
7171function assertEncoding(encoding) {
7172 if (encoding && !isBufferEncoding(encoding)) {
7173 throw new Error('Unknown encoding: ' + encoding);
ebd8d4e8 7174 }
ebd8d4e8
IC
7175}
7176
ab78acc6
IC
7177// StringDecoder provides an interface for efficiently splitting a series of
7178// buffers into a series of JS strings without breaking apart multi-byte
7179// characters. CESU-8 is handled as part of the UTF-8 encoding.
7180//
7181// @TODO Handling all encodings inside a single object makes it very difficult
7182// to reason about this code, so it should be split up in the future.
7183// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code
7184// points as used by CESU-8.
7185var StringDecoder = exports.StringDecoder = function(encoding) {
7186 this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
7187 assertEncoding(encoding);
7188 switch (this.encoding) {
7189 case 'utf8':
7190 // CESU-8 represents each of Surrogate Pair by 3-bytes
7191 this.surrogateSize = 3;
7192 break;
7193 case 'ucs2':
7194 case 'utf16le':
7195 // UTF-16 represents each of Surrogate Pair by 2-bytes
7196 this.surrogateSize = 2;
7197 this.detectIncompleteChar = utf16DetectIncompleteChar;
7198 break;
7199 case 'base64':
7200 // Base-64 stores 3 bytes in 4 chars, and pads the remainder.
7201 this.surrogateSize = 3;
7202 this.detectIncompleteChar = base64DetectIncompleteChar;
7203 break;
7204 default:
7205 this.write = passThroughWrite;
7206 return;
7207 }
ebd8d4e8 7208
ab78acc6
IC
7209 // Enough space to store all bytes of a single character. UTF-8 needs 4
7210 // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).
7211 this.charBuffer = new Buffer(6);
7212 // Number of bytes received for the current incomplete multi-byte character.
7213 this.charReceived = 0;
7214 // Number of bytes expected for the current incomplete multi-byte character.
7215 this.charLength = 0;
7216};
ebd8d4e8 7217
ebd8d4e8 7218
ab78acc6
IC
7219// write decodes the given buffer and returns it as JS string that is
7220// guaranteed to not contain any partial multi-byte characters. Any partial
7221// character found at the end of the buffer is buffered up, and will be
7222// returned when calling write again with the remaining bytes.
7223//
7224// Note: Converting a Buffer containing an orphan surrogate to a String
7225// currently works, but converting a String to a Buffer (via `new Buffer`, or
7226// Buffer#write) will replace incomplete surrogates with the unicode
7227// replacement character. See https://codereview.chromium.org/121173009/ .
7228StringDecoder.prototype.write = function(buffer) {
7229 var charStr = '';
7230 // if our last write ended with an incomplete multibyte character
7231 while (this.charLength) {
7232 // determine how many remaining bytes this buffer has to offer for this char
7233 var available = (buffer.length >= this.charLength - this.charReceived) ?
7234 this.charLength - this.charReceived :
7235 buffer.length;
7236
7237 // add the new bytes to the char buffer
7238 buffer.copy(this.charBuffer, this.charReceived, 0, available);
7239 this.charReceived += available;
7240
7241 if (this.charReceived < this.charLength) {
7242 // still not enough chars in this buffer? wait for more ...
7243 return '';
7244 }
7245
7246 // remove bytes belonging to the current character from the buffer
7247 buffer = buffer.slice(available, buffer.length);
7248
7249 // get the character that was split
7250 charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
7251
7252 // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
7253 var charCode = charStr.charCodeAt(charStr.length - 1);
7254 if (charCode >= 0xD800 && charCode <= 0xDBFF) {
7255 this.charLength += this.surrogateSize;
7256 charStr = '';
7257 continue;
7258 }
7259 this.charReceived = this.charLength = 0;
ebd8d4e8 7260
ab78acc6
IC
7261 // if there are no more bytes in this buffer, just emit our char
7262 if (buffer.length === 0) {
7263 return charStr;
7264 }
7265 break;
ebd8d4e8 7266 }
ebd8d4e8 7267
ab78acc6
IC
7268 // determine and set charLength / charReceived
7269 this.detectIncompleteChar(buffer);
ebd8d4e8 7270
ab78acc6
IC
7271 var end = buffer.length;
7272 if (this.charLength) {
7273 // buffer the incomplete character bytes we got
7274 buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);
7275 end -= this.charReceived;
ebd8d4e8
IC
7276 }
7277
ab78acc6 7278 charStr += buffer.toString(this.encoding, 0, end);
ebd8d4e8 7279
ab78acc6
IC
7280 var end = charStr.length - 1;
7281 var charCode = charStr.charCodeAt(end);
7282 // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
7283 if (charCode >= 0xD800 && charCode <= 0xDBFF) {
7284 var size = this.surrogateSize;
7285 this.charLength += size;
7286 this.charReceived += size;
7287 this.charBuffer.copy(this.charBuffer, size, 0, size);
7288 buffer.copy(this.charBuffer, 0, 0, size);
7289 return charStr.substring(0, end);
ebd8d4e8
IC
7290 }
7291
ab78acc6
IC
7292 // or just emit the charStr
7293 return charStr;
7294};
ebd8d4e8 7295
ab78acc6
IC
7296// detectIncompleteChar determines if there is an incomplete UTF-8 character at
7297// the end of the given buffer. If so, it sets this.charLength to the byte
7298// length that character, and sets this.charReceived to the number of bytes
7299// that are available for this character.
7300StringDecoder.prototype.detectIncompleteChar = function(buffer) {
7301 // determine how many bytes we have to check at the end of this buffer
7302 var i = (buffer.length >= 3) ? 3 : buffer.length;
ebd8d4e8 7303
ab78acc6
IC
7304 // Figure out if one of the last i bytes of our buffer announces an
7305 // incomplete char.
7306 for (; i > 0; i--) {
7307 var c = buffer[buffer.length - i];
ebd8d4e8 7308
ab78acc6 7309 // See http://en.wikipedia.org/wiki/UTF-8#Description
ebd8d4e8 7310
ab78acc6
IC
7311 // 110XXXXX
7312 if (i == 1 && c >> 5 == 0x06) {
7313 this.charLength = 2;
7314 break;
7315 }
ebd8d4e8 7316
ab78acc6
IC
7317 // 1110XXXX
7318 if (i <= 2 && c >> 4 == 0x0E) {
7319 this.charLength = 3;
7320 break;
7321 }
ebd8d4e8 7322
ab78acc6
IC
7323 // 11110XXX
7324 if (i <= 3 && c >> 3 == 0x1E) {
7325 this.charLength = 4;
7326 break;
7327 }
7328 }
7329 this.charReceived = i;
7330};
ebd8d4e8 7331
ab78acc6
IC
7332StringDecoder.prototype.end = function(buffer) {
7333 var res = '';
7334 if (buffer && buffer.length)
7335 res = this.write(buffer);
ebd8d4e8 7336
ab78acc6
IC
7337 if (this.charReceived) {
7338 var cr = this.charReceived;
7339 var buf = this.charBuffer;
7340 var enc = this.encoding;
7341 res += buf.slice(0, cr).toString(enc);
ebd8d4e8
IC
7342 }
7343
ab78acc6
IC
7344 return res;
7345};
ebd8d4e8 7346
ab78acc6
IC
7347function passThroughWrite(buffer) {
7348 return buffer.toString(this.encoding);
ebd8d4e8
IC
7349}
7350
ab78acc6
IC
7351function utf16DetectIncompleteChar(buffer) {
7352 this.charReceived = buffer.length % 2;
7353 this.charLength = this.charReceived ? 2 : 0;
ebd8d4e8
IC
7354}
7355
ab78acc6
IC
7356function base64DetectIncompleteChar(buffer) {
7357 this.charReceived = buffer.length % 3;
7358 this.charLength = this.charReceived ? 3 : 0;
ebd8d4e8
IC
7359}
7360
ab78acc6
IC
7361},{"buffer":7}],28:[function(require,module,exports){
7362module.exports = function isBuffer(arg) {
7363 return arg && typeof arg === 'object'
7364 && typeof arg.copy === 'function'
7365 && typeof arg.fill === 'function'
7366 && typeof arg.readUInt8 === 'function';
7367}
7368},{}],29:[function(require,module,exports){
7369(function (process,global){
7370// Copyright Joyent, Inc. and other Node contributors.
7371//
7372// Permission is hereby granted, free of charge, to any person obtaining a
7373// copy of this software and associated documentation files (the
7374// "Software"), to deal in the Software without restriction, including
7375// without limitation the rights to use, copy, modify, merge, publish,
7376// distribute, sublicense, and/or sell copies of the Software, and to permit
7377// persons to whom the Software is furnished to do so, subject to the
7378// following conditions:
7379//
7380// The above copyright notice and this permission notice shall be included
7381// in all copies or substantial portions of the Software.
7382//
7383// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7384// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7385// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7386// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7387// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7388// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7389// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 7390
ab78acc6
IC
7391var formatRegExp = /%[sdj%]/g;
7392exports.format = function(f) {
7393 if (!isString(f)) {
7394 var objects = [];
7395 for (var i = 0; i < arguments.length; i++) {
7396 objects.push(inspect(arguments[i]));
7397 }
7398 return objects.join(' ');
7399 }
ebd8d4e8 7400
ab78acc6
IC
7401 var i = 1;
7402 var args = arguments;
7403 var len = args.length;
7404 var str = String(f).replace(formatRegExp, function(x) {
7405 if (x === '%%') return '%';
7406 if (i >= len) return x;
7407 switch (x) {
7408 case '%s': return String(args[i++]);
7409 case '%d': return Number(args[i++]);
7410 case '%j':
7411 try {
7412 return JSON.stringify(args[i++]);
7413 } catch (_) {
7414 return '[Circular]';
7415 }
7416 default:
7417 return x;
7418 }
7419 });
7420 for (var x = args[i]; i < len; x = args[++i]) {
7421 if (isNull(x) || !isObject(x)) {
7422 str += ' ' + x;
7423 } else {
7424 str += ' ' + inspect(x);
7425 }
7426 }
7427 return str;
7428};
ebd8d4e8 7429
ebd8d4e8 7430
ab78acc6
IC
7431// Mark that a method should not be used.
7432// Returns a modified function which warns once by default.
7433// If --no-deprecation is set, then it is a no-op.
7434exports.deprecate = function(fn, msg) {
7435 // Allow for deprecating things in the process of starting up.
7436 if (isUndefined(global.process)) {
7437 return function() {
7438 return exports.deprecate(fn, msg).apply(this, arguments);
7439 };
7440 }
ebd8d4e8 7441
ab78acc6
IC
7442 if (process.noDeprecation === true) {
7443 return fn;
7444 }
ebd8d4e8 7445
ab78acc6
IC
7446 var warned = false;
7447 function deprecated() {
7448 if (!warned) {
7449 if (process.throwDeprecation) {
7450 throw new Error(msg);
7451 } else if (process.traceDeprecation) {
7452 console.trace(msg);
7453 } else {
7454 console.error(msg);
7455 }
7456 warned = true;
7457 }
7458 return fn.apply(this, arguments);
7459 }
ebd8d4e8 7460
ab78acc6
IC
7461 return deprecated;
7462};
ebd8d4e8 7463
ebd8d4e8 7464
ab78acc6
IC
7465var debugs = {};
7466var debugEnviron;
7467exports.debuglog = function(set) {
7468 if (isUndefined(debugEnviron))
7469 debugEnviron = process.env.NODE_DEBUG || '';
7470 set = set.toUpperCase();
7471 if (!debugs[set]) {
7472 if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
7473 var pid = process.pid;
7474 debugs[set] = function() {
7475 var msg = exports.format.apply(exports, arguments);
7476 console.error('%s %d: %s', set, pid, msg);
7477 };
7478 } else {
7479 debugs[set] = function() {};
ebd8d4e8
IC
7480 }
7481 }
ab78acc6
IC
7482 return debugs[set];
7483};
ebd8d4e8 7484
ebd8d4e8
IC
7485
7486/**
ab78acc6
IC
7487 * Echos the value of a value. Trys to print the value out
7488 * in the best way possible given the different types.
7489 *
7490 * @param {Object} obj The object to print out.
7491 * @param {Object} opts Optional options object that alters the output.
ebd8d4e8 7492 */
ab78acc6
IC
7493/* legacy: obj, showHidden, depth, colors*/
7494function inspect(obj, opts) {
7495 // default options
7496 var ctx = {
7497 seen: [],
7498 stylize: stylizeNoColor
7499 };
7500 // legacy...
7501 if (arguments.length >= 3) ctx.depth = arguments[2];
7502 if (arguments.length >= 4) ctx.colors = arguments[3];
7503 if (isBoolean(opts)) {
7504 // legacy...
7505 ctx.showHidden = opts;
7506 } else if (opts) {
7507 // got an "options" object
7508 exports._extend(ctx, opts);
ebd8d4e8 7509 }
ab78acc6
IC
7510 // set default options
7511 if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
7512 if (isUndefined(ctx.depth)) ctx.depth = 2;
7513 if (isUndefined(ctx.colors)) ctx.colors = false;
7514 if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
7515 if (ctx.colors) ctx.stylize = stylizeWithColor;
7516 return formatValue(ctx, obj, ctx.depth);
ebd8d4e8 7517}
ab78acc6 7518exports.inspect = inspect;
ebd8d4e8 7519
ebd8d4e8 7520
ab78acc6
IC
7521// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
7522inspect.colors = {
7523 'bold' : [1, 22],
7524 'italic' : [3, 23],
7525 'underline' : [4, 24],
7526 'inverse' : [7, 27],
7527 'white' : [37, 39],
7528 'grey' : [90, 39],
7529 'black' : [30, 39],
7530 'blue' : [34, 39],
7531 'cyan' : [36, 39],
7532 'green' : [32, 39],
7533 'magenta' : [35, 39],
7534 'red' : [31, 39],
7535 'yellow' : [33, 39]
7536};
ebd8d4e8 7537
ab78acc6
IC
7538// Don't use 'blue' not visible on cmd.exe
7539inspect.styles = {
7540 'special': 'cyan',
7541 'number': 'yellow',
7542 'boolean': 'yellow',
7543 'undefined': 'grey',
7544 'null': 'bold',
7545 'string': 'green',
7546 'date': 'magenta',
7547 // "name": intentionally not styling
7548 'regexp': 'red'
7549};
ebd8d4e8 7550
ebd8d4e8 7551
ab78acc6
IC
7552function stylizeWithColor(str, styleType) {
7553 var style = inspect.styles[styleType];
ebd8d4e8 7554
ab78acc6
IC
7555 if (style) {
7556 return '\u001b[' + inspect.colors[style][0] + 'm' + str +
7557 '\u001b[' + inspect.colors[style][1] + 'm';
7558 } else {
7559 return str;
ebd8d4e8 7560 }
ebd8d4e8
IC
7561}
7562
ebd8d4e8 7563
ab78acc6
IC
7564function stylizeNoColor(str, styleType) {
7565 return str;
ebd8d4e8
IC
7566}
7567
ebd8d4e8 7568
ab78acc6
IC
7569function arrayToHash(array) {
7570 var hash = {};
ebd8d4e8 7571
ab78acc6
IC
7572 array.forEach(function(val, idx) {
7573 hash[val] = true;
7574 });
ebd8d4e8 7575
ab78acc6 7576 return hash;
ebd8d4e8
IC
7577}
7578
ebd8d4e8 7579
ab78acc6
IC
7580function formatValue(ctx, value, recurseTimes) {
7581 // Provide a hook for user-specified inspect functions.
7582 // Check that value is an object with an inspect function on it
7583 if (ctx.customInspect &&
7584 value &&
7585 isFunction(value.inspect) &&
7586 // Filter out the util module, it's inspect function is special
7587 value.inspect !== exports.inspect &&
7588 // Also filter out any prototype objects using the circular check.
7589 !(value.constructor && value.constructor.prototype === value)) {
7590 var ret = value.inspect(recurseTimes, ctx);
7591 if (!isString(ret)) {
7592 ret = formatValue(ctx, ret, recurseTimes);
7593 }
7594 return ret;
ebd8d4e8 7595 }
ebd8d4e8 7596
ab78acc6
IC
7597 // Primitive types cannot have properties
7598 var primitive = formatPrimitive(ctx, value);
7599 if (primitive) {
7600 return primitive;
ebd8d4e8
IC
7601 }
7602
ab78acc6
IC
7603 // Look up the keys of the object.
7604 var keys = Object.keys(value);
7605 var visibleKeys = arrayToHash(keys);
ebd8d4e8 7606
ab78acc6
IC
7607 if (ctx.showHidden) {
7608 keys = Object.getOwnPropertyNames(value);
7609 }
ebd8d4e8 7610
ab78acc6
IC
7611 // IE doesn't make error fields non-enumerable
7612 // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
7613 if (isError(value)
7614 && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
7615 return formatError(value);
ebd8d4e8 7616 }
ebd8d4e8 7617
ab78acc6
IC
7618 // Some type of object without properties can be shortcutted.
7619 if (keys.length === 0) {
7620 if (isFunction(value)) {
7621 var name = value.name ? ': ' + value.name : '';
7622 return ctx.stylize('[Function' + name + ']', 'special');
7623 }
7624 if (isRegExp(value)) {
7625 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
7626 }
7627 if (isDate(value)) {
7628 return ctx.stylize(Date.prototype.toString.call(value), 'date');
7629 }
7630 if (isError(value)) {
7631 return formatError(value);
7632 }
ebd8d4e8 7633 }
ebd8d4e8 7634
ab78acc6 7635 var base = '', array = false, braces = ['{', '}'];
ebd8d4e8 7636
ab78acc6
IC
7637 // Make Array say that they are Array
7638 if (isArray(value)) {
7639 array = true;
7640 braces = ['[', ']'];
7641 }
ebd8d4e8 7642
ab78acc6
IC
7643 // Make functions say that they are functions
7644 if (isFunction(value)) {
7645 var n = value.name ? ': ' + value.name : '';
7646 base = ' [Function' + n + ']';
7647 }
ebd8d4e8 7648
ab78acc6
IC
7649 // Make RegExps say that they are RegExps
7650 if (isRegExp(value)) {
7651 base = ' ' + RegExp.prototype.toString.call(value);
7652 }
ebd8d4e8 7653
ab78acc6
IC
7654 // Make dates with properties first say the date
7655 if (isDate(value)) {
7656 base = ' ' + Date.prototype.toUTCString.call(value);
7657 }
ebd8d4e8 7658
ab78acc6
IC
7659 // Make error with message first say the error
7660 if (isError(value)) {
7661 base = ' ' + formatError(value);
7662 }
ebd8d4e8 7663
ab78acc6
IC
7664 if (keys.length === 0 && (!array || value.length == 0)) {
7665 return braces[0] + base + braces[1];
7666 }
ebd8d4e8 7667
ab78acc6
IC
7668 if (recurseTimes < 0) {
7669 if (isRegExp(value)) {
7670 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
7671 } else {
7672 return ctx.stylize('[Object]', 'special');
7673 }
7674 }
ebd8d4e8 7675
ab78acc6 7676 ctx.seen.push(value);
ebd8d4e8 7677
ab78acc6
IC
7678 var output;
7679 if (array) {
7680 output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
7681 } else {
7682 output = keys.map(function(key) {
7683 return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
7684 });
7685 }
ebd8d4e8 7686
ab78acc6 7687 ctx.seen.pop();
ebd8d4e8 7688
ab78acc6
IC
7689 return reduceToSingleString(output, base, braces);
7690}
ebd8d4e8 7691
ebd8d4e8 7692
ab78acc6
IC
7693function formatPrimitive(ctx, value) {
7694 if (isUndefined(value))
7695 return ctx.stylize('undefined', 'undefined');
7696 if (isString(value)) {
7697 var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
7698 .replace(/'/g, "\\'")
7699 .replace(/\\"/g, '"') + '\'';
7700 return ctx.stylize(simple, 'string');
7701 }
7702 if (isNumber(value))
7703 return ctx.stylize('' + value, 'number');
7704 if (isBoolean(value))
7705 return ctx.stylize('' + value, 'boolean');
7706 // For some reason typeof null is "object", so special case here.
7707 if (isNull(value))
7708 return ctx.stylize('null', 'null');
7709}
ebd8d4e8 7710
ebd8d4e8 7711
ab78acc6
IC
7712function formatError(value) {
7713 return '[' + Error.prototype.toString.call(value) + ']';
7714}
ebd8d4e8 7715
ebd8d4e8 7716
ab78acc6
IC
7717function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
7718 var output = [];
7719 for (var i = 0, l = value.length; i < l; ++i) {
7720 if (hasOwnProperty(value, String(i))) {
7721 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
7722 String(i), true));
7723 } else {
7724 output.push('');
7725 }
7726 }
7727 keys.forEach(function(key) {
7728 if (!key.match(/^\d+$/)) {
7729 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
7730 key, true));
7731 }
7732 });
7733 return output;
7734}
ebd8d4e8 7735
ebd8d4e8 7736
ab78acc6
IC
7737function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
7738 var name, str, desc;
7739 desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
7740 if (desc.get) {
7741 if (desc.set) {
7742 str = ctx.stylize('[Getter/Setter]', 'special');
7743 } else {
7744 str = ctx.stylize('[Getter]', 'special');
7745 }
7746 } else {
7747 if (desc.set) {
7748 str = ctx.stylize('[Setter]', 'special');
7749 }
7750 }
7751 if (!hasOwnProperty(visibleKeys, key)) {
7752 name = '[' + key + ']';
7753 }
7754 if (!str) {
7755 if (ctx.seen.indexOf(desc.value) < 0) {
7756 if (isNull(recurseTimes)) {
7757 str = formatValue(ctx, desc.value, null);
7758 } else {
7759 str = formatValue(ctx, desc.value, recurseTimes - 1);
7760 }
7761 if (str.indexOf('\n') > -1) {
7762 if (array) {
7763 str = str.split('\n').map(function(line) {
7764 return ' ' + line;
7765 }).join('\n').substr(2);
7766 } else {
7767 str = '\n' + str.split('\n').map(function(line) {
7768 return ' ' + line;
7769 }).join('\n');
7770 }
7771 }
7772 } else {
7773 str = ctx.stylize('[Circular]', 'special');
7774 }
7775 }
7776 if (isUndefined(name)) {
7777 if (array && key.match(/^\d+$/)) {
7778 return str;
7779 }
7780 name = JSON.stringify('' + key);
7781 if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
7782 name = name.substr(1, name.length - 2);
7783 name = ctx.stylize(name, 'name');
7784 } else {
7785 name = name.replace(/'/g, "\\'")
7786 .replace(/\\"/g, '"')
7787 .replace(/(^"|"$)/g, "'");
7788 name = ctx.stylize(name, 'string');
7789 }
7790 }
ebd8d4e8 7791
ab78acc6
IC
7792 return name + ': ' + str;
7793}
ebd8d4e8 7794
ebd8d4e8 7795
ab78acc6
IC
7796function reduceToSingleString(output, base, braces) {
7797 var numLinesEst = 0;
7798 var length = output.reduce(function(prev, cur) {
7799 numLinesEst++;
7800 if (cur.indexOf('\n') >= 0) numLinesEst++;
7801 return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
7802 }, 0);
ebd8d4e8 7803
ab78acc6
IC
7804 if (length > 60) {
7805 return braces[0] +
7806 (base === '' ? '' : base + '\n ') +
7807 ' ' +
7808 output.join(',\n ') +
7809 ' ' +
7810 braces[1];
7811 }
ebd8d4e8 7812
ab78acc6
IC
7813 return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
7814}
ebd8d4e8 7815
ebd8d4e8 7816
ab78acc6
IC
7817// NOTE: These type checking functions intentionally don't use `instanceof`
7818// because it is fragile and can be easily faked with `Object.create()`.
7819function isArray(ar) {
7820 return Array.isArray(ar);
7821}
7822exports.isArray = isArray;
ebd8d4e8 7823
ab78acc6
IC
7824function isBoolean(arg) {
7825 return typeof arg === 'boolean';
7826}
7827exports.isBoolean = isBoolean;
ebd8d4e8 7828
ab78acc6
IC
7829function isNull(arg) {
7830 return arg === null;
7831}
7832exports.isNull = isNull;
ebd8d4e8 7833
ab78acc6
IC
7834function isNullOrUndefined(arg) {
7835 return arg == null;
7836}
7837exports.isNullOrUndefined = isNullOrUndefined;
ebd8d4e8 7838
ab78acc6
IC
7839function isNumber(arg) {
7840 return typeof arg === 'number';
7841}
7842exports.isNumber = isNumber;
ebd8d4e8 7843
ab78acc6
IC
7844function isString(arg) {
7845 return typeof arg === 'string';
7846}
7847exports.isString = isString;
ebd8d4e8 7848
ab78acc6
IC
7849function isSymbol(arg) {
7850 return typeof arg === 'symbol';
7851}
7852exports.isSymbol = isSymbol;
ebd8d4e8 7853
ab78acc6
IC
7854function isUndefined(arg) {
7855 return arg === void 0;
7856}
7857exports.isUndefined = isUndefined;
ebd8d4e8 7858
ab78acc6
IC
7859function isRegExp(re) {
7860 return isObject(re) && objectToString(re) === '[object RegExp]';
7861}
7862exports.isRegExp = isRegExp;
ebd8d4e8 7863
ab78acc6
IC
7864function isObject(arg) {
7865 return typeof arg === 'object' && arg !== null;
ebd8d4e8 7866}
ab78acc6 7867exports.isObject = isObject;
ebd8d4e8 7868
ab78acc6
IC
7869function isDate(d) {
7870 return isObject(d) && objectToString(d) === '[object Date]';
7871}
7872exports.isDate = isDate;
ebd8d4e8 7873
ab78acc6
IC
7874function isError(e) {
7875 return isObject(e) &&
7876 (objectToString(e) === '[object Error]' || e instanceof Error);
7877}
7878exports.isError = isError;
ebd8d4e8 7879
ab78acc6
IC
7880function isFunction(arg) {
7881 return typeof arg === 'function';
7882}
7883exports.isFunction = isFunction;
ebd8d4e8 7884
ab78acc6
IC
7885function isPrimitive(arg) {
7886 return arg === null ||
7887 typeof arg === 'boolean' ||
7888 typeof arg === 'number' ||
7889 typeof arg === 'string' ||
7890 typeof arg === 'symbol' || // ES6 symbol
7891 typeof arg === 'undefined';
7892}
7893exports.isPrimitive = isPrimitive;
ebd8d4e8 7894
ab78acc6 7895exports.isBuffer = require('./support/isBuffer');
ebd8d4e8 7896
ab78acc6
IC
7897function objectToString(o) {
7898 return Object.prototype.toString.call(o);
7899}
ebd8d4e8 7900
ebd8d4e8 7901
ab78acc6
IC
7902function pad(n) {
7903 return n < 10 ? '0' + n.toString(10) : n.toString(10);
7904}
ebd8d4e8 7905
ebd8d4e8 7906
ab78acc6
IC
7907var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
7908 'Oct', 'Nov', 'Dec'];
ebd8d4e8 7909
ab78acc6
IC
7910// 26 Feb 16:19:34
7911function timestamp() {
7912 var d = new Date();
7913 var time = [pad(d.getHours()),
7914 pad(d.getMinutes()),
7915 pad(d.getSeconds())].join(':');
7916 return [d.getDate(), months[d.getMonth()], time].join(' ');
ebd8d4e8
IC
7917}
7918
ab78acc6
IC
7919
7920// log is just a thin wrapper to console.log that prepends a timestamp
7921exports.log = function() {
7922 console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
ebd8d4e8
IC
7923};
7924
ab78acc6
IC
7925
7926/**
7927 * Inherit the prototype methods from one constructor into another.
7928 *
7929 * The Function.prototype.inherits from lang.js rewritten as a standalone
7930 * function (not on Function.prototype). NOTE: If this file is to be loaded
7931 * during bootstrapping this function needs to be rewritten using some native
7932 * functions as prototype setup using normal JavaScript does not work as
7933 * expected during bootstrapping (see mirror.js in r114903).
7934 *
7935 * @param {function} ctor Constructor function which needs to inherit the
7936 * prototype.
7937 * @param {function} superCtor Constructor function to inherit prototype from.
7938 */
7939exports.inherits = require('inherits');
7940
7941exports._extend = function(origin, add) {
7942 // Don't do anything if add isn't an object
7943 if (!add || !isObject(add)) return origin;
7944
7945 var keys = Object.keys(add);
7946 var i = keys.length;
7947 while (i--) {
7948 origin[keys[i]] = add[keys[i]];
7949 }
7950 return origin;
7951};
7952
7953function hasOwnProperty(obj, prop) {
7954 return Object.prototype.hasOwnProperty.call(obj, prop);
7955}
7956
7957}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
7958},{"./support/isBuffer":28,"_process":14,"inherits":12}],30:[function(require,module,exports){
ebd8d4e8
IC
7959// Base58 encoding/decoding
7960// Originally written by Mike Hearn for BitcoinJ
7961// Copyright (c) 2011 Google Inc
7962// Ported to JavaScript by Stefan Thomas
7963// Merged Buffer refactorings from base58-native by Stephen Pair
7964// Copyright (c) 2013 BitPay Inc
7965
ebd8d4e8 7966var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
ebd8d4e8
IC
7967var ALPHABET_MAP = {}
7968for(var i = 0; i < ALPHABET.length; i++) {
ab78acc6 7969 ALPHABET_MAP[ALPHABET.charAt(i)] = i
ebd8d4e8 7970}
ab78acc6 7971var BASE = 58
ebd8d4e8
IC
7972
7973function encode(buffer) {
ab78acc6
IC
7974 if (buffer.length === 0) return ''
7975
7976 var i, j, digits = [0]
7977 for (i = 0; i < buffer.length; i++) {
7978 for (j = 0; j < digits.length; j++) digits[j] <<= 8
7979
7980 digits[0] += buffer[i]
ebd8d4e8 7981
ab78acc6
IC
7982 var carry = 0
7983 for (j = 0; j < digits.length; ++j) {
7984 digits[j] += carry
ebd8d4e8 7985
ab78acc6
IC
7986 carry = (digits[j] / BASE) | 0
7987 digits[j] %= BASE
7988 }
7989
7990 while (carry) {
7991 digits.push(carry % BASE)
7992
7993 carry = (carry / BASE) | 0
7994 }
ebd8d4e8
IC
7995 }
7996
7997 // deal with leading zeros
ab78acc6 7998 for (i = 0; buffer[i] === 0 && i < buffer.length - 1; i++) digits.push(0)
ebd8d4e8 7999
ab78acc6
IC
8000 // convert digits to a string
8001 var stringOutput = ""
8002 for (var i = digits.length - 1; i >= 0; i--) {
8003 stringOutput = stringOutput + ALPHABET[digits[i]]
8004 }
8005 return stringOutput
ebd8d4e8
IC
8006}
8007
8008function decode(string) {
ab78acc6 8009 if (string.length === 0) return []
ebd8d4e8 8010
ab78acc6
IC
8011 var i, j, bytes = [0]
8012 for (i = 0; i < string.length; i++) {
8013 var c = string[i]
8014 if (!(c in ALPHABET_MAP)) throw new Error('Non-base58 character')
ebd8d4e8 8015
ab78acc6
IC
8016 for (j = 0; j < bytes.length; j++) bytes[j] *= BASE
8017 bytes[0] += ALPHABET_MAP[c]
ebd8d4e8 8018
ab78acc6
IC
8019 var carry = 0
8020 for (j = 0; j < bytes.length; ++j) {
8021 bytes[j] += carry
ebd8d4e8 8022
ab78acc6
IC
8023 carry = bytes[j] >> 8
8024 bytes[j] &= 0xff
8025 }
ebd8d4e8 8026
ab78acc6
IC
8027 while (carry) {
8028 bytes.push(carry & 0xff)
8029
8030 carry >>= 8
8031 }
ebd8d4e8
IC
8032 }
8033
ab78acc6
IC
8034 // deal with leading zeros
8035 for (i = 0; string[i] === '1' && i < string.length - 1; i++) bytes.push(0)
ebd8d4e8 8036
ab78acc6 8037 return bytes.reverse()
ebd8d4e8
IC
8038}
8039
8040module.exports = {
8041 encode: encode,
8042 decode: decode
8043}
8044
ab78acc6 8045},{}],31:[function(require,module,exports){
ebd8d4e8 8046(function (Buffer){
ab78acc6
IC
8047'use strict'
8048
8049var base58 = require('bs58')
8050var createHash = require('create-hash')
8051
8052// SHA256(SHA256(buffer))
8053function sha256x2 (buffer) {
8054 buffer = createHash('sha256').update(buffer).digest()
8055 return createHash('sha256').update(buffer).digest()
8056}
8057
8058// Encode a buffer as a base58-check encoded string
8059function encode (payload) {
8060 var checksum = sha256x2(payload).slice(0, 4)
8061
8062 return base58.encode(Buffer.concat([
8063 payload,
8064 checksum
8065 ]))
8066}
8067
8068// Decode a base58-check encoded string to a buffer
8069function decode (string) {
8070 var buffer = new Buffer(base58.decode(string))
8071
8072 var payload = buffer.slice(0, -4)
8073 var checksum = buffer.slice(-4)
8074 var newChecksum = sha256x2(payload).slice(0, 4)
8075
8076 for (var i = 0; i < newChecksum.length; ++i) {
8077 if (newChecksum[i] === checksum[i]) continue
8078
8079 throw new Error('Invalid checksum')
ebd8d4e8 8080 }
ab78acc6
IC
8081
8082 return payload
ebd8d4e8
IC
8083}
8084
ab78acc6
IC
8085module.exports = {
8086 encode: encode,
8087 decode: decode
ebd8d4e8
IC
8088}
8089
ab78acc6
IC
8090}).call(this,require("buffer").Buffer)
8091},{"bs58":30,"buffer":7,"create-hash":32}],32:[function(require,module,exports){
ebd8d4e8 8092(function (Buffer){
ab78acc6
IC
8093'use strict';
8094var inherits = require('inherits')
8095var md5 = require('./md5')
8096var rmd160 = require('ripemd160')
8097var sha = require('sha.js')
ebd8d4e8 8098
ab78acc6 8099var Transform = require('stream').Transform
ebd8d4e8 8100
ab78acc6
IC
8101function HashNoConstructor(hash) {
8102 Transform.call(this)
ebd8d4e8 8103
ab78acc6
IC
8104 this._hash = hash
8105 this.buffers = []
8106}
ebd8d4e8 8107
ab78acc6 8108inherits(HashNoConstructor, Transform)
ebd8d4e8 8109
ab78acc6
IC
8110HashNoConstructor.prototype._transform = function (data, _, next) {
8111 this.buffers.push(data)
ebd8d4e8 8112
ab78acc6
IC
8113 next()
8114}
ebd8d4e8 8115
ab78acc6
IC
8116HashNoConstructor.prototype._flush = function (next) {
8117 this.push(this.digest())
8118 next()
8119}
8120
8121HashNoConstructor.prototype.update = function (data, enc) {
8122 if (typeof data === 'string') {
8123 data = new Buffer(data, enc)
ebd8d4e8
IC
8124 }
8125
ab78acc6
IC
8126 this.buffers.push(data)
8127 return this
8128}
8129
8130HashNoConstructor.prototype.digest = function (enc) {
8131 var buf = Buffer.concat(this.buffers)
8132 var r = this._hash(buf)
8133 this.buffers = null
8134
8135 return enc ? r.toString(enc) : r
8136}
8137
8138function Hash(hash) {
8139 Transform.call(this)
8140
8141 this._hash = hash
8142}
8143
8144inherits(Hash, Transform)
8145
8146Hash.prototype._transform = function (data, enc, next) {
8147 if (enc) data = new Buffer(data, enc)
8148
8149 this._hash.update(data)
8150
8151 next()
ebd8d4e8
IC
8152}
8153
ab78acc6
IC
8154Hash.prototype._flush = function (next) {
8155 this.push(this._hash.digest())
8156 this._hash = null
8157
8158 next()
8159}
8160
8161Hash.prototype.update = function (data, enc) {
8162 if (typeof data === 'string') {
8163 data = new Buffer(data, enc)
8164 }
8165
8166 this._hash.update(data)
ebd8d4e8
IC
8167 return this
8168}
8169
ab78acc6
IC
8170Hash.prototype.digest = function (enc) {
8171 var outData = this._hash.digest()
8172
8173 return enc ? outData.toString(enc) : outData
ebd8d4e8
IC
8174}
8175
ab78acc6
IC
8176module.exports = function createHash (alg) {
8177 if ('md5' === alg) return new HashNoConstructor(md5)
8178 if ('rmd160' === alg) return new HashNoConstructor(rmd160)
8179
8180 return new Hash(sha(alg))
8181}
ebd8d4e8 8182
ab78acc6
IC
8183}).call(this,require("buffer").Buffer)
8184},{"./md5":34,"buffer":7,"inherits":35,"ripemd160":36,"sha.js":38,"stream":26}],33:[function(require,module,exports){
ebd8d4e8 8185(function (Buffer){
ab78acc6 8186'use strict';
ebd8d4e8
IC
8187var intSize = 4;
8188var zeroBuffer = new Buffer(intSize); zeroBuffer.fill(0);
8189var chrsz = 8;
8190
8191function toArray(buf, bigEndian) {
8192 if ((buf.length % intSize) !== 0) {
8193 var len = buf.length + (intSize - (buf.length % intSize));
8194 buf = Buffer.concat([buf, zeroBuffer], len);
8195 }
8196
8197 var arr = [];
8198 var fn = bigEndian ? buf.readInt32BE : buf.readInt32LE;
8199 for (var i = 0; i < buf.length; i += intSize) {
8200 arr.push(fn.call(buf, i));
8201 }
8202 return arr;
8203}
8204
8205function toBuffer(arr, size, bigEndian) {
8206 var buf = new Buffer(size);
8207 var fn = bigEndian ? buf.writeInt32BE : buf.writeInt32LE;
8208 for (var i = 0; i < arr.length; i++) {
8209 fn.call(buf, arr[i], i * 4, true);
8210 }
8211 return buf;
8212}
8213
8214function hash(buf, fn, hashSize, bigEndian) {
8215 if (!Buffer.isBuffer(buf)) buf = new Buffer(buf);
8216 var arr = fn(toArray(buf, bigEndian), buf.length * chrsz);
8217 return toBuffer(arr, hashSize, bigEndian);
8218}
ab78acc6
IC
8219exports.hash = hash;
8220}).call(this,require("buffer").Buffer)
8221},{"buffer":7}],34:[function(require,module,exports){
8222'use strict';
ebd8d4e8
IC
8223/*
8224 * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
8225 * Digest Algorithm, as defined in RFC 1321.
8226 * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
8227 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8228 * Distributed under the BSD License
8229 * See http://pajhome.org.uk/crypt/md5 for more info.
8230 */
8231
ab78acc6 8232var helpers = require('./helpers');
ebd8d4e8
IC
8233
8234/*
8235 * Calculate the MD5 of an array of little-endian words, and a bit length
8236 */
8237function core_md5(x, len)
8238{
8239 /* append padding */
8240 x[len >> 5] |= 0x80 << ((len) % 32);
8241 x[(((len + 64) >>> 9) << 4) + 14] = len;
8242
8243 var a = 1732584193;
8244 var b = -271733879;
8245 var c = -1732584194;
8246 var d = 271733878;
8247
8248 for(var i = 0; i < x.length; i += 16)
8249 {
8250 var olda = a;
8251 var oldb = b;
8252 var oldc = c;
8253 var oldd = d;
8254
8255 a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
8256 d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
8257 c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
8258 b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
8259 a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
8260 d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
8261 c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
8262 b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
8263 a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
8264 d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
8265 c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
8266 b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
8267 a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
8268 d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
8269 c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
8270 b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
8271
8272 a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
8273 d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
8274 c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
8275 b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
8276 a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
8277 d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
8278 c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
8279 b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
8280 a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
8281 d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
8282 c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
8283 b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
8284 a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
8285 d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
8286 c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
8287 b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
8288
8289 a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
8290 d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
8291 c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
8292 b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
8293 a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
8294 d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
8295 c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
8296 b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
8297 a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
8298 d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
8299 c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
8300 b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
8301 a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
8302 d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
8303 c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
8304 b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
8305
8306 a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
8307 d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
8308 c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
8309 b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
8310 a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
8311 d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
8312 c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
8313 b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
8314 a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
8315 d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
8316 c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
8317 b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
8318 a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
8319 d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
8320 c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
8321 b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
8322
8323 a = safe_add(a, olda);
8324 b = safe_add(b, oldb);
8325 c = safe_add(c, oldc);
8326 d = safe_add(d, oldd);
8327 }
8328 return Array(a, b, c, d);
8329
8330}
8331
8332/*
8333 * These functions implement the four basic operations the algorithm uses.
8334 */
8335function md5_cmn(q, a, b, x, s, t)
8336{
8337 return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
8338}
8339function md5_ff(a, b, c, d, x, s, t)
8340{
8341 return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
8342}
8343function md5_gg(a, b, c, d, x, s, t)
8344{
8345 return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
8346}
8347function md5_hh(a, b, c, d, x, s, t)
8348{
8349 return md5_cmn(b ^ c ^ d, a, b, x, s, t);
8350}
8351function md5_ii(a, b, c, d, x, s, t)
8352{
8353 return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
8354}
8355
8356/*
8357 * Add integers, wrapping at 2^32. This uses 16-bit operations internally
8358 * to work around bugs in some JS interpreters.
8359 */
8360function safe_add(x, y)
8361{
8362 var lsw = (x & 0xFFFF) + (y & 0xFFFF);
8363 var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
8364 return (msw << 16) | (lsw & 0xFFFF);
8365}
8366
8367/*
8368 * Bitwise rotate a 32-bit number to the left.
8369 */
8370function bit_rol(num, cnt)
8371{
8372 return (num << cnt) | (num >>> (32 - cnt));
8373}
8374
8375module.exports = function md5(buf) {
8376 return helpers.hash(buf, core_md5, 16);
8377};
ab78acc6
IC
8378},{"./helpers":33}],35:[function(require,module,exports){
8379arguments[4][12][0].apply(exports,arguments)
8380},{"dup":12}],36:[function(require,module,exports){
ebd8d4e8 8381(function (Buffer){
ebd8d4e8
IC
8382/*
8383CryptoJS v3.1.2
8384code.google.com/p/crypto-js
8385(c) 2009-2013 by Jeff Mott. All rights reserved.
8386code.google.com/p/crypto-js/wiki/License
8387*/
8388/** @preserve
8389(c) 2012 by Cédric Mesnil. All rights reserved.
8390
8391Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
8392
8393 - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
8394 - 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.
8395
8396THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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.
8397*/
8398
ab78acc6 8399// constants table
ebd8d4e8 8400var zl = [
ab78acc6
IC
8401 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
8402 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
8403 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
8404 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
8405 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
8406]
8407
ebd8d4e8 8408var zr = [
ab78acc6
IC
8409 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
8410 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
8411 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
8412 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
8413 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
8414]
8415
ebd8d4e8 8416var sl = [
ab78acc6
IC
8417 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
8418 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
8419 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
8420 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
8421 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
8422]
8423
ebd8d4e8 8424var sr = [
ab78acc6
IC
8425 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
8426 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
8427 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
8428 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
8429 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
8430]
ebd8d4e8 8431
ab78acc6
IC
8432var hl = [0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]
8433var hr = [0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]
ebd8d4e8 8434
ab78acc6
IC
8435function bytesToWords (bytes) {
8436 var words = []
ebd8d4e8 8437 for (var i = 0, b = 0; i < bytes.length; i++, b += 8) {
ab78acc6 8438 words[b >>> 5] |= bytes[i] << (24 - b % 32)
ebd8d4e8 8439 }
ab78acc6
IC
8440 return words
8441}
ebd8d4e8 8442
ab78acc6
IC
8443function wordsToBytes (words) {
8444 var bytes = []
ebd8d4e8 8445 for (var b = 0; b < words.length * 32; b += 8) {
ab78acc6 8446 bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF)
ebd8d4e8 8447 }
ab78acc6
IC
8448 return bytes
8449}
ebd8d4e8 8450
ab78acc6
IC
8451function processBlock (H, M, offset) {
8452 // swap endian
ebd8d4e8 8453 for (var i = 0; i < 16; i++) {
ab78acc6
IC
8454 var offset_i = offset + i
8455 var M_offset_i = M[offset_i]
ebd8d4e8
IC
8456
8457 // Swap
8458 M[offset_i] = (
ab78acc6
IC
8459 (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
8460 (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)
8461 )
ebd8d4e8
IC
8462 }
8463
8464 // Working variables
ab78acc6
IC
8465 var al, bl, cl, dl, el
8466 var ar, br, cr, dr, er
8467
8468 ar = al = H[0]
8469 br = bl = H[1]
8470 cr = cl = H[2]
8471 dr = dl = H[3]
8472 er = el = H[4]
8473
8474 // computation
8475 var t
8476 for (i = 0; i < 80; i += 1) {
8477 t = (al + M[offset + zl[i]]) | 0
8478 if (i < 16) {
8479 t += f1(bl, cl, dl) + hl[0]
8480 } else if (i < 32) {
8481 t += f2(bl, cl, dl) + hl[1]
8482 } else if (i < 48) {
8483 t += f3(bl, cl, dl) + hl[2]
8484 } else if (i < 64) {
8485 t += f4(bl, cl, dl) + hl[3]
ebd8d4e8 8486 } else {// if (i<80) {
ab78acc6
IC
8487 t += f5(bl, cl, dl) + hl[4]
8488 }
8489 t = t | 0
8490 t = rotl(t, sl[i])
8491 t = (t + el) | 0
8492 al = el
8493 el = dl
8494 dl = rotl(cl, 10)
8495 cl = bl
8496 bl = t
8497
8498 t = (ar + M[offset + zr[i]]) | 0
8499 if (i < 16) {
8500 t += f5(br, cr, dr) + hr[0]
8501 } else if (i < 32) {
8502 t += f4(br, cr, dr) + hr[1]
8503 } else if (i < 48) {
8504 t += f3(br, cr, dr) + hr[2]
8505 } else if (i < 64) {
8506 t += f2(br, cr, dr) + hr[3]
ebd8d4e8 8507 } else {// if (i<80) {
ab78acc6 8508 t += f1(br, cr, dr) + hr[4]
ebd8d4e8 8509 }
ebd8d4e8 8510
ab78acc6
IC
8511 t = t | 0
8512 t = rotl(t, sr[i])
8513 t = (t + er) | 0
8514 ar = er
8515 er = dr
8516 dr = rotl(cr, 10)
8517 cr = br
8518 br = t
8519 }
8520
8521 // intermediate hash value
8522 t = (H[1] + cl + dr) | 0
8523 H[1] = (H[2] + dl + er) | 0
8524 H[2] = (H[3] + el + ar) | 0
8525 H[3] = (H[4] + al + br) | 0
8526 H[4] = (H[0] + bl + cr) | 0
8527 H[0] = t
ebd8d4e8
IC
8528}
8529
ab78acc6
IC
8530function f1 (x, y, z) {
8531 return ((x) ^ (y) ^ (z))
ebd8d4e8
IC
8532}
8533
ab78acc6
IC
8534function f2 (x, y, z) {
8535 return (((x) & (y)) | ((~x) & (z)))
ebd8d4e8
IC
8536}
8537
ab78acc6
IC
8538function f3 (x, y, z) {
8539 return (((x) | (~(y))) ^ (z))
ebd8d4e8
IC
8540}
8541
ab78acc6
IC
8542function f4 (x, y, z) {
8543 return (((x) & (z)) | ((y) & (~(z))))
ebd8d4e8
IC
8544}
8545
ab78acc6
IC
8546function f5 (x, y, z) {
8547 return ((x) ^ ((y) | (~(z))))
ebd8d4e8
IC
8548}
8549
ab78acc6
IC
8550function rotl (x, n) {
8551 return (x << n) | (x >>> (32 - n))
8552}
8553
8554function ripemd160 (message) {
8555 var H = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]
ebd8d4e8 8556
ab78acc6
IC
8557 if (typeof message === 'string') {
8558 message = new Buffer(message, 'utf8')
8559 }
ebd8d4e8 8560
ab78acc6 8561 var m = bytesToWords(message)
ebd8d4e8 8562
ab78acc6
IC
8563 var nBitsLeft = message.length * 8
8564 var nBitsTotal = message.length * 8
ebd8d4e8
IC
8565
8566 // Add padding
ab78acc6 8567 m[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32)
ebd8d4e8 8568 m[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (
ab78acc6
IC
8569 (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) |
8570 (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00)
8571 )
ebd8d4e8 8572
ab78acc6
IC
8573 for (var i = 0; i < m.length; i += 16) {
8574 processBlock(H, m, i)
ebd8d4e8
IC
8575 }
8576
ab78acc6
IC
8577 // swap endian
8578 for (i = 0; i < 5; i++) {
8579 // shortcut
8580 var H_i = H[i]
ebd8d4e8
IC
8581
8582 // Swap
ab78acc6
IC
8583 H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
8584 (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00)
ebd8d4e8
IC
8585 }
8586
ab78acc6
IC
8587 var digestbytes = wordsToBytes(H)
8588 return new Buffer(digestbytes)
ebd8d4e8
IC
8589}
8590
ab78acc6
IC
8591module.exports = ripemd160
8592
8593}).call(this,require("buffer").Buffer)
8594},{"buffer":7}],37:[function(require,module,exports){
8595(function (Buffer){
8596// prototype class for hash functions
8597function Hash (blockSize, finalSize) {
8598 this._block = new Buffer(blockSize)
8599 this._finalSize = finalSize
8600 this._blockSize = blockSize
8601 this._len = 0
8602 this._s = 0
8603}
ebd8d4e8 8604
ab78acc6
IC
8605Hash.prototype.update = function (data, enc) {
8606 if (typeof data === 'string') {
8607 enc = enc || 'utf8'
8608 data = new Buffer(data, enc)
8609 }
ebd8d4e8 8610
ab78acc6
IC
8611 var l = this._len += data.length
8612 var s = this._s || 0
8613 var f = 0
8614 var buffer = this._block
ebd8d4e8 8615
ab78acc6
IC
8616 while (s < l) {
8617 var t = Math.min(data.length, f + this._blockSize - (s % this._blockSize))
8618 var ch = (t - f)
ebd8d4e8 8619
ab78acc6
IC
8620 for (var i = 0; i < ch; i++) {
8621 buffer[(s % this._blockSize) + i] = data[i + f]
8622 }
8623
8624 s += ch
8625 f += ch
ebd8d4e8 8626
ab78acc6
IC
8627 if ((s % this._blockSize) === 0) {
8628 this._update(buffer)
8629 }
ebd8d4e8 8630 }
ab78acc6
IC
8631 this._s = s
8632
8633 return this
8634}
ebd8d4e8 8635
ab78acc6
IC
8636Hash.prototype.digest = function (enc) {
8637 // Suppose the length of the message M, in bits, is l
8638 var l = this._len * 8
8639
8640 // Append the bit 1 to the end of the message
8641 this._block[this._len % this._blockSize] = 0x80
8642
8643 // and then k zero bits, where k is the smallest non-negative solution to the equation (l + 1 + k) === finalSize mod blockSize
8644 this._block.fill(0, this._len % this._blockSize + 1)
8645
8646 if (l % (this._blockSize * 8) >= this._finalSize * 8) {
8647 this._update(this._block)
8648 this._block.fill(0)
ebd8d4e8
IC
8649 }
8650
ab78acc6
IC
8651 // to this append the block which is equal to the number l written in binary
8652 // TODO: handle case where l is > Math.pow(2, 29)
8653 this._block.writeInt32BE(l, this._blockSize - 4)
8654
8655 var hash = this._update(this._block) || this._hash()
ebd8d4e8 8656
ab78acc6
IC
8657 return enc ? hash.toString(enc) : hash
8658}
ebd8d4e8 8659
ab78acc6
IC
8660Hash.prototype._update = function () {
8661 throw new Error('_update must be implemented by subclass')
8662}
ebd8d4e8 8663
ab78acc6 8664module.exports = Hash
ebd8d4e8 8665
ab78acc6
IC
8666}).call(this,require("buffer").Buffer)
8667},{"buffer":7}],38:[function(require,module,exports){
8668var exports = module.exports = function SHA (algorithm) {
8669 algorithm = algorithm.toLowerCase()
ebd8d4e8 8670
ab78acc6
IC
8671 var Algorithm = exports[algorithm]
8672 if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')
ebd8d4e8 8673
ab78acc6
IC
8674 return new Algorithm()
8675}
8676
8677exports.sha = require('./sha')
8678exports.sha1 = require('./sha1')
8679exports.sha224 = require('./sha224')
8680exports.sha256 = require('./sha256')
8681exports.sha384 = require('./sha384')
8682exports.sha512 = require('./sha512')
8683
8684},{"./sha":39,"./sha1":40,"./sha224":41,"./sha256":42,"./sha384":43,"./sha512":44}],39:[function(require,module,exports){
8685(function (Buffer){
8686/*
8687 * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined
8688 * in FIPS PUB 180-1
8689 * This source code is derived from sha1.js of the same repository.
8690 * The difference between SHA-0 and SHA-1 is just a bitwise rotate left
8691 * operation was added.
8692 */
ebd8d4e8 8693
ab78acc6
IC
8694var inherits = require('inherits')
8695var Hash = require('./hash')
ebd8d4e8 8696
ab78acc6 8697var W = new Array(80)
ebd8d4e8 8698
ab78acc6
IC
8699function Sha () {
8700 this.init()
8701 this._w = W
ebd8d4e8 8702
ab78acc6
IC
8703 Hash.call(this, 64, 56)
8704}
ebd8d4e8 8705
ab78acc6 8706inherits(Sha, Hash)
ebd8d4e8 8707
ab78acc6
IC
8708Sha.prototype.init = function () {
8709 this._a = 0x67452301 | 0
8710 this._b = 0xefcdab89 | 0
8711 this._c = 0x98badcfe | 0
8712 this._d = 0x10325476 | 0
8713 this._e = 0xc3d2e1f0 | 0
ebd8d4e8 8714
ab78acc6
IC
8715 return this
8716}
8717
8718/*
8719 * Bitwise rotate a 32-bit number to the left.
8720 */
8721function rol (num, cnt) {
8722 return (num << cnt) | (num >>> (32 - cnt))
8723}
8724
8725Sha.prototype._update = function (M) {
8726 var W = this._w
8727
8728 var a = this._a
8729 var b = this._b
8730 var c = this._c
8731 var d = this._d
8732 var e = this._e
ebd8d4e8 8733
ab78acc6
IC
8734 var j = 0, k
8735
8736 /*
8737 * SHA-1 has a bitwise rotate left operation. But, SHA is not
8738 * function calcW() { return rol(W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16], 1) }
8739 */
8740 function calcW () { return W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16] }
8741 function loop (w, f) {
8742 W[j] = w
8743
8744 var t = rol(a, 5) + f + e + w + k
8745
8746 e = d
8747 d = c
8748 c = rol(b, 30)
8749 b = a
8750 a = t
8751 j++
ebd8d4e8
IC
8752 }
8753
ab78acc6
IC
8754 k = 1518500249
8755 while (j < 16) loop(M.readInt32BE(j * 4), (b & c) | ((~b) & d))
8756 while (j < 20) loop(calcW(), (b & c) | ((~b) & d))
8757 k = 1859775393
8758 while (j < 40) loop(calcW(), b ^ c ^ d)
8759 k = -1894007588
8760 while (j < 60) loop(calcW(), (b & c) | (b & d) | (c & d))
8761 k = -899497514
8762 while (j < 80) loop(calcW(), b ^ c ^ d)
8763
8764 this._a = (a + this._a) | 0
8765 this._b = (b + this._b) | 0
8766 this._c = (c + this._c) | 0
8767 this._d = (d + this._d) | 0
8768 this._e = (e + this._e) | 0
ebd8d4e8
IC
8769}
8770
ab78acc6
IC
8771Sha.prototype._hash = function () {
8772 var H = new Buffer(20)
8773
8774 H.writeInt32BE(this._a | 0, 0)
8775 H.writeInt32BE(this._b | 0, 4)
8776 H.writeInt32BE(this._c | 0, 8)
8777 H.writeInt32BE(this._d | 0, 12)
8778 H.writeInt32BE(this._e | 0, 16)
8779
8780 return H
ebd8d4e8
IC
8781}
8782
ab78acc6 8783module.exports = Sha
ebd8d4e8 8784
ebd8d4e8 8785
ab78acc6
IC
8786}).call(this,require("buffer").Buffer)
8787},{"./hash":37,"buffer":7,"inherits":35}],40:[function(require,module,exports){
8788(function (Buffer){
ebd8d4e8
IC
8789/*
8790 * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
8791 * in FIPS PUB 180-1
8792 * Version 2.1a Copyright Paul Johnston 2000 - 2002.
8793 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8794 * Distributed under the BSD License
8795 * See http://pajhome.org.uk/crypt/md5 for details.
8796 */
ebd8d4e8 8797
ab78acc6
IC
8798var inherits = require('inherits')
8799var Hash = require('./hash')
ebd8d4e8 8800
ab78acc6 8801var W = new Array(80)
ebd8d4e8 8802
ab78acc6
IC
8803function Sha1 () {
8804 this.init()
8805 this._w = W
ebd8d4e8 8806
ab78acc6
IC
8807 Hash.call(this, 64, 56)
8808}
ebd8d4e8 8809
ab78acc6 8810inherits(Sha1, Hash)
ebd8d4e8 8811
ab78acc6
IC
8812Sha1.prototype.init = function () {
8813 this._a = 0x67452301 | 0
8814 this._b = 0xefcdab89 | 0
8815 this._c = 0x98badcfe | 0
8816 this._d = 0x10325476 | 0
8817 this._e = 0xc3d2e1f0 | 0
ebd8d4e8 8818
ab78acc6
IC
8819 return this
8820}
ebd8d4e8 8821
ab78acc6
IC
8822/*
8823 * Bitwise rotate a 32-bit number to the left.
8824 */
8825function rol (num, cnt) {
8826 return (num << cnt) | (num >>> (32 - cnt))
8827}
ebd8d4e8 8828
ab78acc6
IC
8829Sha1.prototype._update = function (M) {
8830 var W = this._w
ebd8d4e8 8831
ab78acc6
IC
8832 var a = this._a
8833 var b = this._b
8834 var c = this._c
8835 var d = this._d
8836 var e = this._e
ebd8d4e8 8837
ab78acc6 8838 var j = 0, k
ebd8d4e8 8839
ab78acc6
IC
8840 function calcW () { return rol(W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16], 1) }
8841 function loop (w, f) {
8842 W[j] = w
ebd8d4e8 8843
ab78acc6 8844 var t = rol(a, 5) + f + e + w + k
ebd8d4e8 8845
ab78acc6
IC
8846 e = d
8847 d = c
8848 c = rol(b, 30)
8849 b = a
8850 a = t
8851 j++
ebd8d4e8
IC
8852 }
8853
ab78acc6
IC
8854 k = 1518500249
8855 while (j < 16) loop(M.readInt32BE(j * 4), (b & c) | ((~b) & d))
8856 while (j < 20) loop(calcW(), (b & c) | ((~b) & d))
8857 k = 1859775393
8858 while (j < 40) loop(calcW(), b ^ c ^ d)
8859 k = -1894007588
8860 while (j < 60) loop(calcW(), (b & c) | (b & d) | (c & d))
8861 k = -899497514
8862 while (j < 80) loop(calcW(), b ^ c ^ d)
ebd8d4e8 8863
ab78acc6
IC
8864 this._a = (a + this._a) | 0
8865 this._b = (b + this._b) | 0
8866 this._c = (c + this._c) | 0
8867 this._d = (d + this._d) | 0
8868 this._e = (e + this._e) | 0
8869}
ebd8d4e8 8870
ab78acc6
IC
8871Sha1.prototype._hash = function () {
8872 var H = new Buffer(20)
ebd8d4e8 8873
ab78acc6
IC
8874 H.writeInt32BE(this._a | 0, 0)
8875 H.writeInt32BE(this._b | 0, 4)
8876 H.writeInt32BE(this._c | 0, 8)
8877 H.writeInt32BE(this._d | 0, 12)
8878 H.writeInt32BE(this._e | 0, 16)
ebd8d4e8 8879
ab78acc6
IC
8880 return H
8881}
ebd8d4e8 8882
ab78acc6 8883module.exports = Sha1
ebd8d4e8 8884
ab78acc6
IC
8885}).call(this,require("buffer").Buffer)
8886},{"./hash":37,"buffer":7,"inherits":35}],41:[function(require,module,exports){
8887(function (Buffer){
8888/**
8889 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
8890 * in FIPS 180-2
8891 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
8892 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8893 *
8894 */
ebd8d4e8 8895
ab78acc6
IC
8896var inherits = require('inherits')
8897var Sha256 = require('./sha256')
8898var Hash = require('./hash')
ebd8d4e8 8899
ab78acc6 8900var W = new Array(64)
ebd8d4e8 8901
ab78acc6
IC
8902function Sha224 () {
8903 this.init()
ebd8d4e8 8904
ab78acc6 8905 this._w = W // new Array(64)
ebd8d4e8 8906
ab78acc6
IC
8907 Hash.call(this, 64, 56)
8908}
ebd8d4e8 8909
ab78acc6 8910inherits(Sha224, Sha256)
ebd8d4e8 8911
ab78acc6
IC
8912Sha224.prototype.init = function () {
8913 this._a = 0xc1059ed8 | 0
8914 this._b = 0x367cd507 | 0
8915 this._c = 0x3070dd17 | 0
8916 this._d = 0xf70e5939 | 0
8917 this._e = 0xffc00b31 | 0
8918 this._f = 0x68581511 | 0
8919 this._g = 0x64f98fa7 | 0
8920 this._h = 0xbefa4fa4 | 0
8921
8922 return this
8923}
8924
8925Sha224.prototype._hash = function () {
8926 var H = new Buffer(28)
8927
8928 H.writeInt32BE(this._a, 0)
8929 H.writeInt32BE(this._b, 4)
8930 H.writeInt32BE(this._c, 8)
8931 H.writeInt32BE(this._d, 12)
8932 H.writeInt32BE(this._e, 16)
8933 H.writeInt32BE(this._f, 20)
8934 H.writeInt32BE(this._g, 24)
8935
8936 return H
ebd8d4e8
IC
8937}
8938
ab78acc6 8939module.exports = Sha224
ebd8d4e8 8940
ab78acc6
IC
8941}).call(this,require("buffer").Buffer)
8942},{"./hash":37,"./sha256":42,"buffer":7,"inherits":35}],42:[function(require,module,exports){
8943(function (Buffer){
ebd8d4e8
IC
8944/**
8945 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
8946 * in FIPS 180-2
8947 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
8948 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8949 *
8950 */
8951
ab78acc6
IC
8952var inherits = require('inherits')
8953var Hash = require('./hash')
8954
8955var K = [
8956 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,
8957 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,
8958 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,
8959 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,
8960 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,
8961 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
8962 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,
8963 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,
8964 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,
8965 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,
8966 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,
8967 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
8968 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,
8969 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,
8970 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,
8971 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2
8972]
8973
8974var W = new Array(64)
8975
8976function Sha256 () {
8977 this.init()
8978
8979 this._w = W // new Array(64)
8980
8981 Hash.call(this, 64, 56)
8982}
8983
8984inherits(Sha256, Hash)
8985
8986Sha256.prototype.init = function () {
8987 this._a = 0x6a09e667 | 0
8988 this._b = 0xbb67ae85 | 0
8989 this._c = 0x3c6ef372 | 0
8990 this._d = 0xa54ff53a | 0
8991 this._e = 0x510e527f | 0
8992 this._f = 0x9b05688c | 0
8993 this._g = 0x1f83d9ab | 0
8994 this._h = 0x5be0cd19 | 0
ebd8d4e8 8995
ab78acc6
IC
8996 return this
8997}
ebd8d4e8 8998
ab78acc6
IC
8999function S (X, n) {
9000 return (X >>> n) | (X << (32 - n))
9001}
ebd8d4e8 9002
ab78acc6
IC
9003function R (X, n) {
9004 return (X >>> n)
9005}
ebd8d4e8 9006
ab78acc6
IC
9007function Ch (x, y, z) {
9008 return ((x & y) ^ ((~x) & z))
9009}
ebd8d4e8 9010
ab78acc6
IC
9011function Maj (x, y, z) {
9012 return ((x & y) ^ (x & z) ^ (y & z))
9013}
ebd8d4e8 9014
ab78acc6
IC
9015function Sigma0256 (x) {
9016 return (S(x, 2) ^ S(x, 13) ^ S(x, 22))
9017}
ebd8d4e8 9018
ab78acc6
IC
9019function Sigma1256 (x) {
9020 return (S(x, 6) ^ S(x, 11) ^ S(x, 25))
9021}
ebd8d4e8 9022
ab78acc6
IC
9023function Gamma0256 (x) {
9024 return (S(x, 7) ^ S(x, 18) ^ R(x, 3))
9025}
ebd8d4e8 9026
ab78acc6
IC
9027function Gamma1256 (x) {
9028 return (S(x, 17) ^ S(x, 19) ^ R(x, 10))
9029}
ebd8d4e8 9030
ab78acc6
IC
9031Sha256.prototype._update = function (M) {
9032 var W = this._w
ebd8d4e8 9033
ab78acc6
IC
9034 var a = this._a | 0
9035 var b = this._b | 0
9036 var c = this._c | 0
9037 var d = this._d | 0
9038 var e = this._e | 0
9039 var f = this._f | 0
9040 var g = this._g | 0
9041 var h = this._h | 0
ebd8d4e8 9042
ab78acc6 9043 var j = 0
ebd8d4e8 9044
ab78acc6
IC
9045 function calcW () { return Gamma1256(W[j - 2]) + W[j - 7] + Gamma0256(W[j - 15]) + W[j - 16] }
9046 function loop (w) {
9047 W[j] = w
ebd8d4e8 9048
ab78acc6
IC
9049 var T1 = h + Sigma1256(e) + Ch(e, f, g) + K[j] + w
9050 var T2 = Sigma0256(a) + Maj(a, b, c)
ebd8d4e8 9051
ab78acc6
IC
9052 h = g
9053 g = f
9054 f = e
9055 e = d + T1
9056 d = c
9057 c = b
9058 b = a
9059 a = T1 + T2
ebd8d4e8 9060
ab78acc6 9061 j++
ebd8d4e8
IC
9062 }
9063
ab78acc6
IC
9064 while (j < 16) loop(M.readInt32BE(j * 4))
9065 while (j < 64) loop(calcW())
ebd8d4e8 9066
ab78acc6
IC
9067 this._a = (a + this._a) | 0
9068 this._b = (b + this._b) | 0
9069 this._c = (c + this._c) | 0
9070 this._d = (d + this._d) | 0
9071 this._e = (e + this._e) | 0
9072 this._f = (f + this._f) | 0
9073 this._g = (g + this._g) | 0
9074 this._h = (h + this._h) | 0
9075}
ebd8d4e8 9076
ab78acc6
IC
9077Sha256.prototype._hash = function () {
9078 var H = new Buffer(32)
ebd8d4e8 9079
ab78acc6
IC
9080 H.writeInt32BE(this._a, 0)
9081 H.writeInt32BE(this._b, 4)
9082 H.writeInt32BE(this._c, 8)
9083 H.writeInt32BE(this._d, 12)
9084 H.writeInt32BE(this._e, 16)
9085 H.writeInt32BE(this._f, 20)
9086 H.writeInt32BE(this._g, 24)
9087 H.writeInt32BE(this._h, 28)
ebd8d4e8 9088
ab78acc6
IC
9089 return H
9090}
ebd8d4e8 9091
ab78acc6 9092module.exports = Sha256
ebd8d4e8 9093
ab78acc6
IC
9094}).call(this,require("buffer").Buffer)
9095},{"./hash":37,"buffer":7,"inherits":35}],43:[function(require,module,exports){
9096(function (Buffer){
9097var inherits = require('inherits')
9098var SHA512 = require('./sha512')
9099var Hash = require('./hash')
ebd8d4e8 9100
ab78acc6 9101var W = new Array(160)
ebd8d4e8 9102
ab78acc6
IC
9103function Sha384 () {
9104 this.init()
9105 this._w = W
ebd8d4e8 9106
ab78acc6
IC
9107 Hash.call(this, 128, 112)
9108}
ebd8d4e8 9109
ab78acc6 9110inherits(Sha384, SHA512)
ebd8d4e8 9111
ab78acc6
IC
9112Sha384.prototype.init = function () {
9113 this._a = 0xcbbb9d5d | 0
9114 this._b = 0x629a292a | 0
9115 this._c = 0x9159015a | 0
9116 this._d = 0x152fecd8 | 0
9117 this._e = 0x67332667 | 0
9118 this._f = 0x8eb44a87 | 0
9119 this._g = 0xdb0c2e0d | 0
9120 this._h = 0x47b5481d | 0
ebd8d4e8 9121
ab78acc6
IC
9122 this._al = 0xc1059ed8 | 0
9123 this._bl = 0x367cd507 | 0
9124 this._cl = 0x3070dd17 | 0
9125 this._dl = 0xf70e5939 | 0
9126 this._el = 0xffc00b31 | 0
9127 this._fl = 0x68581511 | 0
9128 this._gl = 0x64f98fa7 | 0
9129 this._hl = 0xbefa4fa4 | 0
ebd8d4e8 9130
ab78acc6 9131 return this
ebd8d4e8
IC
9132}
9133
ab78acc6
IC
9134Sha384.prototype._hash = function () {
9135 var H = new Buffer(48)
ebd8d4e8 9136
ab78acc6
IC
9137 function writeInt64BE (h, l, offset) {
9138 H.writeInt32BE(h, offset)
9139 H.writeInt32BE(l, offset + 4)
ebd8d4e8 9140 }
ebd8d4e8 9141
ab78acc6
IC
9142 writeInt64BE(this._a, this._al, 0)
9143 writeInt64BE(this._b, this._bl, 8)
9144 writeInt64BE(this._c, this._cl, 16)
9145 writeInt64BE(this._d, this._dl, 24)
9146 writeInt64BE(this._e, this._el, 32)
9147 writeInt64BE(this._f, this._fl, 40)
9148
9149 return H
ebd8d4e8
IC
9150}
9151
ab78acc6 9152module.exports = Sha384
ebd8d4e8 9153
ab78acc6
IC
9154}).call(this,require("buffer").Buffer)
9155},{"./hash":37,"./sha512":44,"buffer":7,"inherits":35}],44:[function(require,module,exports){
ebd8d4e8 9156(function (Buffer){
ab78acc6
IC
9157var inherits = require('inherits')
9158var Hash = require('./hash')
9159
9160var K = [
9161 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,
9162 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
9163 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,
9164 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
9165 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,
9166 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
9167 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,
9168 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
9169 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,
9170 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
9171 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,
9172 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
9173 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,
9174 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
9175 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
9176 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
9177 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,
9178 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
9179 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,
9180 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
9181 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,
9182 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
9183 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,
9184 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
9185 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,
9186 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
9187 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,
9188 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
9189 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,
9190 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
9191 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,
9192 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
9193 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,
9194 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
9195 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
9196 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
9197 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,
9198 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
9199 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,
9200 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817
9201]
9202
9203var W = new Array(160)
9204
9205function Sha512 () {
9206 this.init()
9207 this._w = W
9208
9209 Hash.call(this, 128, 112)
9210}
9211
9212inherits(Sha512, Hash)
9213
9214Sha512.prototype.init = function () {
9215 this._a = 0x6a09e667 | 0
9216 this._b = 0xbb67ae85 | 0
9217 this._c = 0x3c6ef372 | 0
9218 this._d = 0xa54ff53a | 0
9219 this._e = 0x510e527f | 0
9220 this._f = 0x9b05688c | 0
9221 this._g = 0x1f83d9ab | 0
9222 this._h = 0x5be0cd19 | 0
9223
9224 this._al = 0xf3bcc908 | 0
9225 this._bl = 0x84caa73b | 0
9226 this._cl = 0xfe94f82b | 0
9227 this._dl = 0x5f1d36f1 | 0
9228 this._el = 0xade682d1 | 0
9229 this._fl = 0x2b3e6c1f | 0
9230 this._gl = 0xfb41bd6b | 0
9231 this._hl = 0x137e2179 | 0
ebd8d4e8 9232
ab78acc6 9233 return this
ebd8d4e8
IC
9234}
9235
ab78acc6
IC
9236function S (X, Xl, n) {
9237 return (X >>> n) | (Xl << (32 - n))
9238}
9239
9240function Ch (x, y, z) {
9241 return ((x & y) ^ ((~x) & z))
9242}
9243
9244function Maj (x, y, z) {
9245 return ((x & y) ^ (x & z) ^ (y & z))
9246}
9247
9248Sha512.prototype._update = function (M) {
9249 var W = this._w
9250
9251 var a = this._a | 0
9252 var b = this._b | 0
9253 var c = this._c | 0
9254 var d = this._d | 0
9255 var e = this._e | 0
9256 var f = this._f | 0
9257 var g = this._g | 0
9258 var h = this._h | 0
9259
9260 var al = this._al | 0
9261 var bl = this._bl | 0
9262 var cl = this._cl | 0
9263 var dl = this._dl | 0
9264 var el = this._el | 0
9265 var fl = this._fl | 0
9266 var gl = this._gl | 0
9267 var hl = this._hl | 0
9268
9269 var i = 0, j = 0
9270 var Wi, Wil
9271 function calcW () {
9272 var x = W[j - 15 * 2]
9273 var xl = W[j - 15 * 2 + 1]
9274 var gamma0 = S(x, xl, 1) ^ S(x, xl, 8) ^ (x >>> 7)
9275 var gamma0l = S(xl, x, 1) ^ S(xl, x, 8) ^ S(xl, x, 7)
9276
9277 x = W[j - 2 * 2]
9278 xl = W[j - 2 * 2 + 1]
9279 var gamma1 = S(x, xl, 19) ^ S(xl, x, 29) ^ (x >>> 6)
9280 var gamma1l = S(xl, x, 19) ^ S(x, xl, 29) ^ S(xl, x, 6)
9281
9282 // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
9283 var Wi7 = W[j - 7 * 2]
9284 var Wi7l = W[j - 7 * 2 + 1]
9285
9286 var Wi16 = W[j - 16 * 2]
9287 var Wi16l = W[j - 16 * 2 + 1]
ebd8d4e8 9288
ab78acc6
IC
9289 Wil = gamma0l + Wi7l
9290 Wi = gamma0 + Wi7 + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0)
9291 Wil = Wil + gamma1l
9292 Wi = Wi + gamma1 + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0)
9293 Wil = Wil + Wi16l
9294 Wi = Wi + Wi16 + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0)
9295 }
9296
9297 function loop () {
9298 W[j] = Wi
9299 W[j + 1] = Wil
ebd8d4e8 9300
ab78acc6
IC
9301 var maj = Maj(a, b, c)
9302 var majl = Maj(al, bl, cl)
ebd8d4e8 9303
ab78acc6
IC
9304 var sigma0h = S(a, al, 28) ^ S(al, a, 2) ^ S(al, a, 7)
9305 var sigma0l = S(al, a, 28) ^ S(a, al, 2) ^ S(a, al, 7)
9306 var sigma1h = S(e, el, 14) ^ S(e, el, 18) ^ S(el, e, 9)
9307 var sigma1l = S(el, e, 14) ^ S(el, e, 18) ^ S(e, el, 9)
ebd8d4e8 9308
ab78acc6
IC
9309 // t1 = h + sigma1 + ch + K[i] + W[i]
9310 var Ki = K[j]
9311 var Kil = K[j + 1]
ebd8d4e8 9312
ab78acc6
IC
9313 var ch = Ch(e, f, g)
9314 var chl = Ch(el, fl, gl)
ebd8d4e8 9315
ab78acc6
IC
9316 var t1l = hl + sigma1l
9317 var t1 = h + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0)
9318 t1l = t1l + chl
9319 t1 = t1 + ch + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0)
9320 t1l = t1l + Kil
9321 t1 = t1 + Ki + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0)
9322 t1l = t1l + Wil
9323 t1 = t1 + Wi + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0)
ebd8d4e8 9324
ab78acc6
IC
9325 // t2 = sigma0 + maj
9326 var t2l = sigma0l + majl
9327 var t2 = sigma0h + maj + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0)
ebd8d4e8 9328
ab78acc6
IC
9329 h = g
9330 hl = gl
9331 g = f
9332 gl = fl
9333 f = e
9334 fl = el
9335 el = (dl + t1l) | 0
9336 e = (d + t1 + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
9337 d = c
9338 dl = cl
9339 c = b
9340 cl = bl
9341 b = a
9342 bl = al
9343 al = (t1l + t2l) | 0
9344 a = (t1 + t2 + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0
9345
9346 i++
9347 j += 2
9348 }
9349
9350 while (i < 16) {
9351 Wi = M.readInt32BE(j * 4)
9352 Wil = M.readInt32BE(j * 4 + 4)
9353
9354 loop()
9355 }
9356
9357 while (i < 80) {
9358 calcW()
9359 loop()
9360 }
9361
9362 this._al = (this._al + al) | 0
9363 this._bl = (this._bl + bl) | 0
9364 this._cl = (this._cl + cl) | 0
9365 this._dl = (this._dl + dl) | 0
9366 this._el = (this._el + el) | 0
9367 this._fl = (this._fl + fl) | 0
9368 this._gl = (this._gl + gl) | 0
9369 this._hl = (this._hl + hl) | 0
9370
9371 this._a = (this._a + a + ((this._al >>> 0) < (al >>> 0) ? 1 : 0)) | 0
9372 this._b = (this._b + b + ((this._bl >>> 0) < (bl >>> 0) ? 1 : 0)) | 0
9373 this._c = (this._c + c + ((this._cl >>> 0) < (cl >>> 0) ? 1 : 0)) | 0
9374 this._d = (this._d + d + ((this._dl >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
9375 this._e = (this._e + e + ((this._el >>> 0) < (el >>> 0) ? 1 : 0)) | 0
9376 this._f = (this._f + f + ((this._fl >>> 0) < (fl >>> 0) ? 1 : 0)) | 0
9377 this._g = (this._g + g + ((this._gl >>> 0) < (gl >>> 0) ? 1 : 0)) | 0
9378 this._h = (this._h + h + ((this._hl >>> 0) < (hl >>> 0) ? 1 : 0)) | 0
9379}
9380
9381Sha512.prototype._hash = function () {
9382 var H = new Buffer(64)
9383
9384 function writeInt64BE (h, l, offset) {
9385 H.writeInt32BE(h, offset)
9386 H.writeInt32BE(l, offset + 4)
9387 }
9388
9389 writeInt64BE(this._a, this._al, 0)
9390 writeInt64BE(this._b, this._bl, 8)
9391 writeInt64BE(this._c, this._cl, 16)
9392 writeInt64BE(this._d, this._dl, 24)
9393 writeInt64BE(this._e, this._el, 32)
9394 writeInt64BE(this._f, this._fl, 40)
9395 writeInt64BE(this._g, this._gl, 48)
9396 writeInt64BE(this._h, this._hl, 56)
9397
9398 return H
9399}
9400
9401module.exports = Sha512
9402
9403}).call(this,require("buffer").Buffer)
9404},{"./hash":37,"buffer":7,"inherits":35}],45:[function(require,module,exports){
9405(function (Buffer){
9406'use strict';
9407var createHash = require('create-hash/browser');
9408var inherits = require('inherits')
ebd8d4e8 9409
ab78acc6 9410var Transform = require('stream').Transform
ebd8d4e8 9411
ab78acc6
IC
9412var ZEROS = new Buffer(128)
9413ZEROS.fill(0)
ebd8d4e8 9414
ab78acc6
IC
9415function Hmac(alg, key) {
9416 Transform.call(this)
ebd8d4e8 9417
ab78acc6
IC
9418 if (typeof key === 'string') {
9419 key = new Buffer(key)
9420 }
ebd8d4e8 9421
ab78acc6 9422 var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64
ebd8d4e8 9423
ab78acc6
IC
9424 this._alg = alg
9425 this._key = key
ebd8d4e8 9426
ab78acc6
IC
9427 if (key.length > blocksize) {
9428 key = createHash(alg).update(key).digest()
ebd8d4e8 9429
ab78acc6
IC
9430 } else if (key.length < blocksize) {
9431 key = Buffer.concat([key, ZEROS], blocksize)
9432 }
ebd8d4e8 9433
ab78acc6
IC
9434 var ipad = this._ipad = new Buffer(blocksize)
9435 var opad = this._opad = new Buffer(blocksize)
ebd8d4e8 9436
ab78acc6
IC
9437 for (var i = 0; i < blocksize; i++) {
9438 ipad[i] = key[i] ^ 0x36
9439 opad[i] = key[i] ^ 0x5C
9440 }
ebd8d4e8 9441
ab78acc6
IC
9442 this._hash = createHash(alg).update(ipad)
9443}
ebd8d4e8 9444
ab78acc6 9445inherits(Hmac, Transform)
ebd8d4e8 9446
ab78acc6
IC
9447Hmac.prototype.update = function (data, enc) {
9448 this._hash.update(data, enc)
ebd8d4e8 9449
ab78acc6
IC
9450 return this
9451}
ebd8d4e8 9452
ab78acc6
IC
9453Hmac.prototype._transform = function (data, _, next) {
9454 this._hash.update(data)
ebd8d4e8 9455
ab78acc6
IC
9456 next()
9457}
ebd8d4e8 9458
ab78acc6
IC
9459Hmac.prototype._flush = function (next) {
9460 this.push(this.digest())
ebd8d4e8 9461
ab78acc6
IC
9462 next()
9463}
ebd8d4e8 9464
ab78acc6
IC
9465Hmac.prototype.digest = function (enc) {
9466 var h = this._hash.digest()
ebd8d4e8 9467
ab78acc6
IC
9468 return createHash(this._alg).update(this._opad).update(h).digest(enc)
9469}
ebd8d4e8 9470
ab78acc6
IC
9471module.exports = function createHmac(alg, key) {
9472 return new Hmac(alg, key)
9473}
ebd8d4e8 9474
ab78acc6
IC
9475}).call(this,require("buffer").Buffer)
9476},{"buffer":7,"create-hash/browser":32,"inherits":46,"stream":26}],46:[function(require,module,exports){
9477arguments[4][12][0].apply(exports,arguments)
9478},{"dup":12}],47:[function(require,module,exports){
9479var assert = require('assert')
9480var BigInteger = require('bigi')
ebd8d4e8 9481
ab78acc6 9482var Point = require('./point')
ebd8d4e8
IC
9483
9484function Curve(p, a, b, Gx, Gy, n, h) {
9485 this.p = p
9486 this.a = a
9487 this.b = b
9488 this.G = Point.fromAffine(this, Gx, Gy)
9489 this.n = n
9490 this.h = h
9491
9492 this.infinity = new Point(this, null, null, BigInteger.ZERO)
9493
9494 // result caching
9495 this.pOverFour = p.add(BigInteger.ONE).shiftRight(2)
9496}
9497
9498Curve.prototype.pointFromX = function(isOdd, x) {
9499 var alpha = x.pow(3).add(this.a.multiply(x)).add(this.b).mod(this.p)
ab78acc6 9500 var beta = alpha.modPow(this.pOverFour, this.p) // XXX: not compatible with all curves
ebd8d4e8
IC
9501
9502 var y = beta
9503 if (beta.isEven() ^ !isOdd) {
9504 y = this.p.subtract(y) // -y % p
9505 }
9506
9507 return Point.fromAffine(this, x, y)
9508}
9509
9510Curve.prototype.isInfinity = function(Q) {
9511 if (Q === this.infinity) return true
9512
9513 return Q.z.signum() === 0 && Q.y.signum() !== 0
9514}
9515
9516Curve.prototype.isOnCurve = function(Q) {
9517 if (this.isInfinity(Q)) return true
9518
9519 var x = Q.affineX
9520 var y = Q.affineY
9521 var a = this.a
9522 var b = this.b
9523 var p = this.p
9524
9525 // Check that xQ and yQ are integers in the interval [0, p - 1]
9526 if (x.signum() < 0 || x.compareTo(p) >= 0) return false
9527 if (y.signum() < 0 || y.compareTo(p) >= 0) return false
9528
9529 // and check that y^2 = x^3 + ax + b (mod p)
9530 var lhs = y.square().mod(p)
9531 var rhs = x.pow(3).add(a.multiply(x)).add(b).mod(p)
9532 return lhs.equals(rhs)
9533}
9534
9535/**
9536 * Validate an elliptic curve point.
9537 *
9538 * See SEC 1, section 3.2.2.1: Elliptic Curve Public Key Validation Primitive
9539 */
9540Curve.prototype.validate = function(Q) {
9541 // Check Q != O
9542 assert(!this.isInfinity(Q), 'Point is at infinity')
9543 assert(this.isOnCurve(Q), 'Point is not on the curve')
9544
9545 // Check nQ = O (where Q is a scalar multiple of G)
9546 var nQ = Q.multiply(this.n)
9547 assert(this.isInfinity(nQ), 'Point is not a scalar multiple of G')
9548
9549 return true
9550}
9551
9552module.exports = Curve
9553
ab78acc6 9554},{"./point":51,"assert":5,"bigi":3}],48:[function(require,module,exports){
ebd8d4e8
IC
9555module.exports={
9556 "secp128r1": {
9557 "p": "fffffffdffffffffffffffffffffffff",
9558 "a": "fffffffdfffffffffffffffffffffffc",
9559 "b": "e87579c11079f43dd824993c2cee5ed3",
9560 "n": "fffffffe0000000075a30d1b9038a115",
9561 "h": "01",
9562 "Gx": "161ff7528b899b2d0c28607ca52c5b86",
9563 "Gy": "cf5ac8395bafeb13c02da292dded7a83"
9564 },
9565 "secp160k1": {
9566 "p": "fffffffffffffffffffffffffffffffeffffac73",
9567 "a": "00",
9568 "b": "07",
9569 "n": "0100000000000000000001b8fa16dfab9aca16b6b3",
9570 "h": "01",
9571 "Gx": "3b4c382ce37aa192a4019e763036f4f5dd4d7ebb",
9572 "Gy": "938cf935318fdced6bc28286531733c3f03c4fee"
9573 },
9574 "secp160r1": {
9575 "p": "ffffffffffffffffffffffffffffffff7fffffff",
9576 "a": "ffffffffffffffffffffffffffffffff7ffffffc",
9577 "b": "1c97befc54bd7a8b65acf89f81d4d4adc565fa45",
9578 "n": "0100000000000000000001f4c8f927aed3ca752257",
9579 "h": "01",
9580 "Gx": "4a96b5688ef573284664698968c38bb913cbfc82",
9581 "Gy": "23a628553168947d59dcc912042351377ac5fb32"
9582 },
9583 "secp192k1": {
9584 "p": "fffffffffffffffffffffffffffffffffffffffeffffee37",
9585 "a": "00",
9586 "b": "03",
9587 "n": "fffffffffffffffffffffffe26f2fc170f69466a74defd8d",
9588 "h": "01",
9589 "Gx": "db4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d",
9590 "Gy": "9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d"
9591 },
9592 "secp192r1": {
9593 "p": "fffffffffffffffffffffffffffffffeffffffffffffffff",
9594 "a": "fffffffffffffffffffffffffffffffefffffffffffffffc",
9595 "b": "64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1",
9596 "n": "ffffffffffffffffffffffff99def836146bc9b1b4d22831",
9597 "h": "01",
9598 "Gx": "188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012",
9599 "Gy": "07192b95ffc8da78631011ed6b24cdd573f977a11e794811"
9600 },
ebd8d4e8
IC
9601 "secp256k1": {
9602 "p": "fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
9603 "a": "00",
9604 "b": "07",
9605 "n": "fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
9606 "h": "01",
9607 "Gx": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
9608 "Gy": "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
9609 },
9610 "secp256r1": {
9611 "p": "ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
9612 "a": "ffffffff00000001000000000000000000000000fffffffffffffffffffffffc",
9613 "b": "5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b",
9614 "n": "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
9615 "h": "01",
9616 "Gx": "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
9617 "Gy": "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"
9618 }
9619}
9620
ab78acc6
IC
9621},{}],49:[function(require,module,exports){
9622var Point = require('./point')
9623var Curve = require('./curve')
ebd8d4e8 9624
ab78acc6 9625var getCurveByName = require('./names')
ebd8d4e8
IC
9626
9627module.exports = {
9628 Curve: Curve,
9629 Point: Point,
9630 getCurveByName: getCurveByName
9631}
9632
ab78acc6
IC
9633},{"./curve":47,"./names":50,"./point":51}],50:[function(require,module,exports){
9634var BigInteger = require('bigi')
ebd8d4e8 9635
ab78acc6
IC
9636var curves = require('./curves')
9637var Curve = require('./curve')
ebd8d4e8
IC
9638
9639function getCurveByName(name) {
9640 var curve = curves[name]
9641 if (!curve) return null
9642
9643 var p = new BigInteger(curve.p, 16)
9644 var a = new BigInteger(curve.a, 16)
9645 var b = new BigInteger(curve.b, 16)
9646 var n = new BigInteger(curve.n, 16)
9647 var h = new BigInteger(curve.h, 16)
9648 var Gx = new BigInteger(curve.Gx, 16)
9649 var Gy = new BigInteger(curve.Gy, 16)
9650
9651 return new Curve(p, a, b, Gx, Gy, n, h)
9652}
9653
9654module.exports = getCurveByName
9655
ab78acc6 9656},{"./curve":47,"./curves":48,"bigi":3}],51:[function(require,module,exports){
ebd8d4e8 9657(function (Buffer){
ab78acc6
IC
9658var assert = require('assert')
9659var BigInteger = require('bigi')
ebd8d4e8
IC
9660
9661var THREE = BigInteger.valueOf(3)
9662
9663function Point(curve, x, y, z) {
9664 assert.notStrictEqual(z, undefined, 'Missing Z coordinate')
9665
9666 this.curve = curve
9667 this.x = x
9668 this.y = y
9669 this.z = z
9670 this._zInv = null
9671
9672 this.compressed = true
9673}
9674
9675Object.defineProperty(Point.prototype, 'zInv', {
9676 get: function() {
9677 if (this._zInv === null) {
9678 this._zInv = this.z.modInverse(this.curve.p)
9679 }
9680
9681 return this._zInv
9682 }
9683})
9684
9685Object.defineProperty(Point.prototype, 'affineX', {
9686 get: function() {
9687 return this.x.multiply(this.zInv).mod(this.curve.p)
9688 }
9689})
9690
9691Object.defineProperty(Point.prototype, 'affineY', {
9692 get: function() {
9693 return this.y.multiply(this.zInv).mod(this.curve.p)
9694 }
9695})
9696
9697Point.fromAffine = function(curve, x, y) {
9698 return new Point(curve, x, y, BigInteger.ONE)
9699}
9700
9701Point.prototype.equals = function(other) {
9702 if (other === this) return true
9703 if (this.curve.isInfinity(this)) return this.curve.isInfinity(other)
9704 if (this.curve.isInfinity(other)) return this.curve.isInfinity(this)
9705
9706 // u = Y2 * Z1 - Y1 * Z2
9707 var u = other.y.multiply(this.z).subtract(this.y.multiply(other.z)).mod(this.curve.p)
9708
9709 if (u.signum() !== 0) return false
9710
9711 // v = X2 * Z1 - X1 * Z2
9712 var v = other.x.multiply(this.z).subtract(this.x.multiply(other.z)).mod(this.curve.p)
9713
9714 return v.signum() === 0
9715}
9716
9717Point.prototype.negate = function() {
9718 var y = this.curve.p.subtract(this.y)
9719
9720 return new Point(this.curve, this.x, y, this.z)
9721}
9722
9723Point.prototype.add = function(b) {
9724 if (this.curve.isInfinity(this)) return b
9725 if (this.curve.isInfinity(b)) return this
9726
9727 var x1 = this.x
9728 var y1 = this.y
9729 var x2 = b.x
9730 var y2 = b.y
9731
9732 // u = Y2 * Z1 - Y1 * Z2
9733 var u = y2.multiply(this.z).subtract(y1.multiply(b.z)).mod(this.curve.p)
9734 // v = X2 * Z1 - X1 * Z2
9735 var v = x2.multiply(this.z).subtract(x1.multiply(b.z)).mod(this.curve.p)
9736
9737 if (v.signum() === 0) {
9738 if (u.signum() === 0) {
9739 return this.twice() // this == b, so double
9740 }
9741
9742 return this.curve.infinity // this = -b, so infinity
9743 }
9744
9745 var v2 = v.square()
9746 var v3 = v2.multiply(v)
9747 var x1v2 = x1.multiply(v2)
9748 var zu2 = u.square().multiply(this.z)
9749
9750 // x3 = v * (z2 * (z1 * u^2 - 2 * x1 * v^2) - v^3)
9751 var x3 = zu2.subtract(x1v2.shiftLeft(1)).multiply(b.z).subtract(v3).multiply(v).mod(this.curve.p)
9752 // y3 = z2 * (3 * x1 * u * v^2 - y1 * v^3 - z1 * u^3) + u * v^3
9753 var y3 = x1v2.multiply(THREE).multiply(u).subtract(y1.multiply(v3)).subtract(zu2.multiply(u)).multiply(b.z).add(u.multiply(v3)).mod(this.curve.p)
9754 // z3 = v^3 * z1 * z2
9755 var z3 = v3.multiply(this.z).multiply(b.z).mod(this.curve.p)
9756
9757 return new Point(this.curve, x3, y3, z3)
9758}
9759
9760Point.prototype.twice = function() {
9761 if (this.curve.isInfinity(this)) return this
9762 if (this.y.signum() === 0) return this.curve.infinity
9763
9764 var x1 = this.x
9765 var y1 = this.y
9766
9767 var y1z1 = y1.multiply(this.z)
9768 var y1sqz1 = y1z1.multiply(y1).mod(this.curve.p)
9769 var a = this.curve.a
9770
9771 // w = 3 * x1^2 + a * z1^2
9772 var w = x1.square().multiply(THREE)
9773
9774 if (a.signum() !== 0) {
9775 w = w.add(this.z.square().multiply(a))
9776 }
9777
9778 w = w.mod(this.curve.p)
9779 // x3 = 2 * y1 * z1 * (w^2 - 8 * x1 * y1^2 * z1)
9780 var x3 = w.square().subtract(x1.shiftLeft(3).multiply(y1sqz1)).shiftLeft(1).multiply(y1z1).mod(this.curve.p)
9781 // y3 = 4 * y1^2 * z1 * (3 * w * x1 - 2 * y1^2 * z1) - w^3
9782 var y3 = w.multiply(THREE).multiply(x1).subtract(y1sqz1.shiftLeft(1)).shiftLeft(2).multiply(y1sqz1).subtract(w.pow(3)).mod(this.curve.p)
9783 // z3 = 8 * (y1 * z1)^3
9784 var z3 = y1z1.pow(3).shiftLeft(3).mod(this.curve.p)
9785
9786 return new Point(this.curve, x3, y3, z3)
9787}
9788
9789// Simple NAF (Non-Adjacent Form) multiplication algorithm
9790// TODO: modularize the multiplication algorithm
9791Point.prototype.multiply = function(k) {
9792 if (this.curve.isInfinity(this)) return this
9793 if (k.signum() === 0) return this.curve.infinity
9794
9795 var e = k
9796 var h = e.multiply(THREE)
9797
9798 var neg = this.negate()
9799 var R = this
9800
9801 for (var i = h.bitLength() - 2; i > 0; --i) {
9802 R = R.twice()
9803
9804 var hBit = h.testBit(i)
9805 var eBit = e.testBit(i)
9806
9807 if (hBit != eBit) {
9808 R = R.add(hBit ? this : neg)
9809 }
9810 }
9811
9812 return R
9813}
9814
9815// Compute this*j + x*k (simultaneous multiplication)
9816Point.prototype.multiplyTwo = function(j, x, k) {
9817 var i
9818
9819 if (j.bitLength() > k.bitLength())
9820 i = j.bitLength() - 1
9821 else
9822 i = k.bitLength() - 1
9823
9824 var R = this.curve.infinity
9825 var both = this.add(x)
9826
9827 while (i >= 0) {
9828 R = R.twice()
9829
9830 var jBit = j.testBit(i)
9831 var kBit = k.testBit(i)
9832
9833 if (jBit) {
9834 if (kBit) {
9835 R = R.add(both)
9836
9837 } else {
9838 R = R.add(this)
9839 }
9840
9841 } else {
9842 if (kBit) {
9843 R = R.add(x)
9844 }
9845 }
9846 --i
9847 }
9848
9849 return R
9850}
9851
9852Point.prototype.getEncoded = function(compressed) {
9853 if (compressed == undefined) compressed = this.compressed
9854 if (this.curve.isInfinity(this)) return new Buffer('00', 'hex') // Infinity point encoded is simply '00'
9855
9856 var x = this.affineX
9857 var y = this.affineY
9858
9859 var buffer
9860
9861 // Determine size of q in bytes
9862 var byteLength = Math.floor((this.curve.p.bitLength() + 7) / 8)
9863
9864 // 0x02/0x03 | X
9865 if (compressed) {
9866 buffer = new Buffer(1 + byteLength)
9867 buffer.writeUInt8(y.isEven() ? 0x02 : 0x03, 0)
9868
9869 // 0x04 | X | Y
9870 } else {
9871 buffer = new Buffer(1 + byteLength + byteLength)
9872 buffer.writeUInt8(0x04, 0)
9873
9874 y.toBuffer(byteLength).copy(buffer, 1 + byteLength)
9875 }
9876
9877 x.toBuffer(byteLength).copy(buffer, 1)
9878
9879 return buffer
9880}
9881
9882Point.decodeFrom = function(curve, buffer) {
9883 var type = buffer.readUInt8(0)
9884 var compressed = (type !== 4)
9885
ebd8d4e8 9886 var byteLength = Math.floor((curve.p.bitLength() + 7) / 8)
ab78acc6 9887 var x = BigInteger.fromBuffer(buffer.slice(1, 1 + byteLength))
ebd8d4e8
IC
9888
9889 var Q
9890 if (compressed) {
9891 assert.equal(buffer.length, byteLength + 1, 'Invalid sequence length')
9892 assert(type === 0x02 || type === 0x03, 'Invalid sequence tag')
9893
9894 var isOdd = (type === 0x03)
9895 Q = curve.pointFromX(isOdd, x)
9896
9897 } else {
9898 assert.equal(buffer.length, 1 + byteLength + byteLength, 'Invalid sequence length')
9899
9900 var y = BigInteger.fromBuffer(buffer.slice(1 + byteLength))
9901 Q = Point.fromAffine(curve, x, y)
9902 }
9903
9904 Q.compressed = compressed
9905 return Q
9906}
9907
9908Point.prototype.toString = function () {
9909 if (this.curve.isInfinity(this)) return '(INFINITY)'
9910
9911 return '(' + this.affineX.toString() + ',' + this.affineY.toString() + ')'
9912}
9913
9914module.exports = Point
9915
ab78acc6
IC
9916}).call(this,require("buffer").Buffer)
9917},{"assert":5,"bigi":3,"buffer":7}],52:[function(require,module,exports){
9918(function (process,global,Buffer){
9919'use strict';
ebd8d4e8 9920
ab78acc6
IC
9921var crypto = global.crypto || global.msCrypto
9922if(crypto && crypto.getRandomValues) {
9923 module.exports = randomBytes;
9924} else {
9925 module.exports = oldBrowser;
9926}
9927function randomBytes(size, cb) {
9928 var bytes = new Buffer(size); //in browserify, this is an extended Uint8Array
9929 /* This will not work in older browsers.
9930 * See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
9931 */
9932
9933 crypto.getRandomValues(bytes);
9934 if (typeof cb === 'function') {
9935 return process.nextTick(function () {
9936 cb(null, bytes);
9937 });
ebd8d4e8 9938 }
ab78acc6
IC
9939 return bytes;
9940}
9941function oldBrowser() {
9942 throw new Error(
9943 'secure random number generation not supported by this browser\n'+
9944 'use chrome, FireFox or Internet Explorer 11'
9945 )
ebd8d4e8
IC
9946}
9947
ab78acc6
IC
9948}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer)
9949},{"_process":14,"buffer":7}],53:[function(require,module,exports){
9950(function (Buffer){
9951'use strict';
ebd8d4e8 9952
ab78acc6
IC
9953function getFunctionName(fn) {
9954 return fn.name || fn.toString().match(/function (.*?)\s*\(/)[1];
9955}
9956
9957function getTypeTypeName(type) {
9958 if (nativeTypes.Function(type)) {
9959 type = type.toJSON ? type.toJSON() : getFunctionName(type);
ebd8d4e8 9960 }
ab78acc6
IC
9961 if (nativeTypes.Object(type)) return JSON.stringify(type);
9962
9963 return type;
ebd8d4e8
IC
9964}
9965
ab78acc6
IC
9966function getValueTypeName(value) {
9967 if (nativeTypes.Null(value)) return '';
ebd8d4e8 9968
ab78acc6
IC
9969 return getFunctionName(value.constructor);
9970}
9971
9972function tfErrorString(type, value) {
9973 var typeTypeName = getTypeTypeName(type);
9974 var valueTypeName = getValueTypeName(value);
9975
9976 return 'Expected ' + typeTypeName + ', got ' + (valueTypeName && valueTypeName + ' ') + JSON.stringify(value);
9977}
9978
9979function tfPropertyErrorString(type, name, value) {
9980 return tfErrorString('property \"' + name + '\" of type ' + getTypeTypeName(type), value);
9981}
9982
9983var nativeTypes = {
9984 Array: (function (_Array) {
9985 function Array(_x) {
9986 return _Array.apply(this, arguments);
9987 }
9988
9989 Array.toString = function () {
9990 return _Array.toString();
9991 };
9992
9993 return Array;
9994 })(function (value) {
9995 return value !== null && value !== undefined && value.constructor === Array;
9996 }),
9997 Boolean: function Boolean(value) {
9998 return typeof value === 'boolean';
9999 },
10000 Buffer: (function (_Buffer) {
10001 function Buffer(_x2) {
10002 return _Buffer.apply(this, arguments);
10003 }
10004
10005 Buffer.toString = function () {
10006 return _Buffer.toString();
10007 };
10008
10009 return Buffer;
10010 })(function (value) {
10011 return Buffer.isBuffer(value);
10012 }),
10013 Function: function Function(value) {
10014 return typeof value === 'function';
10015 },
10016 Null: function Null(value) {
10017 return value === undefined || value === null;
10018 },
10019 Number: function Number(value) {
10020 return typeof value === 'number';
10021 },
10022 Object: function Object(value) {
10023 return typeof value === 'object';
10024 },
10025 String: function String(value) {
10026 return typeof value === 'string';
10027 },
10028 '': function _() {
10029 return true;
ebd8d4e8 10030 }
ab78acc6
IC
10031};
10032
10033function tJSON(type) {
10034 return type && type.toJSON ? type.toJSON() : type;
ebd8d4e8
IC
10035}
10036
ab78acc6
IC
10037function sJSON(type) {
10038 var json = tJSON(type);
10039 return nativeTypes.Object(json) ? JSON.stringify(json) : json;
ebd8d4e8
IC
10040}
10041
ab78acc6
IC
10042var otherTypes = {
10043 arrayOf: function arrayOf(type) {
10044 function arrayOf(value, strict) {
10045 try {
10046 return nativeTypes.Array(value) && value.every(function (x) {
10047 return typeforce(type, x, strict);
10048 });
10049 } catch (e) {
10050 return false;
10051 }
10052 }
10053 arrayOf.toJSON = function () {
10054 return [tJSON(type)];
10055 };
10056
10057 return arrayOf;
10058 },
10059
10060 maybe: function maybe(type) {
10061 function maybe(value, strict) {
10062 return nativeTypes.Null(value) || typeforce(type, value, strict);
10063 }
10064 maybe.toJSON = function () {
10065 return '?' + sJSON(type);
10066 };
10067
10068 return maybe;
10069 },
10070
10071 object: function object(type) {
10072 function object(value, strict) {
10073 typeforce(nativeTypes.Object, value, strict);
10074
10075 var propertyName, propertyType, propertyValue;
10076
10077 try {
10078 for (propertyName in type) {
10079 propertyType = type[propertyName];
10080 propertyValue = value[propertyName];
10081
10082 typeforce(propertyType, propertyValue, strict);
10083 }
10084 } catch (e) {
10085 throw new TypeError(tfPropertyErrorString(propertyType, propertyName, propertyValue));
10086 }
10087
10088 if (strict) {
10089 for (propertyName in value) {
10090 if (type[propertyName]) continue;
10091
10092 throw new TypeError('Unexpected property "' + propertyName + '"');
10093 }
10094 }
10095
10096 return true;
10097 }
10098 object.toJSON = function () {
10099 return type;
10100 };
10101
10102 return object;
10103 },
10104
10105 oneOf: function oneOf() {
10106 for (var _len = arguments.length, types = Array(_len), _key = 0; _key < _len; _key++) {
10107 types[_key] = arguments[_key];
10108 }
10109
10110 function oneOf(value, strict) {
10111 return types.some(function (type) {
10112 try {
10113 return typeforce(type, value, strict);
10114 } catch (e) {
10115 return false;
10116 }
10117 });
10118 }
10119 oneOf.toJSON = function () {
10120 return types.map(sJSON).join('|');
10121 };
10122
10123 return oneOf;
10124 },
10125
10126 quacksLike: function quacksLike(type) {
10127 function quacksLike(value, strict) {
10128 return type === getValueTypeName(value);
10129 }
10130 quacksLike.toJSON = function () {
10131 return type;
10132 };
10133
10134 return quacksLike;
10135 },
10136
10137 tuple: function tuple() {
10138 for (var _len2 = arguments.length, types = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
10139 types[_key2] = arguments[_key2];
10140 }
10141
10142 function tuple(value, strict) {
10143 return types.every(function (type, i) {
10144 return typeforce(type, value[i], strict);
10145 });
10146 }
10147 tuple.toJSON = function () {
10148 return '(' + types.map(sJSON).join(', ') + ')';
10149 };
10150
10151 return tuple;
10152 },
10153
10154 value: function value(expected) {
10155 function value(actual) {
10156 return actual === expected;
10157 }
10158 value.toJSON = function () {
10159 return expected;
10160 };
10161
10162 return value;
10163 }
10164};
10165
10166function compile(type) {
10167 if (nativeTypes.String(type)) {
10168 if (type[0] === '?') return otherTypes.maybe(compile(type.slice(1)));
10169
10170 return nativeTypes[type] || otherTypes.quacksLike(type);
10171 } else if (type && nativeTypes.Object(type)) {
10172 if (nativeTypes.Array(type)) return otherTypes.arrayOf(compile(type[0]));
10173
10174 var compiled = {};
10175
10176 for (var propertyName in type) {
10177 compiled[propertyName] = compile(type[propertyName]);
10178 }
10179
10180 return otherTypes.object(compiled);
10181 } else if (nativeTypes.Function(type)) {
10182 return type;
10183 }
10184
10185 return otherTypes.value(type);
ebd8d4e8
IC
10186}
10187
ab78acc6
IC
10188function typeforce(_x3, _x4, _x5) {
10189 var _again = true;
10190
10191 _function: while (_again) {
10192 var type = _x3,
10193 value = _x4,
10194 strict = _x5;
10195 _again = false;
10196
10197 if (nativeTypes.Function(type)) {
10198 if (type(value, strict)) return true;
10199
10200 throw new TypeError(tfErrorString(type, value));
10201 }
10202
10203 // JIT
10204 _x3 = compile(type);
10205 _x4 = value;
10206 _x5 = strict;
10207 _again = true;
10208 continue _function;
10209 }
ebd8d4e8
IC
10210}
10211
ab78acc6
IC
10212// assign all types to typeforce function
10213var typeName;
10214Object.keys(nativeTypes).forEach(function (typeName) {
10215 var nativeType = nativeTypes[typeName];
10216 nativeType.toJSON = function () {
10217 return typeName;
10218 };
10219
10220 typeforce[typeName] = nativeType;
10221});
ebd8d4e8 10222
ab78acc6
IC
10223for (typeName in otherTypes) {
10224 typeforce[typeName] = otherTypes[typeName];
10225}
ebd8d4e8 10226
ab78acc6
IC
10227module.exports = typeforce;
10228module.exports.compile = compile;
10229}).call(this,require("buffer").Buffer)
10230},{"buffer":7}],54:[function(require,module,exports){
ebd8d4e8 10231(function (Buffer){
ab78acc6
IC
10232var assert = require('assert')
10233var base58check = require('bs58check')
10234var typeForce = require('typeforce')
10235var networks = require('./networks')
10236var scripts = require('./scripts')
ebd8d4e8 10237
ab78acc6 10238function findScriptTypeByVersion (version) {
ebd8d4e8
IC
10239 for (var networkName in networks) {
10240 var network = networks[networkName]
10241
10242 if (version === network.pubKeyHash) return 'pubkeyhash'
10243 if (version === network.scriptHash) return 'scripthash'
10244 }
10245}
10246
ab78acc6
IC
10247function Address (hash, version) {
10248 typeForce('Buffer', hash)
10249
ebd8d4e8
IC
10250 assert.strictEqual(hash.length, 20, 'Invalid hash length')
10251 assert.strictEqual(version & 0xff, version, 'Invalid version byte')
10252
10253 this.hash = hash
10254 this.version = version
10255}
10256
ab78acc6 10257Address.fromBase58Check = function (string) {
ebd8d4e8
IC
10258 var payload = base58check.decode(string)
10259 var version = payload.readUInt8(0)
10260 var hash = payload.slice(1)
10261
10262 return new Address(hash, version)
10263}
10264
ab78acc6 10265Address.fromOutputScript = function (script, network) {
ebd8d4e8
IC
10266 network = network || networks.bitcoin
10267
ab78acc6
IC
10268 if (scripts.isPubKeyHashOutput(script)) return new Address(script.chunks[2], network.pubKeyHash)
10269 if (scripts.isScriptHashOutput(script)) return new Address(script.chunks[1], network.scriptHash)
ebd8d4e8 10270
ab78acc6 10271 assert(false, script.toASM() + ' has no matching Address')
ebd8d4e8
IC
10272}
10273
ebd8d4e8
IC
10274Address.prototype.toBase58Check = function () {
10275 var payload = new Buffer(21)
10276 payload.writeUInt8(this.version, 0)
10277 this.hash.copy(payload, 1)
10278
10279 return base58check.encode(payload)
10280}
10281
ab78acc6 10282Address.prototype.toOutputScript = function () {
ebd8d4e8
IC
10283 var scriptType = findScriptTypeByVersion(this.version)
10284
10285 if (scriptType === 'pubkeyhash') return scripts.pubKeyHashOutput(this.hash)
10286 if (scriptType === 'scripthash') return scripts.scriptHashOutput(this.hash)
10287
ab78acc6
IC
10288 assert(false, this.toString() + ' has no matching Script')
10289}
10290
10291Address.prototype.toString = Address.prototype.toBase58Check
10292
10293module.exports = Address
10294
10295}).call(this,require("buffer").Buffer)
10296},{"./networks":66,"./scripts":69,"assert":5,"bs58check":31,"buffer":7,"typeforce":53}],55:[function(require,module,exports){
10297var bs58check = require('bs58check')
10298
10299function decode () {
10300 console.warn('bs58check will be removed in 2.0.0. require("bs58check") instead.')
10301
10302 return bs58check.decode.apply(undefined, arguments)
10303}
10304
10305function encode () {
10306 console.warn('bs58check will be removed in 2.0.0. require("bs58check") instead.')
10307
10308 return bs58check.encode.apply(undefined, arguments)
10309}
10310
10311module.exports = {
10312 decode: decode,
10313 encode: encode
10314}
10315
10316},{"bs58check":31}],56:[function(require,module,exports){
10317(function (Buffer){
10318var assert = require('assert')
10319var bufferutils = require('./bufferutils')
10320var crypto = require('./crypto')
10321
10322var Transaction = require('./transaction')
10323
10324function Block () {
10325 this.version = 1
10326 this.prevHash = null
10327 this.merkleRoot = null
10328 this.timestamp = 0
10329 this.bits = 0
10330 this.nonce = 0
10331}
10332
10333Block.fromBuffer = function (buffer) {
10334 assert(buffer.length >= 80, 'Buffer too small (< 80 bytes)')
10335
10336 var offset = 0
10337 function readSlice (n) {
10338 offset += n
10339 return buffer.slice(offset - n, offset)
10340 }
10341
10342 function readUInt32 () {
10343 var i = buffer.readUInt32LE(offset)
10344 offset += 4
10345 return i
10346 }
10347
10348 var block = new Block()
10349 block.version = readUInt32()
10350 block.prevHash = readSlice(32)
10351 block.merkleRoot = readSlice(32)
10352 block.timestamp = readUInt32()
10353 block.bits = readUInt32()
10354 block.nonce = readUInt32()
10355
10356 if (buffer.length === 80) return block
10357
10358 function readVarInt () {
10359 var vi = bufferutils.readVarInt(buffer, offset)
10360 offset += vi.size
10361 return vi.number
10362 }
10363
10364 // FIXME: poor performance
10365 function readTransaction () {
10366 var tx = Transaction.fromBuffer(buffer.slice(offset), true)
10367
10368 offset += tx.toBuffer().length
10369 return tx
10370 }
10371
10372 var nTransactions = readVarInt()
10373 block.transactions = []
10374
10375 for (var i = 0; i < nTransactions; ++i) {
10376 var tx = readTransaction()
10377 block.transactions.push(tx)
10378 }
10379
10380 return block
10381}
10382
10383Block.fromHex = function (hex) {
10384 return Block.fromBuffer(new Buffer(hex, 'hex'))
10385}
10386
10387Block.prototype.getHash = function () {
10388 return crypto.hash256(this.toBuffer(true))
10389}
10390
10391Block.prototype.getId = function () {
10392 return bufferutils.reverse(this.getHash()).toString('hex')
ebd8d4e8
IC
10393}
10394
ab78acc6
IC
10395Block.prototype.getUTCDate = function () {
10396 var date = new Date(0) // epoch
10397 date.setUTCSeconds(this.timestamp)
ebd8d4e8 10398
ab78acc6
IC
10399 return date
10400}
ebd8d4e8 10401
ab78acc6
IC
10402Block.prototype.toBuffer = function (headersOnly) {
10403 var buffer = new Buffer(80)
ebd8d4e8 10404
ab78acc6
IC
10405 var offset = 0
10406 function writeSlice (slice) {
10407 slice.copy(buffer, offset)
10408 offset += slice.length
10409 }
ebd8d4e8 10410
ab78acc6
IC
10411 function writeUInt32 (i) {
10412 buffer.writeUInt32LE(i, offset)
10413 offset += 4
10414 }
ebd8d4e8 10415
ab78acc6
IC
10416 writeUInt32(this.version)
10417 writeSlice(this.prevHash)
10418 writeSlice(this.merkleRoot)
10419 writeUInt32(this.timestamp)
10420 writeUInt32(this.bits)
10421 writeUInt32(this.nonce)
ebd8d4e8 10422
ab78acc6 10423 if (headersOnly || !this.transactions) return buffer
ebd8d4e8 10424
ab78acc6
IC
10425 var txLenBuffer = bufferutils.varIntBuffer(this.transactions.length)
10426 var txBuffers = this.transactions.map(function (tx) {
10427 return tx.toBuffer()
10428 })
ebd8d4e8 10429
ab78acc6 10430 return Buffer.concat([buffer, txLenBuffer].concat(txBuffers))
ebd8d4e8
IC
10431}
10432
ab78acc6
IC
10433Block.prototype.toHex = function (headersOnly) {
10434 return this.toBuffer(headersOnly).toString('hex')
ebd8d4e8
IC
10435}
10436
ab78acc6
IC
10437module.exports = Block
10438
10439}).call(this,require("buffer").Buffer)
10440},{"./bufferutils":57,"./crypto":58,"./transaction":70,"assert":5,"buffer":7}],57:[function(require,module,exports){
10441(function (Buffer){
10442var assert = require('assert')
10443var opcodes = require('./opcodes')
ebd8d4e8
IC
10444
10445// https://github.com/feross/buffer/blob/master/index.js#L1127
ab78acc6 10446function verifuint (value, max) {
ebd8d4e8
IC
10447 assert(typeof value === 'number', 'cannot write a non-number as a number')
10448 assert(value >= 0, 'specified a negative value for writing an unsigned value')
10449 assert(value <= max, 'value is larger than maximum value for type')
10450 assert(Math.floor(value) === value, 'value has a fractional component')
10451}
10452
ab78acc6 10453function pushDataSize (i) {
ebd8d4e8 10454 return i < opcodes.OP_PUSHDATA1 ? 1
ab78acc6
IC
10455 : i < 0xff ? 2
10456 : i < 0xffff ? 3
10457 : 5
ebd8d4e8
IC
10458}
10459
ab78acc6 10460function readPushDataInt (buffer, offset) {
ebd8d4e8
IC
10461 var opcode = buffer.readUInt8(offset)
10462 var number, size
10463
10464 // ~6 bit
10465 if (opcode < opcodes.OP_PUSHDATA1) {
10466 number = opcode
10467 size = 1
10468
10469 // 8 bit
10470 } else if (opcode === opcodes.OP_PUSHDATA1) {
ab78acc6 10471 if (offset + 2 > buffer.length) return null
ebd8d4e8
IC
10472 number = buffer.readUInt8(offset + 1)
10473 size = 2
10474
10475 // 16 bit
10476 } else if (opcode === opcodes.OP_PUSHDATA2) {
ab78acc6 10477 if (offset + 3 > buffer.length) return null
ebd8d4e8
IC
10478 number = buffer.readUInt16LE(offset + 1)
10479 size = 3
10480
10481 // 32 bit
10482 } else {
ab78acc6 10483 if (offset + 5 > buffer.length) return null
ebd8d4e8
IC
10484 assert.equal(opcode, opcodes.OP_PUSHDATA4, 'Unexpected opcode')
10485
10486 number = buffer.readUInt32LE(offset + 1)
10487 size = 5
ebd8d4e8
IC
10488 }
10489
10490 return {
10491 opcode: opcode,
10492 number: number,
10493 size: size
10494 }
10495}
10496
ab78acc6 10497function readUInt64LE (buffer, offset) {
ebd8d4e8
IC
10498 var a = buffer.readUInt32LE(offset)
10499 var b = buffer.readUInt32LE(offset + 4)
10500 b *= 0x100000000
10501
10502 verifuint(b + a, 0x001fffffffffffff)
10503
10504 return b + a
10505}
10506
ab78acc6 10507function readVarInt (buffer, offset) {
ebd8d4e8
IC
10508 var t = buffer.readUInt8(offset)
10509 var number, size
10510
10511 // 8 bit
10512 if (t < 253) {
10513 number = t
10514 size = 1
10515
10516 // 16 bit
10517 } else if (t < 254) {
10518 number = buffer.readUInt16LE(offset + 1)
10519 size = 3
10520
10521 // 32 bit
10522 } else if (t < 255) {
10523 number = buffer.readUInt32LE(offset + 1)
10524 size = 5
10525
10526 // 64 bit
10527 } else {
10528 number = readUInt64LE(buffer, offset + 1)
10529 size = 9
10530 }
10531
10532 return {
10533 number: number,
10534 size: size
10535 }
10536}
10537
ab78acc6 10538function writePushDataInt (buffer, number, offset) {
ebd8d4e8
IC
10539 var size = pushDataSize(number)
10540
10541 // ~6 bit
10542 if (size === 1) {
10543 buffer.writeUInt8(number, offset)
10544
10545 // 8 bit
10546 } else if (size === 2) {
10547 buffer.writeUInt8(opcodes.OP_PUSHDATA1, offset)
10548 buffer.writeUInt8(number, offset + 1)
10549
10550 // 16 bit
10551 } else if (size === 3) {
10552 buffer.writeUInt8(opcodes.OP_PUSHDATA2, offset)
10553 buffer.writeUInt16LE(number, offset + 1)
10554
10555 // 32 bit
10556 } else {
10557 buffer.writeUInt8(opcodes.OP_PUSHDATA4, offset)
10558 buffer.writeUInt32LE(number, offset + 1)
ebd8d4e8
IC
10559 }
10560
10561 return size
10562}
10563
ab78acc6 10564function writeUInt64LE (buffer, value, offset) {
ebd8d4e8
IC
10565 verifuint(value, 0x001fffffffffffff)
10566
10567 buffer.writeInt32LE(value & -1, offset)
10568 buffer.writeUInt32LE(Math.floor(value / 0x100000000), offset + 4)
10569}
10570
ab78acc6
IC
10571function varIntSize (i) {
10572 return i < 253 ? 1
10573 : i < 0x10000 ? 3
10574 : i < 0x100000000 ? 5
10575 : 9
ebd8d4e8
IC
10576}
10577
ab78acc6 10578function writeVarInt (buffer, number, offset) {
ebd8d4e8
IC
10579 var size = varIntSize(number)
10580
10581 // 8 bit
10582 if (size === 1) {
10583 buffer.writeUInt8(number, offset)
10584
10585 // 16 bit
10586 } else if (size === 3) {
10587 buffer.writeUInt8(253, offset)
10588 buffer.writeUInt16LE(number, offset + 1)
10589
10590 // 32 bit
10591 } else if (size === 5) {
10592 buffer.writeUInt8(254, offset)
10593 buffer.writeUInt32LE(number, offset + 1)
10594
10595 // 64 bit
10596 } else {
10597 buffer.writeUInt8(255, offset)
10598 writeUInt64LE(buffer, number, offset + 1)
10599 }
10600
10601 return size
10602}
10603
ab78acc6
IC
10604function varIntBuffer (i) {
10605 var size = varIntSize(i)
10606 var buffer = new Buffer(size)
10607 writeVarInt(buffer, i, 0)
10608
10609 return buffer
10610}
10611
10612function reverse (buffer) {
10613 var buffer2 = new Buffer(buffer)
10614 Array.prototype.reverse.call(buffer2)
10615 return buffer2
10616}
10617
ebd8d4e8
IC
10618module.exports = {
10619 pushDataSize: pushDataSize,
10620 readPushDataInt: readPushDataInt,
10621 readUInt64LE: readUInt64LE,
10622 readVarInt: readVarInt,
ab78acc6
IC
10623 reverse: reverse,
10624 varIntBuffer: varIntBuffer,
ebd8d4e8
IC
10625 varIntSize: varIntSize,
10626 writePushDataInt: writePushDataInt,
10627 writeUInt64LE: writeUInt64LE,
10628 writeVarInt: writeVarInt
10629}
10630
ab78acc6
IC
10631}).call(this,require("buffer").Buffer)
10632},{"./opcodes":67,"assert":5,"buffer":7}],58:[function(require,module,exports){
10633var createHash = require('create-hash')
ebd8d4e8 10634
ab78acc6 10635function hash160 (buffer) {
ebd8d4e8
IC
10636 return ripemd160(sha256(buffer))
10637}
10638
ab78acc6 10639function hash256 (buffer) {
ebd8d4e8
IC
10640 return sha256(sha256(buffer))
10641}
10642
ab78acc6
IC
10643function ripemd160 (buffer) {
10644 return createHash('rmd160').update(buffer).digest()
ebd8d4e8
IC
10645}
10646
ab78acc6
IC
10647function sha1 (buffer) {
10648 return createHash('sha1').update(buffer).digest()
ebd8d4e8
IC
10649}
10650
ab78acc6
IC
10651function sha256 (buffer) {
10652 return createHash('sha256').update(buffer).digest()
ebd8d4e8
IC
10653}
10654
10655// FIXME: Name not consistent with others
ab78acc6 10656var createHmac = require('create-hmac')
ebd8d4e8 10657
ab78acc6
IC
10658function HmacSHA256 (buffer, secret) {
10659 console.warn('Hmac* functions are deprecated for removal in 2.0.0, use node crypto instead')
10660 return createHmac('sha256', secret).update(buffer).digest()
10661}
ebd8d4e8 10662
ab78acc6
IC
10663function HmacSHA512 (buffer, secret) {
10664 console.warn('Hmac* functions are deprecated for removal in 2.0.0, use node crypto instead')
10665 return createHmac('sha512', secret).update(buffer).digest()
ebd8d4e8
IC
10666}
10667
10668module.exports = {
10669 ripemd160: ripemd160,
10670 sha1: sha1,
10671 sha256: sha256,
10672 hash160: hash160,
10673 hash256: hash256,
10674 HmacSHA256: HmacSHA256,
10675 HmacSHA512: HmacSHA512
10676}
10677
ab78acc6 10678},{"create-hash":32,"create-hmac":45}],59:[function(require,module,exports){
ebd8d4e8 10679(function (Buffer){
ab78acc6
IC
10680var assert = require('assert')
10681var createHmac = require('create-hmac')
10682var typeForce = require('typeforce')
ebd8d4e8 10683
ab78acc6
IC
10684var BigInteger = require('bigi')
10685var ECSignature = require('./ecsignature')
10686
10687var ZERO = new Buffer([0])
10688var ONE = new Buffer([1])
ebd8d4e8
IC
10689
10690// https://tools.ietf.org/html/rfc6979#section-3.2
ab78acc6
IC
10691function deterministicGenerateK (curve, hash, d, checkSig) {
10692 typeForce('Buffer', hash)
10693 typeForce('BigInteger', d)
10694
10695 // FIXME: remove/uncomment for 2.0.0
10696 // typeForce('Function', checkSig)
10697
10698 if (typeof checkSig !== 'function') {
10699 console.warn('deterministicGenerateK requires a checkSig callback in 2.0.0, see #337 for more information')
10700
10701 checkSig = function (k) {
10702 var G = curve.G
10703 var n = curve.n
10704 var e = BigInteger.fromBuffer(hash)
10705
10706 var Q = G.multiply(k)
10707
10708 if (curve.isInfinity(Q))
10709 return false
10710
10711 var r = Q.affineX.mod(n)
10712 if (r.signum() === 0)
10713 return false
10714
10715 var s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
10716 if (s.signum() === 0)
10717 return false
10718
10719 return true
10720 }
10721 }
10722
10723 // sanity check
ebd8d4e8 10724 assert.equal(hash.length, 32, 'Hash must be 256 bit')
ebd8d4e8
IC
10725
10726 var x = d.toBuffer(32)
10727 var k = new Buffer(32)
10728 var v = new Buffer(32)
10729
ab78acc6 10730 // Step A, ignored as hash already provided
ebd8d4e8
IC
10731 // Step B
10732 v.fill(1)
10733
10734 // Step C
10735 k.fill(0)
10736
10737 // Step D
ab78acc6
IC
10738 k = createHmac('sha256', k)
10739 .update(v)
10740 .update(ZERO)
10741 .update(x)
10742 .update(hash)
10743 .digest()
ebd8d4e8
IC
10744
10745 // Step E
ab78acc6 10746 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10747
10748 // Step F
ab78acc6
IC
10749 k = createHmac('sha256', k)
10750 .update(v)
10751 .update(ONE)
10752 .update(x)
10753 .update(hash)
10754 .digest()
ebd8d4e8
IC
10755
10756 // Step G
ab78acc6 10757 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10758
10759 // Step H1/H2a, ignored as tlen === qlen (256 bit)
10760 // Step H2b
ab78acc6 10761 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10762
10763 var T = BigInteger.fromBuffer(v)
10764
ab78acc6
IC
10765 // Step H3, repeat until T is within the interval [1, n - 1] and is suitable for ECDSA
10766 while ((T.signum() <= 0) || (T.compareTo(curve.n) >= 0) || !checkSig(T)) {
10767 k = createHmac('sha256', k)
10768 .update(v)
10769 .update(ZERO)
10770 .digest()
10771
10772 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8 10773
ab78acc6
IC
10774 // Step H1/H2a, again, ignored as tlen === qlen (256 bit)
10775 // Step H2b again
10776 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10777 T = BigInteger.fromBuffer(v)
10778 }
10779
10780 return T
10781}
10782
ab78acc6
IC
10783function sign (curve, hash, d) {
10784 var r, s
ebd8d4e8 10785
ab78acc6 10786 var e = BigInteger.fromBuffer(hash)
ebd8d4e8
IC
10787 var n = curve.n
10788 var G = curve.G
ebd8d4e8 10789
ab78acc6
IC
10790 deterministicGenerateK(curve, hash, d, function (k) {
10791 var Q = G.multiply(k)
10792
10793 if (curve.isInfinity(Q))
10794 return false
10795
10796 r = Q.affineX.mod(n)
10797 if (r.signum() === 0)
10798 return false
10799
10800 s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
10801 if (s.signum() === 0)
10802 return false
ebd8d4e8 10803
ab78acc6
IC
10804 return true
10805 })
ebd8d4e8
IC
10806
10807 var N_OVER_TWO = n.shiftRight(1)
10808
10809 // enforce low S values, see bip62: 'low s values in signatures'
10810 if (s.compareTo(N_OVER_TWO) > 0) {
10811 s = n.subtract(s)
10812 }
10813
10814 return new ECSignature(r, s)
10815}
10816
ab78acc6 10817function verifyRaw (curve, e, signature, Q) {
ebd8d4e8
IC
10818 var n = curve.n
10819 var G = curve.G
10820
10821 var r = signature.r
10822 var s = signature.s
10823
ab78acc6
IC
10824 // 1.4.1 Enforce r and s are both integers in the interval [1, n − 1]
10825 if (r.signum() <= 0 || r.compareTo(n) >= 0) return false
10826 if (s.signum() <= 0 || s.compareTo(n) >= 0) return false
ebd8d4e8 10827
ab78acc6 10828 // c = s^-1 mod n
ebd8d4e8
IC
10829 var c = s.modInverse(n)
10830
ab78acc6
IC
10831 // 1.4.4 Compute u1 = es^−1 mod n
10832 // u2 = rs^−1 mod n
ebd8d4e8
IC
10833 var u1 = e.multiply(c).mod(n)
10834 var u2 = r.multiply(c).mod(n)
10835
ab78acc6
IC
10836 // 1.4.5 Compute R = (xR, yR) = u1G + u2Q
10837 var R = G.multiplyTwo(u1, Q, u2)
10838 var v = R.affineX.mod(n)
ebd8d4e8 10839
ab78acc6
IC
10840 // 1.4.5 (cont.) Enforce R is not at infinity
10841 if (curve.isInfinity(R)) return false
10842
10843 // 1.4.8 If v = r, output "valid", and if v != r, output "invalid"
ebd8d4e8
IC
10844 return v.equals(r)
10845}
10846
ab78acc6
IC
10847function verify (curve, hash, signature, Q) {
10848 // 1.4.2 H = Hash(M), already done by the user
10849 // 1.4.3 e = H
10850 var e = BigInteger.fromBuffer(hash)
10851
10852 return verifyRaw(curve, e, signature, Q)
10853}
10854
ebd8d4e8
IC
10855/**
10856 * Recover a public key from a signature.
10857 *
10858 * See SEC 1: Elliptic Curve Cryptography, section 4.1.6, "Public
10859 * Key Recovery Operation".
10860 *
10861 * http://www.secg.org/download/aid-780/sec1-v2.pdf
10862 */
ab78acc6 10863function recoverPubKey (curve, e, signature, i) {
ebd8d4e8
IC
10864 assert.strictEqual(i & 3, i, 'Recovery param is more than two bits')
10865
ab78acc6
IC
10866 var n = curve.n
10867 var G = curve.G
10868
ebd8d4e8
IC
10869 var r = signature.r
10870 var s = signature.s
10871
ab78acc6
IC
10872 assert(r.signum() > 0 && r.compareTo(n) < 0, 'Invalid r value')
10873 assert(s.signum() > 0 && s.compareTo(n) < 0, 'Invalid s value')
10874
ebd8d4e8
IC
10875 // A set LSB signifies that the y-coordinate is odd
10876 var isYOdd = i & 1
10877
10878 // The more significant bit specifies whether we should use the
10879 // first or second candidate key.
10880 var isSecondKey = i >> 1
10881
ebd8d4e8
IC
10882 // 1.1 Let x = r + jn
10883 var x = isSecondKey ? r.add(n) : r
10884 var R = curve.pointFromX(isYOdd, x)
10885
10886 // 1.4 Check that nR is at infinity
10887 var nR = R.multiply(n)
10888 assert(curve.isInfinity(nR), 'nR is not a valid curve point')
10889
10890 // Compute -e from e
10891 var eNeg = e.negate().mod(n)
10892
10893 // 1.6.1 Compute Q = r^-1 (sR - eG)
10894 // Q = r^-1 (sR + -eG)
10895 var rInv = r.modInverse(n)
10896
10897 var Q = R.multiplyTwo(s, G, eNeg).multiply(rInv)
10898 curve.validate(Q)
10899
10900 return Q
10901}
10902
10903/**
10904 * Calculate pubkey extraction parameter.
10905 *
10906 * When extracting a pubkey from a signature, we have to
10907 * distinguish four different cases. Rather than putting this
10908 * burden on the verifier, Bitcoin includes a 2-bit value with the
10909 * signature.
10910 *
10911 * This function simply tries all four cases and returns the value
10912 * that resulted in a successful pubkey recovery.
10913 */
ab78acc6 10914function calcPubKeyRecoveryParam (curve, e, signature, Q) {
ebd8d4e8
IC
10915 for (var i = 0; i < 4; i++) {
10916 var Qprime = recoverPubKey(curve, e, signature, i)
10917
10918 // 1.6.2 Verify Q
10919 if (Qprime.equals(Q)) {
10920 return i
10921 }
10922 }
10923
10924 throw new Error('Unable to find valid recovery factor')
10925}
10926
10927module.exports = {
10928 calcPubKeyRecoveryParam: calcPubKeyRecoveryParam,
10929 deterministicGenerateK: deterministicGenerateK,
10930 recoverPubKey: recoverPubKey,
10931 sign: sign,
10932 verify: verify,
10933 verifyRaw: verifyRaw
10934}
10935
ab78acc6
IC
10936}).call(this,require("buffer").Buffer)
10937},{"./ecsignature":62,"assert":5,"bigi":3,"buffer":7,"create-hmac":45,"typeforce":53}],60:[function(require,module,exports){
ebd8d4e8 10938(function (Buffer){
ab78acc6
IC
10939var assert = require('assert')
10940var base58check = require('bs58check')
10941var ecdsa = require('./ecdsa')
10942var networks = require('./networks')
10943var randomBytes = require('randombytes')
10944var typeForce = require('typeforce')
ebd8d4e8 10945
ab78acc6
IC
10946var BigInteger = require('bigi')
10947var ECPubKey = require('./ecpubkey')
ebd8d4e8 10948
ab78acc6
IC
10949var ecurve = require('ecurve')
10950var secp256k1 = ecurve.getCurveByName('secp256k1')
ebd8d4e8 10951
ab78acc6 10952function ECKey (d, compressed) {
ebd8d4e8 10953 assert(d.signum() > 0, 'Private key must be greater than 0')
ab78acc6 10954 assert(d.compareTo(ECKey.curve.n) < 0, 'Private key must be less than the curve order')
ebd8d4e8 10955
ab78acc6 10956 var Q = ECKey.curve.G.multiply(d)
ebd8d4e8
IC
10957
10958 this.d = d
10959 this.pub = new ECPubKey(Q, compressed)
10960}
10961
ab78acc6
IC
10962// Constants
10963ECKey.curve = secp256k1
10964
ebd8d4e8 10965// Static constructors
ab78acc6 10966ECKey.fromWIF = function (string) {
ebd8d4e8
IC
10967 var payload = base58check.decode(string)
10968 var compressed = false
10969
10970 // Ignore the version byte
10971 payload = payload.slice(1)
10972
10973 if (payload.length === 33) {
10974 assert.strictEqual(payload[32], 0x01, 'Invalid compression flag')
10975
10976 // Truncate the compression flag
10977 payload = payload.slice(0, -1)
10978 compressed = true
10979 }
10980
10981 assert.equal(payload.length, 32, 'Invalid WIF payload length')
10982
10983 var d = BigInteger.fromBuffer(payload)
10984 return new ECKey(d, compressed)
10985}
10986
ab78acc6
IC
10987ECKey.makeRandom = function (compressed, rng) {
10988 rng = rng || randomBytes
ebd8d4e8
IC
10989
10990 var buffer = rng(32)
ab78acc6
IC
10991 typeForce('Buffer', buffer)
10992 assert.equal(buffer.length, 32, 'Expected 256-bit Buffer from RNG')
ebd8d4e8
IC
10993
10994 var d = BigInteger.fromBuffer(buffer)
ab78acc6 10995 d = d.mod(ECKey.curve.n)
ebd8d4e8
IC
10996
10997 return new ECKey(d, compressed)
10998}
10999
11000// Export functions
ab78acc6 11001ECKey.prototype.toWIF = function (network) {
ebd8d4e8
IC
11002 network = network || networks.bitcoin
11003
11004 var bufferLen = this.pub.compressed ? 34 : 33
11005 var buffer = new Buffer(bufferLen)
11006
11007 buffer.writeUInt8(network.wif, 0)
11008 this.d.toBuffer(32).copy(buffer, 1)
11009
11010 if (this.pub.compressed) {
11011 buffer.writeUInt8(0x01, 33)
11012 }
11013
11014 return base58check.encode(buffer)
11015}
11016
11017// Operations
ab78acc6
IC
11018ECKey.prototype.sign = function (hash) {
11019 return ecdsa.sign(ECKey.curve, hash, this.d)
ebd8d4e8
IC
11020}
11021
11022module.exports = ECKey
11023
ab78acc6
IC
11024}).call(this,require("buffer").Buffer)
11025},{"./ecdsa":59,"./ecpubkey":61,"./networks":66,"assert":5,"bigi":3,"bs58check":31,"buffer":7,"ecurve":49,"randombytes":52,"typeforce":53}],61:[function(require,module,exports){
ebd8d4e8 11026(function (Buffer){
ab78acc6
IC
11027var crypto = require('./crypto')
11028var ecdsa = require('./ecdsa')
11029var typeForce = require('typeforce')
11030var networks = require('./networks')
ebd8d4e8 11031
ab78acc6 11032var Address = require('./address')
ebd8d4e8 11033
ab78acc6
IC
11034var ecurve = require('ecurve')
11035var secp256k1 = ecurve.getCurveByName('secp256k1')
ebd8d4e8 11036
ab78acc6
IC
11037function ECPubKey (Q, compressed) {
11038 if (compressed === undefined) {
11039 compressed = true
11040 }
ebd8d4e8 11041
ab78acc6
IC
11042 typeForce('Point', Q)
11043 typeForce('Boolean', compressed)
ebd8d4e8
IC
11044
11045 this.compressed = compressed
11046 this.Q = Q
11047}
11048
ab78acc6
IC
11049// Constants
11050ECPubKey.curve = secp256k1
11051
ebd8d4e8 11052// Static constructors
ab78acc6
IC
11053ECPubKey.fromBuffer = function (buffer) {
11054 var Q = ecurve.Point.decodeFrom(ECPubKey.curve, buffer)
ebd8d4e8
IC
11055 return new ECPubKey(Q, Q.compressed)
11056}
11057
ab78acc6 11058ECPubKey.fromHex = function (hex) {
ebd8d4e8
IC
11059 return ECPubKey.fromBuffer(new Buffer(hex, 'hex'))
11060}
11061
11062// Operations
ab78acc6 11063ECPubKey.prototype.getAddress = function (network) {
ebd8d4e8
IC
11064 network = network || networks.bitcoin
11065
11066 return new Address(crypto.hash160(this.toBuffer()), network.pubKeyHash)
11067}
11068
ab78acc6
IC
11069ECPubKey.prototype.verify = function (hash, signature) {
11070 return ecdsa.verify(ECPubKey.curve, hash, signature, this.Q)
ebd8d4e8
IC
11071}
11072
11073// Export functions
ab78acc6 11074ECPubKey.prototype.toBuffer = function () {
ebd8d4e8
IC
11075 return this.Q.getEncoded(this.compressed)
11076}
11077
ab78acc6 11078ECPubKey.prototype.toHex = function () {
ebd8d4e8
IC
11079 return this.toBuffer().toString('hex')
11080}
11081
11082module.exports = ECPubKey
11083
ab78acc6
IC
11084}).call(this,require("buffer").Buffer)
11085},{"./address":54,"./crypto":58,"./ecdsa":59,"./networks":66,"buffer":7,"ecurve":49,"typeforce":53}],62:[function(require,module,exports){
ebd8d4e8 11086(function (Buffer){
ab78acc6
IC
11087var assert = require('assert')
11088var typeForce = require('typeforce')
11089
11090var BigInteger = require('bigi')
11091
11092function ECSignature (r, s) {
11093 typeForce('BigInteger', r)
11094 typeForce('BigInteger', s)
ebd8d4e8 11095
ebd8d4e8
IC
11096 this.r = r
11097 this.s = s
11098}
11099
ab78acc6 11100ECSignature.parseCompact = function (buffer) {
ebd8d4e8
IC
11101 assert.equal(buffer.length, 65, 'Invalid signature length')
11102 var i = buffer.readUInt8(0) - 27
11103
11104 // At most 3 bits
11105 assert.equal(i, i & 7, 'Invalid signature parameter')
11106 var compressed = !!(i & 4)
11107
11108 // Recovery param only
11109 i = i & 3
11110
11111 var r = BigInteger.fromBuffer(buffer.slice(1, 33))
11112 var s = BigInteger.fromBuffer(buffer.slice(33))
11113
11114 return {
11115 compressed: compressed,
11116 i: i,
11117 signature: new ECSignature(r, s)
11118 }
11119}
11120
ab78acc6 11121ECSignature.fromDER = function (buffer) {
ebd8d4e8
IC
11122 assert.equal(buffer.readUInt8(0), 0x30, 'Not a DER sequence')
11123 assert.equal(buffer.readUInt8(1), buffer.length - 2, 'Invalid sequence length')
11124 assert.equal(buffer.readUInt8(2), 0x02, 'Expected a DER integer')
11125
11126 var rLen = buffer.readUInt8(3)
11127 assert(rLen > 0, 'R length is zero')
11128
11129 var offset = 4 + rLen
11130 assert.equal(buffer.readUInt8(offset), 0x02, 'Expected a DER integer (2)')
11131
11132 var sLen = buffer.readUInt8(offset + 1)
11133 assert(sLen > 0, 'S length is zero')
11134
11135 var rB = buffer.slice(4, offset)
11136 var sB = buffer.slice(offset + 2)
11137 offset += 2 + sLen
11138
11139 if (rLen > 1 && rB.readUInt8(0) === 0x00) {
11140 assert(rB.readUInt8(1) & 0x80, 'R value excessively padded')
11141 }
11142
11143 if (sLen > 1 && sB.readUInt8(0) === 0x00) {
11144 assert(sB.readUInt8(1) & 0x80, 'S value excessively padded')
11145 }
11146
11147 assert.equal(offset, buffer.length, 'Invalid DER encoding')
11148 var r = BigInteger.fromDERInteger(rB)
11149 var s = BigInteger.fromDERInteger(sB)
11150
11151 assert(r.signum() >= 0, 'R value is negative')
11152 assert(s.signum() >= 0, 'S value is negative')
11153
11154 return new ECSignature(r, s)
11155}
11156
ab78acc6
IC
11157// BIP62: 1 byte hashType flag (only 0x01, 0x02, 0x03, 0x81, 0x82 and 0x83 are allowed)
11158ECSignature.parseScriptSignature = function (buffer) {
ebd8d4e8
IC
11159 var hashType = buffer.readUInt8(buffer.length - 1)
11160 var hashTypeMod = hashType & ~0x80
11161
ab78acc6 11162 assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType ' + hashType)
ebd8d4e8
IC
11163
11164 return {
11165 signature: ECSignature.fromDER(buffer.slice(0, -1)),
11166 hashType: hashType
11167 }
11168}
11169
ab78acc6
IC
11170ECSignature.prototype.toCompact = function (i, compressed) {
11171 if (compressed) {
11172 i += 4
11173 }
11174
ebd8d4e8
IC
11175 i += 27
11176
11177 var buffer = new Buffer(65)
11178 buffer.writeUInt8(i, 0)
11179
11180 this.r.toBuffer(32).copy(buffer, 1)
11181 this.s.toBuffer(32).copy(buffer, 33)
11182
11183 return buffer
11184}
11185
ab78acc6 11186ECSignature.prototype.toDER = function () {
ebd8d4e8
IC
11187 var rBa = this.r.toDERInteger()
11188 var sBa = this.s.toDERInteger()
11189
11190 var sequence = []
ab78acc6
IC
11191
11192 // INTEGER
11193 sequence.push(0x02, rBa.length)
ebd8d4e8
IC
11194 sequence = sequence.concat(rBa)
11195
ab78acc6
IC
11196 // INTEGER
11197 sequence.push(0x02, sBa.length)
ebd8d4e8
IC
11198 sequence = sequence.concat(sBa)
11199
ab78acc6
IC
11200 // SEQUENCE
11201 sequence.unshift(0x30, sequence.length)
ebd8d4e8
IC
11202
11203 return new Buffer(sequence)
11204}
11205
ab78acc6
IC
11206ECSignature.prototype.toScriptSignature = function (hashType) {
11207 var hashTypeMod = hashType & ~0x80
11208 assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType ' + hashType)
11209
ebd8d4e8
IC
11210 var hashTypeBuffer = new Buffer(1)
11211 hashTypeBuffer.writeUInt8(hashType, 0)
11212
11213 return Buffer.concat([this.toDER(), hashTypeBuffer])
11214}
11215
11216module.exports = ECSignature
11217
ab78acc6
IC
11218}).call(this,require("buffer").Buffer)
11219},{"assert":5,"bigi":3,"buffer":7,"typeforce":53}],63:[function(require,module,exports){
ebd8d4e8 11220(function (Buffer){
ab78acc6
IC
11221var assert = require('assert')
11222var base58check = require('bs58check')
11223var bcrypto = require('./crypto')
11224var createHmac = require('create-hmac')
11225var typeForce = require('typeforce')
11226var networks = require('./networks')
11227
11228var BigInteger = require('bigi')
11229var ECKey = require('./eckey')
11230var ECPubKey = require('./ecpubkey')
11231
11232var ecurve = require('ecurve')
ebd8d4e8
IC
11233var curve = ecurve.getCurveByName('secp256k1')
11234
ab78acc6 11235function findBIP32NetworkByVersion (version) {
ebd8d4e8
IC
11236 for (var name in networks) {
11237 var network = networks[name]
11238
ab78acc6
IC
11239 if (version === network.bip32.private || version === network.bip32.public) {
11240 return network
ebd8d4e8
IC
11241 }
11242 }
11243
ab78acc6 11244 assert(false, 'Could not find network for ' + version.toString(16))
ebd8d4e8
IC
11245}
11246
ab78acc6 11247function HDNode (K, chainCode, network) {
ebd8d4e8
IC
11248 network = network || networks.bitcoin
11249
ab78acc6
IC
11250 typeForce('Buffer', chainCode)
11251
11252 assert.equal(chainCode.length, 32, 'Expected chainCode length of 32, got ' + chainCode.length)
ebd8d4e8
IC
11253 assert(network.bip32, 'Unknown BIP32 constants for network')
11254
11255 this.chainCode = chainCode
11256 this.depth = 0
11257 this.index = 0
ab78acc6 11258 this.parentFingerprint = 0x00000000
ebd8d4e8
IC
11259 this.network = network
11260
11261 if (K instanceof BigInteger) {
11262 this.privKey = new ECKey(K, true)
11263 this.pubKey = this.privKey.pub
ab78acc6
IC
11264 } else if (K instanceof ECKey) {
11265 assert(K.pub.compressed, 'ECKey must be compressed')
11266 this.privKey = K
11267 this.pubKey = K.pub
11268 } else if (K instanceof ECPubKey) {
11269 assert(K.compressed, 'ECPubKey must be compressed')
11270 this.pubKey = K
ebd8d4e8
IC
11271 } else {
11272 this.pubKey = new ECPubKey(K, true)
11273 }
11274}
11275
11276HDNode.MASTER_SECRET = new Buffer('Bitcoin seed')
11277HDNode.HIGHEST_BIT = 0x80000000
11278HDNode.LENGTH = 78
11279
ab78acc6
IC
11280HDNode.fromSeedBuffer = function (seed, network) {
11281 typeForce('Buffer', seed)
11282
11283 assert(seed.length >= 16, 'Seed should be at least 128 bits')
11284 assert(seed.length <= 64, 'Seed should be at most 512 bits')
11285
11286 var I = createHmac('sha512', HDNode.MASTER_SECRET).update(seed).digest()
ebd8d4e8
IC
11287 var IL = I.slice(0, 32)
11288 var IR = I.slice(32)
11289
11290 // In case IL is 0 or >= n, the master key is invalid
11291 // This is handled by `new ECKey` in the HDNode constructor
11292 var pIL = BigInteger.fromBuffer(IL)
11293
11294 return new HDNode(pIL, IR, network)
11295}
11296
ab78acc6 11297HDNode.fromSeedHex = function (hex, network) {
ebd8d4e8
IC
11298 return HDNode.fromSeedBuffer(new Buffer(hex, 'hex'), network)
11299}
11300
ab78acc6
IC
11301HDNode.fromBase58 = function (string, network) {
11302 return HDNode.fromBuffer(base58check.decode(string), network, true)
ebd8d4e8
IC
11303}
11304
ab78acc6
IC
11305// FIXME: remove in 2.x.y
11306HDNode.fromBuffer = function (buffer, network, __ignoreDeprecation) {
11307 if (!__ignoreDeprecation) {
11308 console.warn('HDNode.fromBuffer() is deprecated for removal in 2.x.y, use fromBase58 instead')
11309 }
11310
ebd8d4e8
IC
11311 assert.strictEqual(buffer.length, HDNode.LENGTH, 'Invalid buffer length')
11312
11313 // 4 byte: version bytes
11314 var version = buffer.readUInt32BE(0)
ab78acc6
IC
11315
11316 if (network) {
11317 assert(version === network.bip32.private || version === network.bip32.public, "Network doesn't match")
11318
11319 // auto-detect
11320 } else {
11321 network = findBIP32NetworkByVersion(version)
11322 }
ebd8d4e8
IC
11323
11324 // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ...
11325 var depth = buffer.readUInt8(4)
11326
11327 // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
11328 var parentFingerprint = buffer.readUInt32BE(5)
11329 if (depth === 0) {
11330 assert.strictEqual(parentFingerprint, 0x00000000, 'Invalid parent fingerprint')
11331 }
11332
11333 // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
11334 // This is encoded in MSB order. (0x00000000 if master key)
11335 var index = buffer.readUInt32BE(9)
11336 assert(depth > 0 || index === 0, 'Invalid index')
11337
11338 // 32 bytes: the chain code
11339 var chainCode = buffer.slice(13, 45)
ab78acc6 11340 var data, hd
ebd8d4e8
IC
11341
11342 // 33 bytes: private key data (0x00 + k)
ab78acc6 11343 if (version === network.bip32.private) {
ebd8d4e8 11344 assert.strictEqual(buffer.readUInt8(45), 0x00, 'Invalid private key')
ab78acc6 11345 data = buffer.slice(46, 78)
ebd8d4e8 11346 var d = BigInteger.fromBuffer(data)
ab78acc6 11347 hd = new HDNode(d, chainCode, network)
ebd8d4e8
IC
11348
11349 // 33 bytes: public key data (0x02 + X or 0x03 + X)
11350 } else {
ab78acc6 11351 data = buffer.slice(45, 78)
ebd8d4e8
IC
11352 var Q = ecurve.Point.decodeFrom(curve, data)
11353 assert.equal(Q.compressed, true, 'Invalid public key')
11354
11355 // Verify that the X coordinate in the public point corresponds to a point on the curve.
11356 // If not, the extended public key is invalid.
11357 curve.validate(Q)
11358
ab78acc6 11359 hd = new HDNode(Q, chainCode, network)
ebd8d4e8
IC
11360 }
11361
11362 hd.depth = depth
11363 hd.index = index
11364 hd.parentFingerprint = parentFingerprint
11365
11366 return hd
11367}
11368
ab78acc6
IC
11369// FIXME: remove in 2.x.y
11370HDNode.fromHex = function (hex, network) {
11371 return HDNode.fromBuffer(new Buffer(hex, 'hex'), network)
ebd8d4e8
IC
11372}
11373
ab78acc6
IC
11374HDNode.prototype.getIdentifier = function () {
11375 return bcrypto.hash160(this.pubKey.toBuffer())
ebd8d4e8
IC
11376}
11377
ab78acc6 11378HDNode.prototype.getFingerprint = function () {
ebd8d4e8
IC
11379 return this.getIdentifier().slice(0, 4)
11380}
11381
ab78acc6 11382HDNode.prototype.getAddress = function () {
ebd8d4e8
IC
11383 return this.pubKey.getAddress(this.network)
11384}
11385
ab78acc6
IC
11386HDNode.prototype.neutered = function () {
11387 var neutered = new HDNode(this.pubKey.Q, this.chainCode, this.network)
11388 neutered.depth = this.depth
11389 neutered.index = this.index
11390 neutered.parentFingerprint = this.parentFingerprint
11391
11392 return neutered
11393}
11394
11395HDNode.prototype.toBase58 = function (isPrivate) {
11396 return base58check.encode(this.toBuffer(isPrivate, true))
ebd8d4e8
IC
11397}
11398
ab78acc6
IC
11399// FIXME: remove in 2.x.y
11400HDNode.prototype.toBuffer = function (isPrivate, __ignoreDeprecation) {
11401 if (isPrivate === undefined) {
11402 isPrivate = !!this.privKey
11403
11404 // FIXME: remove in 2.x.y
11405 } else {
11406 console.warn('isPrivate flag is deprecated, please use the .neutered() method instead')
11407 }
11408
11409 if (!__ignoreDeprecation) {
11410 console.warn('HDNode.toBuffer() is deprecated for removal in 2.x.y, use toBase58 instead')
11411 }
ebd8d4e8
IC
11412
11413 // Version
11414 var version = isPrivate ? this.network.bip32.private : this.network.bip32.public
11415 var buffer = new Buffer(HDNode.LENGTH)
11416
11417 // 4 bytes: version bytes
11418 buffer.writeUInt32BE(version, 0)
11419
11420 // Depth
11421 // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ....
11422 buffer.writeUInt8(this.depth, 4)
11423
11424 // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
ab78acc6 11425 buffer.writeUInt32BE(this.parentFingerprint, 5)
ebd8d4e8
IC
11426
11427 // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
11428 // This is encoded in Big endian. (0x00000000 if master key)
11429 buffer.writeUInt32BE(this.index, 9)
11430
11431 // 32 bytes: the chain code
11432 this.chainCode.copy(buffer, 13)
11433
11434 // 33 bytes: the public key or private key data
11435 if (isPrivate) {
ab78acc6 11436 // FIXME: remove in 2.x.y
ebd8d4e8
IC
11437 assert(this.privKey, 'Missing private key')
11438
11439 // 0x00 + k for private keys
11440 buffer.writeUInt8(0, 45)
11441 this.privKey.d.toBuffer(32).copy(buffer, 46)
11442 } else {
ebd8d4e8
IC
11443 // X9.62 encoding for public keys
11444 this.pubKey.toBuffer().copy(buffer, 45)
11445 }
11446
11447 return buffer
11448}
11449
ab78acc6
IC
11450// FIXME: remove in 2.x.y
11451HDNode.prototype.toHex = function (isPrivate) {
ebd8d4e8
IC
11452 return this.toBuffer(isPrivate).toString('hex')
11453}
11454
11455// https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#child-key-derivation-ckd-functions
ab78acc6 11456HDNode.prototype.derive = function (index) {
ebd8d4e8
IC
11457 var isHardened = index >= HDNode.HIGHEST_BIT
11458 var indexBuffer = new Buffer(4)
11459 indexBuffer.writeUInt32BE(index, 0)
11460
11461 var data
11462
11463 // Hardened child
11464 if (isHardened) {
11465 assert(this.privKey, 'Could not derive hardened child key')
11466
11467 // data = 0x00 || ser256(kpar) || ser32(index)
11468 data = Buffer.concat([
11469 this.privKey.d.toBuffer(33),
11470 indexBuffer
11471 ])
11472
11473 // Normal child
11474 } else {
11475 // data = serP(point(kpar)) || ser32(index)
11476 // = serP(Kpar) || ser32(index)
11477 data = Buffer.concat([
11478 this.pubKey.toBuffer(),
11479 indexBuffer
11480 ])
11481 }
11482
ab78acc6 11483 var I = createHmac('sha512', this.chainCode).update(data).digest()
ebd8d4e8
IC
11484 var IL = I.slice(0, 32)
11485 var IR = I.slice(32)
11486
11487 var pIL = BigInteger.fromBuffer(IL)
11488
11489 // In case parse256(IL) >= n, proceed with the next value for i
11490 if (pIL.compareTo(curve.n) >= 0) {
11491 return this.derive(index + 1)
11492 }
11493
11494 // Private parent key -> private child key
11495 var hd
11496 if (this.privKey) {
11497 // ki = parse256(IL) + kpar (mod n)
11498 var ki = pIL.add(this.privKey.d).mod(curve.n)
11499
11500 // In case ki == 0, proceed with the next value for i
11501 if (ki.signum() === 0) {
11502 return this.derive(index + 1)
11503 }
11504
11505 hd = new HDNode(ki, IR, this.network)
11506
11507 // Public parent key -> public child key
11508 } else {
11509 // Ki = point(parse256(IL)) + Kpar
11510 // = G*IL + Kpar
11511 var Ki = curve.G.multiply(pIL).add(this.pubKey.Q)
11512
11513 // In case Ki is the point at infinity, proceed with the next value for i
11514 if (curve.isInfinity(Ki)) {
11515 return this.derive(index + 1)
11516 }
11517
11518 hd = new HDNode(Ki, IR, this.network)
11519 }
11520
11521 hd.depth = this.depth + 1
11522 hd.index = index
11523 hd.parentFingerprint = this.getFingerprint().readUInt32BE(0)
11524
11525 return hd
11526}
11527
ab78acc6 11528HDNode.prototype.deriveHardened = function (index) {
ebd8d4e8
IC
11529 // Only derives hardened private keys by default
11530 return this.derive(index + HDNode.HIGHEST_BIT)
11531}
11532
11533HDNode.prototype.toString = HDNode.prototype.toBase58
11534
11535module.exports = HDNode
11536
ab78acc6
IC
11537}).call(this,require("buffer").Buffer)
11538},{"./crypto":58,"./eckey":60,"./ecpubkey":61,"./networks":66,"assert":5,"bigi":3,"bs58check":31,"buffer":7,"create-hmac":45,"ecurve":49,"typeforce":53}],64:[function(require,module,exports){
ebd8d4e8 11539module.exports = {
ab78acc6
IC
11540 Address: require('./address'),
11541 base58check: require('./base58check'),
11542 Block: require('./block'),
11543 bufferutils: require('./bufferutils'),
11544 crypto: require('./crypto'),
11545 ecdsa: require('./ecdsa'),
11546 ECKey: require('./eckey'),
11547 ECPubKey: require('./ecpubkey'),
11548 ECSignature: require('./ecsignature'),
11549 Message: require('./message'),
11550 opcodes: require('./opcodes'),
11551 HDNode: require('./hdnode'),
11552 Script: require('./script'),
11553 scripts: require('./scripts'),
11554 Transaction: require('./transaction'),
11555 TransactionBuilder: require('./transaction_builder'),
11556 networks: require('./networks'),
11557 Wallet: require('./wallet')
11558}
11559
11560},{"./address":54,"./base58check":55,"./block":56,"./bufferutils":57,"./crypto":58,"./ecdsa":59,"./eckey":60,"./ecpubkey":61,"./ecsignature":62,"./hdnode":63,"./message":65,"./networks":66,"./opcodes":67,"./script":68,"./scripts":69,"./transaction":70,"./transaction_builder":71,"./wallet":72}],65:[function(require,module,exports){
ebd8d4e8 11561(function (Buffer){
ab78acc6
IC
11562var bufferutils = require('./bufferutils')
11563var crypto = require('./crypto')
11564var ecdsa = require('./ecdsa')
11565var networks = require('./networks')
11566
11567var BigInteger = require('bigi')
11568var ECPubKey = require('./ecpubkey')
11569var ECSignature = require('./ecsignature')
11570
11571var ecurve = require('ecurve')
ebd8d4e8
IC
11572var ecparams = ecurve.getCurveByName('secp256k1')
11573
ab78acc6 11574function magicHash (message, network) {
ebd8d4e8
IC
11575 var magicPrefix = new Buffer(network.magicPrefix)
11576 var messageBuffer = new Buffer(message)
ab78acc6 11577 var lengthBuffer = bufferutils.varIntBuffer(messageBuffer.length)
ebd8d4e8
IC
11578
11579 var buffer = Buffer.concat([magicPrefix, lengthBuffer, messageBuffer])
11580 return crypto.hash256(buffer)
11581}
11582
ab78acc6 11583function sign (privKey, message, network) {
ebd8d4e8
IC
11584 network = network || networks.bitcoin
11585
11586 var hash = magicHash(message, network)
11587 var signature = privKey.sign(hash)
11588 var e = BigInteger.fromBuffer(hash)
11589 var i = ecdsa.calcPubKeyRecoveryParam(ecparams, e, signature, privKey.pub.Q)
11590
11591 return signature.toCompact(i, privKey.pub.compressed)
11592}
11593
11594// TODO: network could be implied from address
ab78acc6
IC
11595function verify (address, signature, message, network) {
11596 if (!Buffer.isBuffer(signature)) {
11597 signature = new Buffer(signature, 'base64')
ebd8d4e8 11598 }
ab78acc6 11599
ebd8d4e8
IC
11600 network = network || networks.bitcoin
11601
11602 var hash = magicHash(message, network)
ab78acc6 11603 var parsed = ECSignature.parseCompact(signature)
ebd8d4e8
IC
11604 var e = BigInteger.fromBuffer(hash)
11605 var Q = ecdsa.recoverPubKey(ecparams, e, parsed.signature, parsed.i)
11606
11607 var pubKey = new ECPubKey(Q, parsed.compressed)
ab78acc6 11608 return pubKey.getAddress(network).toString() === address.toString()
ebd8d4e8
IC
11609}
11610
11611module.exports = {
11612 magicHash: magicHash,
11613 sign: sign,
11614 verify: verify
11615}
11616
ab78acc6
IC
11617}).call(this,require("buffer").Buffer)
11618},{"./bufferutils":57,"./crypto":58,"./ecdsa":59,"./ecpubkey":61,"./ecsignature":62,"./networks":66,"bigi":3,"buffer":7,"ecurve":49}],66:[function(require,module,exports){
ebd8d4e8
IC
11619// https://en.bitcoin.it/wiki/List_of_address_prefixes
11620// Dogecoin BIP32 is a proposed standard: https://bitcointalk.org/index.php?topic=409731
11621
11622var networks = {
11623 bitcoin: {
11624 magicPrefix: '\x18Bitcoin Signed Message:\n',
11625 bip32: {
11626 public: 0x0488b21e,
11627 private: 0x0488ade4
11628 },
11629 pubKeyHash: 0x00,
11630 scriptHash: 0x05,
11631 wif: 0x80,
11632 dustThreshold: 546, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/core.h#L151-L162
11633 feePerKb: 10000, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/main.cpp#L53
11634 estimateFee: estimateFee('bitcoin')
a9385c1b 11635 },
ab78acc6
IC
11636 testnet: {
11637 magicPrefix: '\x18Bitcoin Signed Message:\n',
a9385c1b 11638 bip32: {
ab78acc6
IC
11639 public: 0x043587cf,
11640 private: 0x04358394
a9385c1b 11641 },
ab78acc6
IC
11642 pubKeyHash: 0x6f,
11643 scriptHash: 0xc4,
11644 wif: 0xef,
11645 dustThreshold: 546,
cb325c58 11646 feePerKb: 10000,
ab78acc6 11647 estimateFee: estimateFee('testnet')
a9385c1b 11648 },
ab78acc6
IC
11649 litecoin: {
11650 magicPrefix: '\x19Litecoin Signed Message:\n',
a9385c1b 11651 bip32: {
ab78acc6
IC
11652 public: 0x019da462,
11653 private: 0x019d9cfe
a9385c1b 11654 },
ab78acc6
IC
11655 pubKeyHash: 0x30,
11656 scriptHash: 0x05,
11657 wif: 0xb0,
11658 dustThreshold: 0, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L360-L365
11659 dustSoftThreshold: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.h#L53
11660 feePerKb: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L56
11661 estimateFee: estimateFee('litecoin')
ebd8d4e8
IC
11662 },
11663 dogecoin: {
11664 magicPrefix: '\x19Dogecoin Signed Message:\n',
11665 bip32: {
11666 public: 0x02facafd,
11667 private: 0x02fac398
11668 },
11669 pubKeyHash: 0x1e,
11670 scriptHash: 0x16,
11671 wif: 0x9e,
11672 dustThreshold: 0, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/core.h#L155-L160
11673 dustSoftThreshold: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.h#L62
11674 feePerKb: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.cpp#L58
11675 estimateFee: estimateFee('dogecoin')
11676 },
ab78acc6
IC
11677 viacoin: {
11678 magicPrefix: '\x18Viacoin Signed Message:\n',
ebd8d4e8 11679 bip32: {
ab78acc6
IC
11680 public: 0x0488b21e,
11681 private: 0x0488ade4
ebd8d4e8 11682 },
ab78acc6
IC
11683 pubKeyHash: 0x47,
11684 scriptHash: 0x21,
11685 wif: 0xc7,
11686 dustThreshold: 560,
11687 dustSoftThreshold: 100000,
11688 feePerKb: 100000, //
11689 estimateFee: estimateFee('viacoin')
ebd8d4e8 11690 },
ab78acc6
IC
11691 viacointestnet: {
11692 magicPrefix: '\x18Viacoin Signed Message:\n',
ebd8d4e8
IC
11693 bip32: {
11694 public: 0x043587cf,
11695 private: 0x04358394
11696 },
ab78acc6 11697 pubKeyHash: 0x7f,
ebd8d4e8 11698 scriptHash: 0xc4,
ab78acc6
IC
11699 wif: 0xff,
11700 dustThreshold: 560,
11701 dustSoftThreshold: 100000,
11702 feePerKb: 100000,
11703 estimateFee: estimateFee('viacointestnet')
11704 },
11705 gamerscoin: {
11706 magicPrefix: '\x19Gamerscoin Signed Message:\n',
11707 bip32: {
11708 public: 0x019da462,
11709 private: 0x019d9cfe
11710 },
11711 pubKeyHash: 0x26,
11712 scriptHash: 0x05,
11713 wif: 0xA6,
11714 dustThreshold: 0, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L358-L363
11715 dustSoftThreshold: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L51
11716 feePerKb: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L54
11717 estimateFee: estimateFee('gamerscoin')
11718 },
11719 jumbucks: {
11720 magicPrefix: '\x19Jumbucks Signed Message:\n',
11721 bip32: {
11722 public: 0x037a689a,
11723 private: 0x037a6460
11724 },
11725 pubKeyHash: 0x2b,
11726 scriptHash: 0x05,
11727 wif: 0xab,
11728 dustThreshold: 0,
11729 dustSoftThreshold: 10000,
ebd8d4e8 11730 feePerKb: 10000,
ab78acc6
IC
11731 estimateFee: estimateFee('jumbucks')
11732 },
11733 zetacoin: {
11734 magicPrefix: '\x18Zetacoin Signed Message:\n',
11735 bip32: {
11736 public: 0x0488b21e,
11737 private: 0x0488ade4
11738 },
11739 pubKeyHash: 0x50,
11740 scriptHash: 0x09,
11741 wif: 0xe0,
11742 dustThreshold: 546, // https://github.com/zetacoin/zetacoin/blob/master/src/core.h#L159
11743 feePerKb: 10000, // https://github.com/zetacoin/zetacoin/blob/master/src/main.cpp#L54
11744 estimateFee: estimateFee('zetacoin')
ebd8d4e8
IC
11745 }
11746}
11747
ab78acc6
IC
11748function estimateFee (type) {
11749 return function (tx) {
ebd8d4e8
IC
11750 var network = networks[type]
11751 var baseFee = network.feePerKb
11752 var byteSize = tx.toBuffer().length
11753
11754 var fee = baseFee * Math.ceil(byteSize / 1000)
ab78acc6 11755 if (network.dustSoftThreshold === undefined) return fee
ebd8d4e8 11756
ab78acc6 11757 tx.outs.forEach(function (e) {
ebd8d4e8
IC
11758 if (e.value < network.dustSoftThreshold) {
11759 fee += baseFee
11760 }
11761 })
11762
11763 return fee
11764 }
11765}
11766
11767module.exports = networks
11768
ab78acc6 11769},{}],67:[function(require,module,exports){
ebd8d4e8
IC
11770module.exports = {
11771 // push value
ab78acc6
IC
11772 OP_FALSE: 0,
11773 OP_0: 0,
11774 OP_PUSHDATA1: 76,
11775 OP_PUSHDATA2: 77,
11776 OP_PUSHDATA4: 78,
11777 OP_1NEGATE: 79,
11778 OP_RESERVED: 80,
11779 OP_1: 81,
11780 OP_TRUE: 81,
11781 OP_2: 82,
11782 OP_3: 83,
11783 OP_4: 84,
11784 OP_5: 85,
11785 OP_6: 86,
11786 OP_7: 87,
11787 OP_8: 88,
11788 OP_9: 89,
11789 OP_10: 90,
11790 OP_11: 91,
11791 OP_12: 92,
11792 OP_13: 93,
11793 OP_14: 94,
11794 OP_15: 95,
11795 OP_16: 96,
ebd8d4e8
IC
11796
11797 // control
ab78acc6
IC
11798 OP_NOP: 97,
11799 OP_VER: 98,
11800 OP_IF: 99,
11801 OP_NOTIF: 100,
11802 OP_VERIF: 101,
11803 OP_VERNOTIF: 102,
11804 OP_ELSE: 103,
11805 OP_ENDIF: 104,
11806 OP_VERIFY: 105,
11807 OP_RETURN: 106,
ebd8d4e8
IC
11808
11809 // stack ops
ab78acc6
IC
11810 OP_TOALTSTACK: 107,
11811 OP_FROMALTSTACK: 108,
11812 OP_2DROP: 109,
11813 OP_2DUP: 110,
11814 OP_3DUP: 111,
11815 OP_2OVER: 112,
11816 OP_2ROT: 113,
11817 OP_2SWAP: 114,
11818 OP_IFDUP: 115,
11819 OP_DEPTH: 116,
11820 OP_DROP: 117,
11821 OP_DUP: 118,
11822 OP_NIP: 119,
11823 OP_OVER: 120,
11824 OP_PICK: 121,
11825 OP_ROLL: 122,
11826 OP_ROT: 123,
11827 OP_SWAP: 124,
11828 OP_TUCK: 125,
ebd8d4e8
IC
11829
11830 // splice ops
ab78acc6
IC
11831 OP_CAT: 126,
11832 OP_SUBSTR: 127,
11833 OP_LEFT: 128,
11834 OP_RIGHT: 129,
11835 OP_SIZE: 130,
ebd8d4e8
IC
11836
11837 // bit logic
ab78acc6
IC
11838 OP_INVERT: 131,
11839 OP_AND: 132,
11840 OP_OR: 133,
11841 OP_XOR: 134,
11842 OP_EQUAL: 135,
11843 OP_EQUALVERIFY: 136,
11844 OP_RESERVED1: 137,
11845 OP_RESERVED2: 138,
ebd8d4e8
IC
11846
11847 // numeric
ab78acc6
IC
11848 OP_1ADD: 139,
11849 OP_1SUB: 140,
11850 OP_2MUL: 141,
11851 OP_2DIV: 142,
11852 OP_NEGATE: 143,
11853 OP_ABS: 144,
11854 OP_NOT: 145,
11855 OP_0NOTEQUAL: 146,
11856
11857 OP_ADD: 147,
11858 OP_SUB: 148,
11859 OP_MUL: 149,
11860 OP_DIV: 150,
11861 OP_MOD: 151,
11862 OP_LSHIFT: 152,
11863 OP_RSHIFT: 153,
11864
11865 OP_BOOLAND: 154,
11866 OP_BOOLOR: 155,
11867 OP_NUMEQUAL: 156,
11868 OP_NUMEQUALVERIFY: 157,
11869 OP_NUMNOTEQUAL: 158,
11870 OP_LESSTHAN: 159,
11871 OP_GREATERTHAN: 160,
11872 OP_LESSTHANOREQUAL: 161,
11873 OP_GREATERTHANOREQUAL: 162,
11874 OP_MIN: 163,
11875 OP_MAX: 164,
11876
11877 OP_WITHIN: 165,
ebd8d4e8
IC
11878
11879 // crypto
ab78acc6
IC
11880 OP_RIPEMD160: 166,
11881 OP_SHA1: 167,
11882 OP_SHA256: 168,
11883 OP_HASH160: 169,
11884 OP_HASH256: 170,
11885 OP_CODESEPARATOR: 171,
11886 OP_CHECKSIG: 172,
11887 OP_CHECKSIGVERIFY: 173,
11888 OP_CHECKMULTISIG: 174,
11889 OP_CHECKMULTISIGVERIFY: 175,
ebd8d4e8
IC
11890
11891 // expansion
ab78acc6
IC
11892 OP_NOP1: 176,
11893 OP_NOP2: 177,
11894 OP_NOP3: 178,
11895 OP_NOP4: 179,
11896 OP_NOP5: 180,
11897 OP_NOP6: 181,
11898 OP_NOP7: 182,
11899 OP_NOP8: 183,
11900 OP_NOP9: 184,
11901 OP_NOP10: 185,
ebd8d4e8
IC
11902
11903 // template matching params
ab78acc6
IC
11904 OP_PUBKEYHASH: 253,
11905 OP_PUBKEY: 254,
11906 OP_INVALIDOPCODE: 255
ebd8d4e8
IC
11907}
11908
ab78acc6 11909},{}],68:[function(require,module,exports){
ebd8d4e8 11910(function (Buffer){
ab78acc6
IC
11911var assert = require('assert')
11912var bufferutils = require('./bufferutils')
11913var crypto = require('./crypto')
11914var typeForce = require('typeforce')
11915var opcodes = require('./opcodes')
ebd8d4e8 11916
ab78acc6
IC
11917function Script (buffer, chunks) {
11918 typeForce('Buffer', buffer)
11919 typeForce('Array', chunks)
ebd8d4e8
IC
11920
11921 this.buffer = buffer
11922 this.chunks = chunks
11923}
11924
ab78acc6 11925Script.fromASM = function (asm) {
ebd8d4e8 11926 var strChunks = asm.split(' ')
ab78acc6
IC
11927 var chunks = strChunks.map(function (strChunk) {
11928 // opcode
ebd8d4e8
IC
11929 if (strChunk in opcodes) {
11930 return opcodes[strChunk]
11931
ab78acc6 11932 // data chunk
ebd8d4e8
IC
11933 } else {
11934 return new Buffer(strChunk, 'hex')
11935 }
11936 })
11937
11938 return Script.fromChunks(chunks)
11939}
11940
ab78acc6 11941Script.fromBuffer = function (buffer) {
ebd8d4e8 11942 var chunks = []
ebd8d4e8
IC
11943 var i = 0
11944
11945 while (i < buffer.length) {
11946 var opcode = buffer.readUInt8(i)
11947
ab78acc6 11948 // data chunk
ebd8d4e8
IC
11949 if ((opcode > opcodes.OP_0) && (opcode <= opcodes.OP_PUSHDATA4)) {
11950 var d = bufferutils.readPushDataInt(buffer, i)
ab78acc6
IC
11951
11952 // did reading a pushDataInt fail? return non-chunked script
11953 if (d === null) return new Script(buffer, [])
ebd8d4e8
IC
11954 i += d.size
11955
ab78acc6
IC
11956 // attempt to read too much data?
11957 if (i + d.number > buffer.length) return new Script(buffer, [])
11958
ebd8d4e8
IC
11959 var data = buffer.slice(i, i + d.number)
11960 i += d.number
11961
11962 chunks.push(data)
11963
ab78acc6 11964 // opcode
ebd8d4e8
IC
11965 } else {
11966 chunks.push(opcode)
11967
11968 i += 1
11969 }
11970 }
11971
11972 return new Script(buffer, chunks)
11973}
11974
ab78acc6
IC
11975Script.fromChunks = function (chunks) {
11976 typeForce('Array', chunks)
ebd8d4e8 11977
ab78acc6
IC
11978 var bufferSize = chunks.reduce(function (accum, chunk) {
11979 // data chunk
ebd8d4e8
IC
11980 if (Buffer.isBuffer(chunk)) {
11981 return accum + bufferutils.pushDataSize(chunk.length) + chunk.length
11982 }
11983
ab78acc6 11984 // opcode
ebd8d4e8
IC
11985 return accum + 1
11986 }, 0.0)
11987
11988 var buffer = new Buffer(bufferSize)
11989 var offset = 0
11990
ab78acc6
IC
11991 chunks.forEach(function (chunk) {
11992 // data chunk
ebd8d4e8
IC
11993 if (Buffer.isBuffer(chunk)) {
11994 offset += bufferutils.writePushDataInt(buffer, chunk.length, offset)
11995
11996 chunk.copy(buffer, offset)
11997 offset += chunk.length
11998
ab78acc6 11999 // opcode
ebd8d4e8
IC
12000 } else {
12001 buffer.writeUInt8(chunk, offset)
12002 offset += 1
12003 }
12004 })
12005
12006 assert.equal(offset, buffer.length, 'Could not decode chunks')
12007 return new Script(buffer, chunks)
12008}
12009
ab78acc6 12010Script.fromHex = function (hex) {
ebd8d4e8
IC
12011 return Script.fromBuffer(new Buffer(hex, 'hex'))
12012}
12013
ebd8d4e8
IC
12014Script.EMPTY = Script.fromChunks([])
12015
ab78acc6 12016Script.prototype.getHash = function () {
ebd8d4e8
IC
12017 return crypto.hash160(this.buffer)
12018}
12019
12020// FIXME: doesn't work for data chunks, maybe time to use buffertools.compare...
ab78acc6
IC
12021Script.prototype.without = function (needle) {
12022 return Script.fromChunks(this.chunks.filter(function (op) {
ebd8d4e8
IC
12023 return op !== needle
12024 }))
12025}
12026
ebd8d4e8
IC
12027var reverseOps = []
12028for (var op in opcodes) {
12029 var code = opcodes[op]
12030 reverseOps[code] = op
12031}
12032
ab78acc6
IC
12033Script.prototype.toASM = function () {
12034 return this.chunks.map(function (chunk) {
12035 // data chunk
ebd8d4e8
IC
12036 if (Buffer.isBuffer(chunk)) {
12037 return chunk.toString('hex')
12038
ab78acc6 12039 // opcode
ebd8d4e8
IC
12040 } else {
12041 return reverseOps[chunk]
12042 }
12043 }).join(' ')
12044}
12045
ab78acc6 12046Script.prototype.toBuffer = function () {
ebd8d4e8
IC
12047 return this.buffer
12048}
12049
ab78acc6 12050Script.prototype.toHex = function () {
ebd8d4e8
IC
12051 return this.toBuffer().toString('hex')
12052}
12053
12054module.exports = Script
12055
ab78acc6
IC
12056}).call(this,require("buffer").Buffer)
12057},{"./bufferutils":57,"./crypto":58,"./opcodes":67,"assert":5,"buffer":7,"typeforce":53}],69:[function(require,module,exports){
ebd8d4e8 12058(function (Buffer){
ab78acc6
IC
12059var assert = require('assert')
12060var ops = require('./opcodes')
12061var typeForce = require('typeforce')
ebd8d4e8 12062
ab78acc6 12063var ecurve = require('ecurve')
ebd8d4e8
IC
12064var curve = ecurve.getCurveByName('secp256k1')
12065
ab78acc6
IC
12066var ECSignature = require('./ecsignature')
12067var Script = require('./script')
ebd8d4e8 12068
ab78acc6 12069function isCanonicalPubKey (buffer) {
ebd8d4e8
IC
12070 if (!Buffer.isBuffer(buffer)) return false
12071
12072 try {
ebd8d4e8
IC
12073 ecurve.Point.decodeFrom(curve, buffer)
12074 } catch (e) {
ab78acc6
IC
12075 if (!(e.message.match(/Invalid sequence (length|tag)/)))
12076 throw e
ebd8d4e8
IC
12077
12078 return false
12079 }
12080
12081 return true
12082}
12083
ab78acc6 12084function isCanonicalSignature (buffer) {
ebd8d4e8
IC
12085 if (!Buffer.isBuffer(buffer)) return false
12086
12087 try {
12088 ECSignature.parseScriptSignature(buffer)
ab78acc6
IC
12089 } catch (e) {
12090 if (!(e.message.match(/Not a DER sequence|Invalid sequence length|Expected a DER integer|R length is zero|S length is zero|R value excessively padded|S value excessively padded|R value is negative|S value is negative|Invalid hashType/))) {
12091 throw e
12092 }
ebd8d4e8
IC
12093
12094 return false
12095 }
12096
12097 return true
12098}
12099
ab78acc6
IC
12100function isPubKeyHashInput (script) {
12101 return script.chunks.length === 2 &&
12102 isCanonicalSignature(script.chunks[0]) &&
12103 isCanonicalPubKey(script.chunks[1])
ebd8d4e8
IC
12104}
12105
ab78acc6
IC
12106function isPubKeyHashOutput (script) {
12107 return script.chunks.length === 5 &&
12108 script.chunks[0] === ops.OP_DUP &&
12109 script.chunks[1] === ops.OP_HASH160 &&
12110 Buffer.isBuffer(script.chunks[2]) &&
12111 script.chunks[2].length === 20 &&
12112 script.chunks[3] === ops.OP_EQUALVERIFY &&
12113 script.chunks[4] === ops.OP_CHECKSIG
ebd8d4e8
IC
12114}
12115
ab78acc6
IC
12116function isPubKeyInput (script) {
12117 return script.chunks.length === 1 &&
12118 isCanonicalSignature(script.chunks[0])
ebd8d4e8
IC
12119}
12120
ab78acc6
IC
12121function isPubKeyOutput (script) {
12122 return script.chunks.length === 2 &&
12123 isCanonicalPubKey(script.chunks[0]) &&
12124 script.chunks[1] === ops.OP_CHECKSIG
ebd8d4e8
IC
12125}
12126
ab78acc6
IC
12127function isScriptHashInput (script, allowIncomplete) {
12128 if (script.chunks.length < 2) return false
ebd8d4e8 12129
ab78acc6 12130 var lastChunk = script.chunks[script.chunks.length - 1]
ebd8d4e8
IC
12131 if (!Buffer.isBuffer(lastChunk)) return false
12132
ab78acc6
IC
12133 var scriptSig = Script.fromChunks(script.chunks.slice(0, -1))
12134 var redeemScript = Script.fromBuffer(lastChunk)
ebd8d4e8 12135
ab78acc6
IC
12136 // is redeemScript a valid script?
12137 if (redeemScript.chunks.length === 0) return false
12138
12139 return classifyInput(scriptSig, allowIncomplete) === classifyOutput(redeemScript)
ebd8d4e8
IC
12140}
12141
ab78acc6
IC
12142function isScriptHashOutput (script) {
12143 return script.chunks.length === 3 &&
12144 script.chunks[0] === ops.OP_HASH160 &&
12145 Buffer.isBuffer(script.chunks[1]) &&
12146 script.chunks[1].length === 20 &&
12147 script.chunks[2] === ops.OP_EQUAL
ebd8d4e8
IC
12148}
12149
ab78acc6
IC
12150// allowIncomplete is to account for combining signatures
12151// See https://github.com/bitcoin/bitcoin/blob/f425050546644a36b0b8e0eb2f6934a3e0f6f80f/src/script/sign.cpp#L195-L197
12152function isMultisigInput (script, allowIncomplete) {
12153 if (script.chunks.length < 2) return false
12154 if (script.chunks[0] !== ops.OP_0) return false
12155
12156 if (allowIncomplete) {
12157 return script.chunks.slice(1).every(function (chunk) {
12158 return chunk === ops.OP_0 || isCanonicalSignature(chunk)
12159 })
12160 }
12161
12162 return script.chunks.slice(1).every(isCanonicalSignature)
ebd8d4e8
IC
12163}
12164
ab78acc6
IC
12165function isMultisigOutput (script) {
12166 if (script.chunks.length < 4) return false
12167 if (script.chunks[script.chunks.length - 1] !== ops.OP_CHECKMULTISIG) return false
ebd8d4e8 12168
ab78acc6
IC
12169 var mOp = script.chunks[0]
12170 if (mOp === ops.OP_0) return false
12171 if (mOp < ops.OP_1) return false
12172 if (mOp > ops.OP_16) return false
ebd8d4e8 12173
ab78acc6
IC
12174 var nOp = script.chunks[script.chunks.length - 2]
12175 if (nOp === ops.OP_0) return false
12176 if (nOp < ops.OP_1) return false
12177 if (nOp > ops.OP_16) return false
ebd8d4e8 12178
ab78acc6
IC
12179 var m = mOp - (ops.OP_1 - 1)
12180 var n = nOp - (ops.OP_1 - 1)
ebd8d4e8
IC
12181 if (n < m) return false
12182
ab78acc6 12183 var pubKeys = script.chunks.slice(1, -2)
ebd8d4e8
IC
12184 if (n < pubKeys.length) return false
12185
12186 return pubKeys.every(isCanonicalPubKey)
12187}
12188
ab78acc6
IC
12189function isNullDataOutput (script) {
12190 return script.chunks[0] === ops.OP_RETURN
12191}
12192
12193function classifyOutput (script) {
12194 typeForce('Script', script)
12195
12196 if (isPubKeyHashOutput(script)) {
12197 return 'pubkeyhash'
12198 } else if (isScriptHashOutput(script)) {
12199 return 'scripthash'
12200 } else if (isMultisigOutput(script)) {
12201 return 'multisig'
12202 } else if (isPubKeyOutput(script)) {
12203 return 'pubkey'
12204 } else if (isNullDataOutput(script)) {
12205 return 'nulldata'
12206 }
12207
12208 return 'nonstandard'
12209}
12210
12211function classifyInput (script, allowIncomplete) {
12212 typeForce('Script', script)
12213
12214 if (isPubKeyHashInput(script)) {
12215 return 'pubkeyhash'
12216 } else if (isMultisigInput(script, allowIncomplete)) {
12217 return 'multisig'
12218 } else if (isScriptHashInput(script, allowIncomplete)) {
12219 return 'scripthash'
12220 } else if (isPubKeyInput(script)) {
12221 return 'pubkey'
12222 }
12223
12224 return 'nonstandard'
ebd8d4e8
IC
12225}
12226
12227// Standard Script Templates
12228// {pubKey} OP_CHECKSIG
ab78acc6 12229function pubKeyOutput (pubKey) {
ebd8d4e8
IC
12230 return Script.fromChunks([
12231 pubKey.toBuffer(),
ab78acc6 12232 ops.OP_CHECKSIG
ebd8d4e8
IC
12233 ])
12234}
12235
12236// OP_DUP OP_HASH160 {pubKeyHash} OP_EQUALVERIFY OP_CHECKSIG
ab78acc6
IC
12237function pubKeyHashOutput (hash) {
12238 typeForce('Buffer', hash)
ebd8d4e8
IC
12239
12240 return Script.fromChunks([
ab78acc6
IC
12241 ops.OP_DUP,
12242 ops.OP_HASH160,
ebd8d4e8 12243 hash,
ab78acc6
IC
12244 ops.OP_EQUALVERIFY,
12245 ops.OP_CHECKSIG
ebd8d4e8
IC
12246 ])
12247}
12248
12249// OP_HASH160 {scriptHash} OP_EQUAL
ab78acc6
IC
12250function scriptHashOutput (hash) {
12251 typeForce('Buffer', hash)
ebd8d4e8
IC
12252
12253 return Script.fromChunks([
ab78acc6 12254 ops.OP_HASH160,
ebd8d4e8 12255 hash,
ab78acc6 12256 ops.OP_EQUAL
ebd8d4e8
IC
12257 ])
12258}
12259
12260// m [pubKeys ...] n OP_CHECKMULTISIG
ab78acc6
IC
12261function multisigOutput (m, pubKeys) {
12262 typeForce(['ECPubKey'], pubKeys)
12263
ebd8d4e8
IC
12264 assert(pubKeys.length >= m, 'Not enough pubKeys provided')
12265
ab78acc6 12266 var pubKeyBuffers = pubKeys.map(function (pubKey) {
ebd8d4e8
IC
12267 return pubKey.toBuffer()
12268 })
12269 var n = pubKeys.length
12270
12271 return Script.fromChunks([].concat(
ab78acc6 12272 (ops.OP_1 - 1) + m,
ebd8d4e8 12273 pubKeyBuffers,
ab78acc6
IC
12274 (ops.OP_1 - 1) + n,
12275 ops.OP_CHECKMULTISIG
ebd8d4e8
IC
12276 ))
12277}
12278
12279// {signature}
ab78acc6
IC
12280function pubKeyInput (signature) {
12281 typeForce('Buffer', signature)
ebd8d4e8
IC
12282
12283 return Script.fromChunks([signature])
12284}
12285
12286// {signature} {pubKey}
ab78acc6
IC
12287function pubKeyHashInput (signature, pubKey) {
12288 typeForce('Buffer', signature)
ebd8d4e8
IC
12289
12290 return Script.fromChunks([signature, pubKey.toBuffer()])
12291}
12292
12293// <scriptSig> {serialized scriptPubKey script}
ab78acc6 12294function scriptHashInput (scriptSig, scriptPubKey) {
ebd8d4e8
IC
12295 return Script.fromChunks([].concat(
12296 scriptSig.chunks,
12297 scriptPubKey.toBuffer()
12298 ))
12299}
12300
12301// OP_0 [signatures ...]
ab78acc6 12302function multisigInput (signatures, scriptPubKey) {
ebd8d4e8 12303 if (scriptPubKey) {
ab78acc6
IC
12304 assert(isMultisigOutput(scriptPubKey))
12305
12306 var mOp = scriptPubKey.chunks[0]
12307 var nOp = scriptPubKey.chunks[scriptPubKey.chunks.length - 2]
12308 var m = mOp - (ops.OP_1 - 1)
12309 var n = nOp - (ops.OP_1 - 1)
ebd8d4e8 12310
ab78acc6
IC
12311 assert(signatures.length >= m, 'Not enough signatures provided')
12312 assert(signatures.length <= n, 'Too many signatures provided')
ebd8d4e8
IC
12313 }
12314
ab78acc6
IC
12315 return Script.fromChunks([].concat(ops.OP_0, signatures))
12316}
12317
12318function nullDataOutput (data) {
12319 return Script.fromChunks([ops.OP_RETURN, data])
ebd8d4e8
IC
12320}
12321
12322module.exports = {
ab78acc6
IC
12323 isCanonicalPubKey: isCanonicalPubKey,
12324 isCanonicalSignature: isCanonicalSignature,
12325 isPubKeyHashInput: isPubKeyHashInput,
12326 isPubKeyHashOutput: isPubKeyHashOutput,
12327 isPubKeyInput: isPubKeyInput,
12328 isPubKeyOutput: isPubKeyOutput,
12329 isScriptHashInput: isScriptHashInput,
12330 isScriptHashOutput: isScriptHashOutput,
12331 isMultisigInput: isMultisigInput,
12332 isMultisigOutput: isMultisigOutput,
12333 isNullDataOutput: isNullDataOutput,
ebd8d4e8 12334 classifyOutput: classifyOutput,
ab78acc6
IC
12335 classifyInput: classifyInput,
12336 pubKeyOutput: pubKeyOutput,
ebd8d4e8 12337 pubKeyHashOutput: pubKeyHashOutput,
ab78acc6
IC
12338 scriptHashOutput: scriptHashOutput,
12339 multisigOutput: multisigOutput,
ebd8d4e8 12340 pubKeyInput: pubKeyInput,
ab78acc6 12341 pubKeyHashInput: pubKeyHashInput,
ebd8d4e8 12342 scriptHashInput: scriptHashInput,
ab78acc6
IC
12343 multisigInput: multisigInput,
12344 dataOutput: function (data) {
12345 console.warn('dataOutput is deprecated, use nullDataOutput by 2.0.0')
12346 return nullDataOutput(data)
12347 },
12348 nullDataOutput: nullDataOutput
ebd8d4e8
IC
12349}
12350
ab78acc6
IC
12351}).call(this,require("buffer").Buffer)
12352},{"./ecsignature":62,"./opcodes":67,"./script":68,"assert":5,"buffer":7,"ecurve":49,"typeforce":53}],70:[function(require,module,exports){
ebd8d4e8 12353(function (Buffer){
ab78acc6
IC
12354var assert = require('assert')
12355var bufferutils = require('./bufferutils')
12356var crypto = require('./crypto')
12357var typeForce = require('typeforce')
12358var opcodes = require('./opcodes')
12359var scripts = require('./scripts')
12360
12361var Address = require('./address')
12362var ECSignature = require('./ecsignature')
12363var Script = require('./script')
12364
12365function Transaction () {
12366 this.version = 1
12367 this.locktime = 0
12368 this.ins = []
12369 this.outs = []
12370}
ebd8d4e8
IC
12371
12372Transaction.DEFAULT_SEQUENCE = 0xffffffff
12373Transaction.SIGHASH_ALL = 0x01
12374Transaction.SIGHASH_NONE = 0x02
12375Transaction.SIGHASH_SINGLE = 0x03
12376Transaction.SIGHASH_ANYONECANPAY = 0x80
12377
ab78acc6
IC
12378Transaction.fromBuffer = function (buffer, __disableAssert) {
12379 var offset = 0
12380 function readSlice (n) {
12381 offset += n
12382 return buffer.slice(offset - n, offset)
12383 }
12384
12385 function readUInt32 () {
12386 var i = buffer.readUInt32LE(offset)
12387 offset += 4
12388 return i
12389 }
12390
12391 function readUInt64 () {
12392 var i = bufferutils.readUInt64LE(buffer, offset)
12393 offset += 8
12394 return i
12395 }
12396
12397 function readVarInt () {
12398 var vi = bufferutils.readVarInt(buffer, offset)
12399 offset += vi.size
12400 return vi.number
12401 }
12402
12403 function readScript () {
12404 return Script.fromBuffer(readSlice(readVarInt()))
12405 }
12406
12407 function readGenerationScript () {
12408 return new Script(readSlice(readVarInt()), [])
12409 }
12410
12411 var tx = new Transaction()
12412 tx.version = readUInt32()
12413
12414 var vinLen = readVarInt()
12415 for (var i = 0; i < vinLen; ++i) {
12416 var hash = readSlice(32)
12417
12418 if (Transaction.isCoinbaseHash(hash)) {
12419 tx.ins.push({
12420 hash: hash,
12421 index: readUInt32(),
12422 script: readGenerationScript(),
12423 sequence: readUInt32()
12424 })
12425 } else {
12426 tx.ins.push({
12427 hash: hash,
12428 index: readUInt32(),
12429 script: readScript(),
12430 sequence: readUInt32()
12431 })
12432 }
12433 }
12434
12435 var voutLen = readVarInt()
12436 for (i = 0; i < voutLen; ++i) {
12437 tx.outs.push({
12438 value: readUInt64(),
12439 script: readScript()
12440 })
12441 }
12442
12443 tx.locktime = readUInt32()
12444
12445 if (!__disableAssert) {
12446 assert.equal(offset, buffer.length, 'Transaction has unexpected data')
12447 }
12448
12449 return tx
12450}
12451
12452Transaction.fromHex = function (hex) {
12453 return Transaction.fromBuffer(new Buffer(hex, 'hex'))
12454}
12455
12456Transaction.isCoinbaseHash = function (buffer) {
12457 return Array.prototype.every.call(buffer, function (x) {
12458 return x === 0
12459 })
ebd8d4e8
IC
12460}
12461
12462/**
ab78acc6 12463 * Create a new txIn.
ebd8d4e8
IC
12464 *
12465 * Can be called with any of:
12466 *
12467 * - A transaction and an index
12468 * - A transaction hash and an index
12469 *
12470 * Note that this method does not sign the created input.
12471 */
ab78acc6
IC
12472Transaction.prototype.addInput = function (hash, index, sequence, script) {
12473 if (sequence === undefined || sequence === null) {
12474 sequence = Transaction.DEFAULT_SEQUENCE
12475 }
ebd8d4e8 12476
ab78acc6 12477 script = script || Script.EMPTY
ebd8d4e8 12478
ab78acc6 12479 if (typeof hash === 'string') {
ebd8d4e8 12480 // TxId hex is big-endian, we need little-endian
ab78acc6
IC
12481 hash = bufferutils.reverse(new Buffer(hash, 'hex'))
12482 } else if (hash instanceof Transaction) {
12483 hash = hash.getHash()
ebd8d4e8
IC
12484 }
12485
ab78acc6
IC
12486 typeForce('Buffer', hash)
12487 typeForce('Number', index)
12488 typeForce('Number', sequence)
12489 typeForce('Script', script)
12490
ebd8d4e8 12491 assert.equal(hash.length, 32, 'Expected hash length of 32, got ' + hash.length)
ebd8d4e8 12492
ab78acc6 12493 // Add the input and return the input's index
ebd8d4e8
IC
12494 return (this.ins.push({
12495 hash: hash,
12496 index: index,
ab78acc6 12497 script: script,
ebd8d4e8
IC
12498 sequence: sequence
12499 }) - 1)
12500}
12501
12502/**
ab78acc6 12503 * Create a new txOut.
ebd8d4e8
IC
12504 *
12505 * Can be called with:
12506 *
12507 * - A base58 address string and a value
12508 * - An Address object and a value
12509 * - A scriptPubKey Script and a value
12510 */
ab78acc6 12511Transaction.prototype.addOutput = function (scriptPubKey, value) {
ebd8d4e8
IC
12512 // Attempt to get a valid address if it's a base58 address string
12513 if (typeof scriptPubKey === 'string') {
12514 scriptPubKey = Address.fromBase58Check(scriptPubKey)
12515 }
12516
12517 // Attempt to get a valid script if it's an Address object
12518 if (scriptPubKey instanceof Address) {
ab78acc6 12519 scriptPubKey = scriptPubKey.toOutputScript()
ebd8d4e8
IC
12520 }
12521
ab78acc6
IC
12522 typeForce('Script', scriptPubKey)
12523 typeForce('Number', value)
12524
12525 // Add the output and return the output's index
ebd8d4e8
IC
12526 return (this.outs.push({
12527 script: scriptPubKey,
ab78acc6 12528 value: value
ebd8d4e8
IC
12529 }) - 1)
12530}
12531
ab78acc6
IC
12532Transaction.prototype.clone = function () {
12533 var newTx = new Transaction()
12534 newTx.version = this.version
12535 newTx.locktime = this.locktime
12536
12537 newTx.ins = this.ins.map(function (txIn) {
12538 return {
12539 hash: txIn.hash,
12540 index: txIn.index,
12541 script: txIn.script,
12542 sequence: txIn.sequence
12543 }
12544 })
12545
12546 newTx.outs = this.outs.map(function (txOut) {
12547 return {
12548 script: txOut.script,
12549 value: txOut.value
12550 }
12551 })
12552
12553 return newTx
12554}
12555
12556/**
12557 * Hash transaction for signing a specific input.
12558 *
12559 * Bitcoin uses a different hash for each signed transaction input. This
12560 * method copies the transaction, makes the necessary changes based on the
12561 * hashType, serializes and finally hashes the result. This hash can then be
12562 * used to sign the transaction input in question.
12563 */
12564Transaction.prototype.hashForSignature = function (inIndex, prevOutScript, hashType) {
12565 // FIXME: remove in 2.x.y
12566 if (arguments[0] instanceof Script) {
12567 console.warn('hashForSignature(prevOutScript, inIndex, ...) has been deprecated. Use hashForSignature(inIndex, prevOutScript, ...)')
12568
12569 // swap the arguments (must be stored in tmp, arguments is special)
12570 var tmp = arguments[0]
12571 inIndex = arguments[1]
12572 prevOutScript = tmp
12573 }
12574
12575 typeForce('Number', inIndex)
12576 typeForce('Script', prevOutScript)
12577 typeForce('Number', hashType)
12578
12579 assert(inIndex >= 0, 'Invalid vin index')
12580 assert(inIndex < this.ins.length, 'Invalid vin index')
12581
12582 var txTmp = this.clone()
12583 var hashScript = prevOutScript.without(opcodes.OP_CODESEPARATOR)
12584
12585 // Blank out other inputs' signatures
12586 txTmp.ins.forEach(function (txIn) {
12587 txIn.script = Script.EMPTY
12588 })
12589 txTmp.ins[inIndex].script = hashScript
12590
12591 var hashTypeModifier = hashType & 0x1f
12592
12593 if (hashTypeModifier === Transaction.SIGHASH_NONE) {
12594 assert(false, 'SIGHASH_NONE not yet supported')
12595 } else if (hashTypeModifier === Transaction.SIGHASH_SINGLE) {
12596 assert(false, 'SIGHASH_SINGLE not yet supported')
12597 }
12598
12599 if (hashType & Transaction.SIGHASH_ANYONECANPAY) {
12600 assert(false, 'SIGHASH_ANYONECANPAY not yet supported')
12601 }
12602
12603 var hashTypeBuffer = new Buffer(4)
12604 hashTypeBuffer.writeInt32LE(hashType, 0)
12605
12606 var buffer = Buffer.concat([txTmp.toBuffer(), hashTypeBuffer])
12607 return crypto.hash256(buffer)
12608}
12609
12610Transaction.prototype.getHash = function () {
12611 return crypto.hash256(this.toBuffer())
12612}
12613
12614Transaction.prototype.getId = function () {
12615 // TxHash is little-endian, we need big-endian
12616 return bufferutils.reverse(this.getHash()).toString('hex')
12617}
12618
ebd8d4e8 12619Transaction.prototype.toBuffer = function () {
ab78acc6
IC
12620 function scriptSize (script) {
12621 var length = script.buffer.length
ebd8d4e8 12622
ab78acc6
IC
12623 return bufferutils.varIntSize(length) + length
12624 }
ebd8d4e8
IC
12625
12626 var buffer = new Buffer(
12627 8 +
12628 bufferutils.varIntSize(this.ins.length) +
12629 bufferutils.varIntSize(this.outs.length) +
ab78acc6
IC
12630 this.ins.reduce(function (sum, input) { return sum + 40 + scriptSize(input.script) }, 0) +
12631 this.outs.reduce(function (sum, output) { return sum + 8 + scriptSize(output.script) }, 0)
ebd8d4e8
IC
12632 )
12633
12634 var offset = 0
ab78acc6 12635 function writeSlice (slice) {
ebd8d4e8
IC
12636 slice.copy(buffer, offset)
12637 offset += slice.length
12638 }
ab78acc6
IC
12639
12640 function writeUInt32 (i) {
ebd8d4e8
IC
12641 buffer.writeUInt32LE(i, offset)
12642 offset += 4
12643 }
ab78acc6
IC
12644
12645 function writeUInt64 (i) {
ebd8d4e8
IC
12646 bufferutils.writeUInt64LE(buffer, i, offset)
12647 offset += 8
12648 }
ab78acc6
IC
12649
12650 function writeVarInt (i) {
ebd8d4e8
IC
12651 var n = bufferutils.writeVarInt(buffer, i, offset)
12652 offset += n
12653 }
12654
12655 writeUInt32(this.version)
12656 writeVarInt(this.ins.length)
12657
ab78acc6
IC
12658 this.ins.forEach(function (txIn) {
12659 writeSlice(txIn.hash)
12660 writeUInt32(txIn.index)
12661 writeVarInt(txIn.script.buffer.length)
12662 writeSlice(txIn.script.buffer)
12663 writeUInt32(txIn.sequence)
ebd8d4e8
IC
12664 })
12665
12666 writeVarInt(this.outs.length)
ab78acc6
IC
12667 this.outs.forEach(function (txOut) {
12668 writeUInt64(txOut.value)
12669 writeVarInt(txOut.script.buffer.length)
12670 writeSlice(txOut.script.buffer)
ebd8d4e8
IC
12671 })
12672
12673 writeUInt32(this.locktime)
12674
12675 return buffer
12676}
12677
ab78acc6 12678Transaction.prototype.toHex = function () {
ebd8d4e8
IC
12679 return this.toBuffer().toString('hex')
12680}
12681
ab78acc6
IC
12682Transaction.prototype.setInputScript = function (index, script) {
12683 typeForce('Number', index)
12684 typeForce('Script', script)
12685
12686 this.ins[index].script = script
12687}
12688
12689// FIXME: remove in 2.x.y
12690Transaction.prototype.sign = function (index, privKey, hashType) {
12691 console.warn('Transaction.prototype.sign is deprecated. Use TransactionBuilder instead.')
12692
12693 var prevOutScript = privKey.pub.getAddress().toOutputScript()
12694 var signature = this.signInput(index, prevOutScript, privKey, hashType)
12695
12696 var scriptSig = scripts.pubKeyHashInput(signature, privKey.pub)
12697 this.setInputScript(index, scriptSig)
12698}
12699
12700// FIXME: remove in 2.x.y
12701Transaction.prototype.signInput = function (index, prevOutScript, privKey, hashType) {
12702 console.warn('Transaction.prototype.signInput is deprecated. Use TransactionBuilder instead.')
12703
12704 hashType = hashType || Transaction.SIGHASH_ALL
12705
12706 var hash = this.hashForSignature(index, prevOutScript, hashType)
12707 var signature = privKey.sign(hash)
12708
12709 return signature.toScriptSignature(hashType)
12710}
12711
12712// FIXME: remove in 2.x.y
12713Transaction.prototype.validateInput = function (index, prevOutScript, pubKey, buffer) {
12714 console.warn('Transaction.prototype.validateInput is deprecated. Use TransactionBuilder instead.')
12715
12716 var parsed = ECSignature.parseScriptSignature(buffer)
12717 var hash = this.hashForSignature(index, prevOutScript, parsed.hashType)
12718
12719 return pubKey.verify(hash, parsed.signature)
12720}
12721
12722module.exports = Transaction
12723
12724}).call(this,require("buffer").Buffer)
12725},{"./address":54,"./bufferutils":57,"./crypto":58,"./ecsignature":62,"./opcodes":67,"./script":68,"./scripts":69,"assert":5,"buffer":7,"typeforce":53}],71:[function(require,module,exports){
12726(function (Buffer){
12727var assert = require('assert')
12728var ops = require('./opcodes')
12729var scripts = require('./scripts')
12730
12731var ECPubKey = require('./ecpubkey')
12732var ECSignature = require('./ecsignature')
12733var Script = require('./script')
12734var Transaction = require('./transaction')
12735
12736function extractInput (txIn) {
12737 var redeemScript
12738 var scriptSig = txIn.script
12739 var prevOutScript
12740 var prevOutType = scripts.classifyInput(scriptSig, true)
12741 var scriptType
12742
12743 // Re-classify if scriptHash
12744 if (prevOutType === 'scripthash') {
12745 redeemScript = Script.fromBuffer(scriptSig.chunks.slice(-1)[0])
12746 prevOutScript = scripts.scriptHashOutput(redeemScript.getHash())
12747
12748 scriptSig = Script.fromChunks(scriptSig.chunks.slice(0, -1))
12749 scriptType = scripts.classifyInput(scriptSig, true)
12750 } else {
12751 scriptType = prevOutType
12752 }
12753
12754 // Extract hashType, pubKeys and signatures
12755 var hashType, parsed, pubKeys, signatures
12756
12757 switch (scriptType) {
12758 case 'pubkeyhash': {
12759 parsed = ECSignature.parseScriptSignature(scriptSig.chunks[0])
12760 hashType = parsed.hashType
12761 pubKeys = [ECPubKey.fromBuffer(scriptSig.chunks[1])]
12762 signatures = [parsed.signature]
12763 prevOutScript = pubKeys[0].getAddress().toOutputScript()
12764
12765 break
12766 }
12767
12768 case 'pubkey': {
12769 parsed = ECSignature.parseScriptSignature(scriptSig.chunks[0])
12770 hashType = parsed.hashType
12771 signatures = [parsed.signature]
12772
12773 if (redeemScript) {
12774 pubKeys = [ECPubKey.fromBuffer(redeemScript.chunks[0])]
12775 }
12776
12777 break
12778 }
12779
12780 case 'multisig': {
12781 signatures = scriptSig.chunks.slice(1).map(function (chunk) {
12782 if (chunk === ops.OP_0) return chunk
12783
12784 var parsed = ECSignature.parseScriptSignature(chunk)
12785 hashType = parsed.hashType
12786
12787 return parsed.signature
12788 })
12789
12790 if (redeemScript) {
12791 pubKeys = redeemScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12792 }
12793
12794 break
12795 }
12796 }
12797
12798 return {
12799 hashType: hashType,
12800 prevOutScript: prevOutScript,
12801 prevOutType: prevOutType,
12802 pubKeys: pubKeys,
12803 redeemScript: redeemScript,
12804 scriptType: scriptType,
12805 signatures: signatures
12806 }
12807}
12808
12809function TransactionBuilder () {
12810 this.prevTxMap = {}
12811 this.prevOutScripts = {}
12812 this.prevOutTypes = {}
12813
12814 this.inputs = []
12815 this.tx = new Transaction()
12816}
12817
12818TransactionBuilder.fromTransaction = function (transaction) {
12819 var txb = new TransactionBuilder()
12820
12821 // Copy other transaction fields
12822 txb.tx.version = transaction.version
12823 txb.tx.locktime = transaction.locktime
12824
12825 // Extract/add inputs
12826 transaction.ins.forEach(function (txIn) {
12827 txb.addInput(txIn.hash, txIn.index, txIn.sequence)
12828 })
12829
12830 // Extract/add outputs
12831 transaction.outs.forEach(function (txOut) {
12832 txb.addOutput(txOut.script, txOut.value)
12833 })
12834
12835 // Extract/add signatures
12836 txb.inputs = transaction.ins.map(function (txIn) {
12837 // TODO: remove me after testcase added
12838 assert(!Transaction.isCoinbaseHash(txIn.hash), 'coinbase inputs not supported')
12839
12840 // Ignore empty scripts
12841 if (txIn.script.buffer.length === 0) return {}
12842
12843 return extractInput(txIn)
12844 })
12845
12846 return txb
12847}
12848
12849TransactionBuilder.prototype.addInput = function (prevTx, index, sequence, prevOutScript) {
12850 var prevOutHash
12851
12852 // txId
12853 if (typeof prevTx === 'string') {
12854 prevOutHash = new Buffer(prevTx, 'hex')
12855
12856 // TxId hex is big-endian, we want little-endian hash
12857 Array.prototype.reverse.call(prevOutHash)
12858
12859 // Transaction
12860 } else if (prevTx instanceof Transaction) {
12861 prevOutHash = prevTx.getHash()
12862 prevOutScript = prevTx.outs[index].script
12863
12864 // txHash
12865 } else {
12866 prevOutHash = prevTx
12867 }
12868
12869 var input = {}
12870 if (prevOutScript) {
12871 var prevOutType = scripts.classifyOutput(prevOutScript)
12872
12873 // if we can, extract pubKey information
12874 switch (prevOutType) {
12875 case 'multisig': {
12876 input.pubKeys = prevOutScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12877 break
12878 }
12879
12880 case 'pubkey': {
12881 input.pubKeys = prevOutScript.chunks.slice(0, 1).map(ECPubKey.fromBuffer)
12882 break
12883 }
12884 }
12885
12886 if (prevOutType !== 'scripthash') {
12887 input.scriptType = prevOutType
12888 }
12889
12890 input.prevOutScript = prevOutScript
12891 input.prevOutType = prevOutType
12892 }
12893
12894 assert(this.inputs.every(function (input2) {
12895 if (input2.hashType === undefined) return true
12896
12897 return input2.hashType & Transaction.SIGHASH_ANYONECANPAY
12898 }), 'No, this would invalidate signatures')
12899
12900 var prevOut = prevOutHash.toString('hex') + ':' + index
12901 assert(!(prevOut in this.prevTxMap), 'Transaction is already an input')
12902
12903 var vin = this.tx.addInput(prevOutHash, index, sequence)
12904 this.inputs[vin] = input
12905 this.prevTxMap[prevOut] = vin
12906
12907 return vin
12908}
12909
12910TransactionBuilder.prototype.addOutput = function (scriptPubKey, value) {
12911 assert(this.inputs.every(function (input) {
12912 if (input.hashType === undefined) return true
ebd8d4e8 12913
ab78acc6
IC
12914 return (input.hashType & 0x1f) === Transaction.SIGHASH_SINGLE
12915 }), 'No, this would invalidate signatures')
ebd8d4e8 12916
ab78acc6
IC
12917 return this.tx.addOutput(scriptPubKey, value)
12918}
ebd8d4e8 12919
ab78acc6
IC
12920TransactionBuilder.prototype.build = function () {
12921 return this.__build(false)
12922}
12923TransactionBuilder.prototype.buildIncomplete = function () {
12924 return this.__build(true)
12925}
ebd8d4e8 12926
ab78acc6
IC
12927var canSignTypes = {
12928 'pubkeyhash': true,
12929 'multisig': true,
12930 'pubkey': true
12931}
ebd8d4e8 12932
ab78acc6
IC
12933TransactionBuilder.prototype.__build = function (allowIncomplete) {
12934 if (!allowIncomplete) {
12935 assert(this.tx.ins.length > 0, 'Transaction has no inputs')
12936 assert(this.tx.outs.length > 0, 'Transaction has no outputs')
ebd8d4e8
IC
12937 }
12938
ab78acc6 12939 var tx = this.tx.clone()
ebd8d4e8 12940
ab78acc6
IC
12941 // Create script signatures from signature meta-data
12942 this.inputs.forEach(function (input, index) {
12943 var scriptType = input.scriptType
12944 var scriptSig
ebd8d4e8 12945
ab78acc6
IC
12946 if (!allowIncomplete) {
12947 assert(!!scriptType, 'Transaction is not complete')
12948 assert(scriptType in canSignTypes, scriptType + ' not supported')
12949 assert(input.signatures, 'Transaction is missing signatures')
12950 }
ebd8d4e8 12951
ab78acc6
IC
12952 if (input.signatures) {
12953 switch (scriptType) {
12954 case 'pubkeyhash': {
12955 var pkhSignature = input.signatures[0].toScriptSignature(input.hashType)
12956 scriptSig = scripts.pubKeyHashInput(pkhSignature, input.pubKeys[0])
12957 break
12958 }
ebd8d4e8 12959
ab78acc6
IC
12960 case 'multisig': {
12961 // Array.prototype.map is sparse-compatible
12962 var msSignatures = input.signatures.map(function (signature) {
12963 return signature && signature.toScriptSignature(input.hashType)
12964 })
ebd8d4e8 12965
ab78acc6
IC
12966 // fill in blanks with OP_0
12967 if (allowIncomplete) {
12968 for (var i = 0; i < msSignatures.length; ++i) {
12969 if (msSignatures[i]) continue
ebd8d4e8 12970
ab78acc6
IC
12971 msSignatures[i] = ops.OP_0
12972 }
12973 } else {
12974 // Array.prototype.filter returns non-sparse array
12975 msSignatures = msSignatures.filter(function (x) { return x })
12976 }
ebd8d4e8 12977
ab78acc6
IC
12978 var redeemScript = allowIncomplete ? undefined : input.redeemScript
12979 scriptSig = scripts.multisigInput(msSignatures, redeemScript)
12980 break
12981 }
ebd8d4e8 12982
ab78acc6
IC
12983 case 'pubkey': {
12984 var pkSignature = input.signatures[0].toScriptSignature(input.hashType)
12985 scriptSig = scripts.pubKeyInput(pkSignature)
12986 break
12987 }
12988 }
ebd8d4e8 12989 }
ebd8d4e8 12990
ab78acc6
IC
12991 // did we build a scriptSig?
12992 if (scriptSig) {
12993 // wrap as scriptHash if necessary
12994 if (input.prevOutType === 'scripthash') {
12995 scriptSig = scripts.scriptHashInput(scriptSig, input.redeemScript)
12996 }
12997
12998 tx.setInputScript(index, scriptSig)
ebd8d4e8
IC
12999 }
13000 })
13001
ab78acc6 13002 return tx
ebd8d4e8
IC
13003}
13004
ab78acc6
IC
13005TransactionBuilder.prototype.sign = function (index, privKey, redeemScript, hashType) {
13006 assert(index in this.inputs, 'No input at index: ' + index)
13007 hashType = hashType || Transaction.SIGHASH_ALL
ebd8d4e8 13008
ab78acc6
IC
13009 var input = this.inputs[index]
13010 var canSign = input.hashType &&
13011 input.prevOutScript &&
13012 input.prevOutType &&
13013 input.pubKeys &&
13014 input.scriptType &&
13015 input.signatures
ebd8d4e8 13016
ab78acc6
IC
13017 // are we almost ready to sign?
13018 if (canSign) {
13019 // if redeemScript was provided, enforce consistency
13020 if (redeemScript) {
13021 assert.deepEqual(input.redeemScript, redeemScript, 'Inconsistent redeemScript')
13022 }
ebd8d4e8 13023
ab78acc6 13024 assert.equal(input.hashType, hashType, 'Inconsistent hashType')
ebd8d4e8 13025
ab78acc6
IC
13026 // no? prepare
13027 } else {
13028 // must be pay-to-scriptHash?
13029 if (redeemScript) {
13030 // if we have a prevOutScript, enforce scriptHash equality to the redeemScript
13031 if (input.prevOutScript) {
13032 assert.equal(input.prevOutType, 'scripthash', 'PrevOutScript must be P2SH')
13033
13034 var scriptHash = input.prevOutScript.chunks[1]
13035 assert.deepEqual(scriptHash, redeemScript.getHash(), 'RedeemScript does not match ' + scriptHash.toString('hex'))
13036 }
ebd8d4e8 13037
ab78acc6
IC
13038 var scriptType = scripts.classifyOutput(redeemScript)
13039 assert(scriptType in canSignTypes, 'RedeemScript not supported (' + scriptType + ')')
ebd8d4e8 13040
ab78acc6
IC
13041 var pubKeys = []
13042 switch (scriptType) {
13043 case 'multisig': {
13044 pubKeys = redeemScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
13045 break
13046 }
ebd8d4e8 13047
ab78acc6
IC
13048 case 'pubkeyhash': {
13049 var pkh1 = redeemScript.chunks[2]
13050 var pkh2 = privKey.pub.getAddress().hash
ebd8d4e8 13051
ab78acc6
IC
13052 assert.deepEqual(pkh1, pkh2, 'privateKey cannot sign for this input')
13053 pubKeys = [privKey.pub]
13054 break
13055 }
ebd8d4e8 13056
ab78acc6
IC
13057 case 'pubkey': {
13058 pubKeys = redeemScript.chunks.slice(0, 1).map(ECPubKey.fromBuffer)
13059 break
13060 }
13061 }
ebd8d4e8 13062
ab78acc6
IC
13063 if (!input.prevOutScript) {
13064 input.prevOutScript = scripts.scriptHashOutput(redeemScript.getHash())
13065 input.prevOutType = 'scripthash'
13066 }
ebd8d4e8 13067
ab78acc6
IC
13068 input.pubKeys = pubKeys
13069 input.redeemScript = redeemScript
13070 input.scriptType = scriptType
ebd8d4e8 13071
ab78acc6
IC
13072 // cannot be pay-to-scriptHash
13073 } else {
13074 assert.notEqual(input.prevOutType, 'scripthash', 'PrevOutScript is P2SH, missing redeemScript')
ebd8d4e8 13075
ab78acc6
IC
13076 // can we otherwise sign this?
13077 if (input.scriptType) {
13078 assert(input.pubKeys, input.scriptType + ' not supported')
ebd8d4e8 13079
ab78acc6
IC
13080 // we know nothin' Jon Snow, assume pubKeyHash
13081 } else {
13082 input.prevOutScript = privKey.pub.getAddress().toOutputScript()
13083 input.prevOutType = 'pubkeyhash'
13084 input.pubKeys = [privKey.pub]
13085 input.scriptType = input.prevOutType
13086 }
13087 }
ebd8d4e8 13088
ab78acc6
IC
13089 input.hashType = hashType
13090 input.signatures = input.signatures || []
13091 }
13092
13093 var signatureScript = input.redeemScript || input.prevOutScript
13094 var signatureHash = this.tx.hashForSignature(index, signatureScript, hashType)
13095
13096 // enforce signature order matches public keys
13097 if (input.scriptType === 'multisig' && input.redeemScript && input.signatures.length !== input.pubKeys.length) {
13098 // maintain a local copy of unmatched signatures
13099 var unmatched = input.signatures.slice()
13100
13101 input.signatures = input.pubKeys.map(function (pubKey) {
13102 var match
13103
13104 // check for any matching signatures
13105 unmatched.some(function (signature, i) {
13106 if (!pubKey.verify(signatureHash, signature)) return false
13107 match = signature
13108
13109 // remove matched signature from unmatched
13110 unmatched.splice(i, 1)
13111
13112 return true
13113 })
13114
13115 return match || undefined
13116 })
13117 }
13118
13119 // enforce in order signing of public keys
13120 assert(input.pubKeys.some(function (pubKey, i) {
13121 if (!privKey.pub.Q.equals(pubKey.Q)) return false
13122
13123 assert(!input.signatures[i], 'Signature already exists')
13124 var signature = privKey.sign(signatureHash)
13125 input.signatures[i] = signature
13126
13127 return true
13128 }, this), 'privateKey cannot sign for this input')
ebd8d4e8
IC
13129}
13130
ab78acc6 13131module.exports = TransactionBuilder
ebd8d4e8 13132
ab78acc6
IC
13133}).call(this,require("buffer").Buffer)
13134},{"./ecpubkey":61,"./ecsignature":62,"./opcodes":67,"./script":68,"./scripts":69,"./transaction":70,"assert":5,"buffer":7}],72:[function(require,module,exports){
ebd8d4e8 13135(function (Buffer){
ab78acc6
IC
13136var assert = require('assert')
13137var bufferutils = require('./bufferutils')
13138var typeForce = require('typeforce')
13139var networks = require('./networks')
13140var randomBytes = require('randombytes')
ebd8d4e8 13141
ab78acc6
IC
13142var Address = require('./address')
13143var HDNode = require('./hdnode')
13144var TransactionBuilder = require('./transaction_builder')
13145var Script = require('./script')
ebd8d4e8 13146
ab78acc6
IC
13147function Wallet (seed, network) {
13148 console.warn('Wallet is deprecated and will be removed in 2.0.0, see #296')
13149
13150 seed = seed || randomBytes(32)
ebd8d4e8
IC
13151 network = network || networks.bitcoin
13152
13153 // Stored in a closure to make accidental serialization less likely
ab78acc6
IC
13154 var masterKey = HDNode.fromSeedBuffer(seed, network)
13155
13156 // HD first-level child derivation method should be hardened
13157 // See https://bitcointalk.org/index.php?topic=405179.msg4415254#msg4415254
13158 var accountZero = masterKey.deriveHardened(0)
13159 var externalAccount = accountZero.derive(0)
13160 var internalAccount = accountZero.derive(1)
ebd8d4e8 13161
ebd8d4e8
IC
13162 this.addresses = []
13163 this.changeAddresses = []
ab78acc6
IC
13164 this.network = network
13165 this.unspents = []
ebd8d4e8 13166
ab78acc6
IC
13167 // FIXME: remove in 2.0.0
13168 this.unspentMap = {}
ebd8d4e8 13169
ab78acc6
IC
13170 // FIXME: remove in 2.0.0
13171 var me = this
13172 this.newMasterKey = function (seed) {
13173 console.warn('newMasterKey is deprecated, please make a new Wallet instance instead')
13174
13175 seed = seed || randomBytes(32)
13176 masterKey = HDNode.fromSeedBuffer(seed, network)
ebd8d4e8 13177
ab78acc6 13178 accountZero = masterKey.deriveHardened(0)
ebd8d4e8
IC
13179 externalAccount = accountZero.derive(0)
13180 internalAccount = accountZero.derive(1)
13181
13182 me.addresses = []
13183 me.changeAddresses = []
13184
ab78acc6
IC
13185 me.unspents = []
13186 me.unspentMap = {}
ebd8d4e8
IC
13187 }
13188
ab78acc6
IC
13189 this.getMasterKey = function () {
13190 return masterKey
ebd8d4e8 13191 }
ab78acc6
IC
13192 this.getAccountZero = function () {
13193 return accountZero
ebd8d4e8 13194 }
ab78acc6
IC
13195 this.getExternalAccount = function () {
13196 return externalAccount
13197 }
13198 this.getInternalAccount = function () {
13199 return internalAccount
ebd8d4e8 13200 }
ab78acc6 13201}
ebd8d4e8 13202
ab78acc6
IC
13203Wallet.prototype.createTransaction = function (to, value, options) {
13204 // FIXME: remove in 2.0.0
13205 if (typeof options !== 'object') {
13206 if (options !== undefined) {
13207 console.warn('Non options object parameters are deprecated, use options object instead')
ebd8d4e8 13208
ab78acc6
IC
13209 options = {
13210 fixedFee: arguments[2],
13211 changeAddress: arguments[3]
13212 }
ebd8d4e8 13213 }
ebd8d4e8
IC
13214 }
13215
ab78acc6 13216 options = options || {}
ebd8d4e8 13217
ab78acc6 13218 assert(value > this.network.dustThreshold, value + ' must be above dust threshold (' + this.network.dustThreshold + ' Satoshis)')
ebd8d4e8 13219
ab78acc6
IC
13220 var changeAddress = options.changeAddress
13221 var fixedFee = options.fixedFee
13222 var minConf = options.minConf === undefined ? 0 : options.minConf // FIXME: change minConf:1 by default in 2.0.0
ebd8d4e8 13223
ab78acc6
IC
13224 // filter by minConf, then pending and sort by descending value
13225 var unspents = this.unspents.filter(function (unspent) {
13226 return unspent.confirmations >= minConf
13227 }).filter(function (unspent) {
13228 return !unspent.pending
13229 }).sort(function (o1, o2) {
13230 return o2.value - o1.value
13231 })
ebd8d4e8 13232
ab78acc6
IC
13233 var accum = 0
13234 var addresses = []
13235 var subTotal = value
ebd8d4e8 13236
ab78acc6
IC
13237 var txb = new TransactionBuilder()
13238 txb.addOutput(to, value)
ebd8d4e8 13239
ab78acc6
IC
13240 for (var i = 0; i < unspents.length; ++i) {
13241 var unspent = unspents[i]
13242 addresses.push(unspent.address)
ebd8d4e8 13243
ab78acc6
IC
13244 txb.addInput(unspent.txHash, unspent.index)
13245
13246 var fee = fixedFee === undefined ? estimatePaddedFee(txb.buildIncomplete(), this.network) : fixedFee
ebd8d4e8 13247
ab78acc6
IC
13248 accum += unspent.value
13249 subTotal = value + fee
13250
13251 if (accum >= subTotal) {
13252 var change = accum - subTotal
13253
13254 if (change > this.network.dustThreshold) {
13255 txb.addOutput(changeAddress || this.getChangeAddress(), change)
ebd8d4e8 13256 }
ebd8d4e8 13257
ab78acc6 13258 break
ebd8d4e8
IC
13259 }
13260 }
13261
ab78acc6 13262 assert(accum >= subTotal, 'Not enough funds (incl. fee): ' + accum + ' < ' + subTotal)
ebd8d4e8 13263
ab78acc6
IC
13264 return this.signWith(txb, addresses).build()
13265}
ebd8d4e8 13266
ab78acc6
IC
13267// FIXME: remove in 2.0.0
13268Wallet.prototype.processPendingTx = function (tx) {
13269 this.__processTx(tx, true)
13270}
ebd8d4e8 13271
ab78acc6
IC
13272// FIXME: remove in 2.0.0
13273Wallet.prototype.processConfirmedTx = function (tx) {
13274 this.__processTx(tx, false)
13275}
ebd8d4e8 13276
ab78acc6
IC
13277// FIXME: remove in 2.0.0
13278Wallet.prototype.__processTx = function (tx, isPending) {
13279 console.warn('processTransaction is considered harmful, see issue #260 for more information')
ebd8d4e8 13280
ab78acc6
IC
13281 var txId = tx.getId()
13282 var txHash = tx.getHash()
ebd8d4e8 13283
ab78acc6
IC
13284 tx.outs.forEach(function (txOut, i) {
13285 var address
ebd8d4e8 13286
ab78acc6
IC
13287 try {
13288 address = Address.fromOutputScript(txOut.script, this.network).toString()
13289 } catch (e) {
13290 if (!(e.message.match(/has no matching Address/)))
13291 throw e
13292 }
13293
13294 var myAddresses = this.addresses.concat(this.changeAddresses)
13295 if (myAddresses.indexOf(address) > -1) {
13296 var lookup = txId + ':' + i
13297 if (lookup in this.unspentMap) return
13298
13299 // its unique, add it
13300 var unspent = {
13301 address: address,
13302 confirmations: 0, // no way to determine this without more information
13303 index: i,
13304 txHash: txHash,
13305 txId: txId,
13306 value: txOut.value,
13307 pending: isPending
ebd8d4e8 13308 }
ebd8d4e8 13309
ab78acc6
IC
13310 this.unspentMap[lookup] = unspent
13311 this.unspents.push(unspent)
13312 }
13313 }, this)
ebd8d4e8 13314
ab78acc6
IC
13315 tx.ins.forEach(function (txIn) {
13316 // copy and convert to big-endian hex
13317 var txInId = bufferutils.reverse(txIn.hash).toString('hex')
ebd8d4e8 13318
ab78acc6
IC
13319 var lookup = txInId + ':' + txIn.index
13320 if (!(lookup in this.unspentMap)) return
ebd8d4e8 13321
ab78acc6 13322 var unspent = this.unspentMap[lookup]
ebd8d4e8 13323
ab78acc6
IC
13324 if (isPending) {
13325 unspent.pending = true
13326 unspent.spent = true
13327 } else {
13328 delete this.unspentMap[lookup]
ebd8d4e8 13329
ab78acc6
IC
13330 this.unspents = this.unspents.filter(function (unspent2) {
13331 return unspent !== unspent2
13332 })
13333 }
13334 }, this)
13335}
ebd8d4e8 13336
ab78acc6
IC
13337Wallet.prototype.generateAddress = function () {
13338 var k = this.addresses.length
13339 var address = this.getExternalAccount().derive(k).getAddress()
ebd8d4e8 13340
ab78acc6 13341 this.addresses.push(address.toString())
ebd8d4e8 13342
ab78acc6
IC
13343 return this.getReceiveAddress()
13344}
ebd8d4e8 13345
ab78acc6
IC
13346Wallet.prototype.generateChangeAddress = function () {
13347 var k = this.changeAddresses.length
13348 var address = this.getInternalAccount().derive(k).getAddress()
ebd8d4e8 13349
ab78acc6 13350 this.changeAddresses.push(address.toString())
ebd8d4e8 13351
ab78acc6
IC
13352 return this.getChangeAddress()
13353}
ebd8d4e8 13354
ab78acc6
IC
13355Wallet.prototype.getAddress = function () {
13356 if (this.addresses.length === 0) {
13357 this.generateAddress()
ebd8d4e8
IC
13358 }
13359
ab78acc6
IC
13360 return this.addresses[this.addresses.length - 1]
13361}
ebd8d4e8 13362
ab78acc6
IC
13363Wallet.prototype.getBalance = function (minConf) {
13364 minConf = minConf || 0
ebd8d4e8 13365
ab78acc6
IC
13366 return this.unspents.filter(function (unspent) {
13367 return unspent.confirmations >= minConf
13368
13369 // FIXME: remove spent filter in 2.0.0
13370 }).filter(function (unspent) {
13371 return !unspent.spent
13372 }).reduce(function (accum, unspent) {
13373 return accum + unspent.value
13374 }, 0)
13375}
ebd8d4e8 13376
ab78acc6
IC
13377Wallet.prototype.getChangeAddress = function () {
13378 if (this.changeAddresses.length === 0) {
13379 this.generateChangeAddress()
ebd8d4e8
IC
13380 }
13381
ab78acc6
IC
13382 return this.changeAddresses[this.changeAddresses.length - 1]
13383}
13384
13385Wallet.prototype.getInternalPrivateKey = function (index) {
13386 return this.getInternalAccount().derive(index).privKey
13387}
13388
13389Wallet.prototype.getPrivateKey = function (index) {
13390 return this.getExternalAccount().derive(index).privKey
13391}
13392
13393Wallet.prototype.getPrivateKeyForAddress = function (address) {
13394 var index
ebd8d4e8 13395
ab78acc6
IC
13396 if ((index = this.addresses.indexOf(address)) > -1) {
13397 return this.getPrivateKey(index)
ebd8d4e8
IC
13398 }
13399
ab78acc6
IC
13400 if ((index = this.changeAddresses.indexOf(address)) > -1) {
13401 return this.getInternalPrivateKey(index)
ebd8d4e8
IC
13402 }
13403
ab78acc6
IC
13404 assert(false, 'Unknown address. Make sure the address is from the keychain and has been generated')
13405}
ebd8d4e8 13406
ab78acc6
IC
13407Wallet.prototype.getUnspentOutputs = function (minConf) {
13408 minConf = minConf || 0
ebd8d4e8 13409
ab78acc6
IC
13410 return this.unspents.filter(function (unspent) {
13411 return unspent.confirmations >= minConf
ebd8d4e8 13412
ab78acc6
IC
13413 // FIXME: remove spent filter in 2.0.0
13414 }).filter(function (unspent) {
13415 return !unspent.spent
13416 }).map(function (unspent) {
13417 return {
13418 address: unspent.address,
13419 confirmations: unspent.confirmations,
13420 index: unspent.index,
13421 txId: unspent.txId,
13422 value: unspent.value,
13423
13424 // FIXME: remove in 2.0.0
13425 hash: unspent.txId,
13426 pending: unspent.pending
13427 }
13428 })
13429}
ebd8d4e8 13430
ab78acc6
IC
13431Wallet.prototype.setUnspentOutputs = function (unspents) {
13432 this.unspentMap = {}
13433 this.unspents = unspents.map(function (unspent) {
13434 // FIXME: remove unspent.hash in 2.0.0
13435 var txId = unspent.txId || unspent.hash
13436 var index = unspent.index
ebd8d4e8 13437
ab78acc6
IC
13438 // FIXME: remove in 2.0.0
13439 if (unspent.hash !== undefined) {
13440 console.warn('unspent.hash is deprecated, use unspent.txId instead')
13441 }
ebd8d4e8 13442
ab78acc6
IC
13443 // FIXME: remove in 2.0.0
13444 if (index === undefined) {
13445 console.warn('unspent.outputIndex is deprecated, use unspent.index instead')
13446 index = unspent.outputIndex
13447 }
ebd8d4e8 13448
ab78acc6
IC
13449 typeForce('String', txId)
13450 typeForce('Number', index)
13451 typeForce('Number', unspent.value)
13452
13453 assert.equal(txId.length, 64, 'Expected valid txId, got ' + txId)
13454 assert.doesNotThrow(function () {
13455 Address.fromBase58Check(unspent.address)
13456 }, 'Expected Base58 Address, got ' + unspent.address)
13457 assert(isFinite(index), 'Expected finite index, got ' + index)
13458
13459 // FIXME: remove branch in 2.0.0
13460 if (unspent.confirmations !== undefined) {
13461 typeForce('Number', unspent.confirmations)
ebd8d4e8 13462 }
ebd8d4e8 13463
ab78acc6 13464 var txHash = bufferutils.reverse(new Buffer(txId, 'hex'))
ebd8d4e8 13465
ab78acc6
IC
13466 unspent = {
13467 address: unspent.address,
13468 confirmations: unspent.confirmations || 0,
13469 index: index,
13470 txHash: txHash,
13471 txId: txId,
13472 value: unspent.value,
ebd8d4e8 13473
ab78acc6
IC
13474 // FIXME: remove in 2.0.0
13475 pending: unspent.pending || false
13476 }
13477
13478 // FIXME: remove in 2.0.0
13479 this.unspentMap[txId + ':' + index] = unspent
13480
13481 return unspent
13482 }, this)
13483}
13484
13485Wallet.prototype.signWith = function (tx, addresses) {
13486 addresses.forEach(function (address, i) {
13487 var privKey = this.getPrivateKeyForAddress(address)
13488
13489 tx.sign(i, privKey)
13490 }, this)
13491
13492 return tx
13493}
13494
13495function estimatePaddedFee (tx, network) {
13496 var tmpTx = tx.clone()
13497 tmpTx.addOutput(Script.EMPTY, network.dustSoftThreshold || 0)
13498
13499 return network.estimateFee(tmpTx)
ebd8d4e8
IC
13500}
13501
ab78acc6
IC
13502// FIXME: 1.0.0 shims, remove in 2.0.0
13503Wallet.prototype.getReceiveAddress = Wallet.prototype.getAddress
13504Wallet.prototype.createTx = Wallet.prototype.createTransaction
13505
ebd8d4e8
IC
13506module.exports = Wallet
13507
ab78acc6
IC
13508}).call(this,require("buffer").Buffer)
13509},{"./address":54,"./bufferutils":57,"./hdnode":63,"./networks":66,"./script":68,"./transaction_builder":71,"assert":5,"buffer":7,"randombytes":52,"typeforce":53}]},{},[64])(64)
13510});</script>
d5dc92fd
IC
13511 <script>bitcoin.networks.shadow = {
13512 magicPrefix: '\x19ShadowCash Signed Message:\n',
13513 bip32: {
13514 public: 0xEE80286A,
13515 private: 0xEE8031E8
13516 },
13517 pubKeyHash: 0x3f,
13518 scriptHash: 0x7d,
13519 wif: 0xbf,
13520 dustThreshold: 0,
13521 feePerKb: 1000,
13522 estimateFee: function() { return "unused in this app" },
13523};
13524
13525bitcoin.networks.shadowtn = {
13526 magicPrefix: '\x19ShadowCash Signed Message:\n',
13527 bip32: {
13528 public: 0x76C0FDFB,
13529 private: 0x76C1077A
13530 },
13531 pubKeyHash: 0x7f,
13532 scriptHash: 0xc4,
13533 wif: 0xff,
13534 dustThreshold: 0,
13535 feePerKb: 1000,
13536 estimateFee: function() { return "unused in this app" },
13537};
5c434a8a
CM
13538
13539bitcoin.networks.clam = {
13540 bip32: {
13541 public: 0xa8c26d64,
13542 private: 0xa8c17826
13543 },
13544 pubKeyHash: 0x89,
13545 wif: 0x85,
13546};
5493efc3 13547
13548bitcoin.networks.dash = {
13549 bip32: {
13550 public: 0x0488b21e,
13551 private: 0x0488ade4
13552 },
68151a47 13553 pubKeyHash: 0x4c,
5493efc3 13554 scriptHash: 0x10,
13555 wif: 0xcc,
13556};
13557
07ac4350 13558bitcoin.networks.namecoin = {
13559 bip32: {
13560 public: 0x0488b21e,
13561 private: 0x0488ade4
13562 },
13563 pubKeyHash: 0x34,
13564 //scriptHash: 0x10,
13565 wif: 0x80,
13566};
13567
13568bitcoin.networks.peercoin = {
13569 bip32: {
13570 public: 0x0488b21e,
13571 private: 0x0488ade4
13572 },
13573 pubKeyHash: 0x37,
13574 //scriptHash: 0x10,
13575 wif: 0xb7,
13576};
13577
d5dc92fd 13578</script>
ab78acc6 13579 <script>// Select components from sjcl to suit the crypto operations bip39 requires.
80c4dd2a
IC
13580
13581//// base.js
13582
13583/** @fileOverview Javascript cryptography implementation.
13584 *
13585 * Crush to remove comments, shorten variable names and
13586 * generally reduce transmission size.
13587 *
13588 * @author Emily Stark
13589 * @author Mike Hamburg
13590 * @author Dan Boneh
13591 */
13592
13593"use strict";
13594/*jslint indent: 2, bitwise: false, nomen: false, plusplus: false, white: false, regexp: false */
13595/*global document, window, escape, unescape, module, require, Uint32Array */
13596
13597/** @namespace The Stanford Javascript Crypto Library, top-level namespace. */
13598var sjcl = {
13599 /** @namespace Symmetric ciphers. */
13600 cipher: {},
13601
13602 /** @namespace Hash functions. Right now only SHA256 is implemented. */
13603 hash: {},
13604
13605 /** @namespace Key exchange functions. Right now only SRP is implemented. */
13606 keyexchange: {},
13607
13608 /** @namespace Block cipher modes of operation. */
13609 mode: {},
13610
13611 /** @namespace Miscellaneous. HMAC and PBKDF2. */
13612 misc: {},
13613
13614 /**
13615 * @namespace Bit array encoders and decoders.
13616 *
13617 * @description
13618 * The members of this namespace are functions which translate between
13619 * SJCL's bitArrays and other objects (usually strings). Because it
13620 * isn't always clear which direction is encoding and which is decoding,
13621 * the method names are "fromBits" and "toBits".
13622 */
13623 codec: {},
13624
13625 /** @namespace Exceptions. */
13626 exception: {
13627 /** @constructor Ciphertext is corrupt. */
13628 corrupt: function(message) {
13629 this.toString = function() { return "CORRUPT: "+this.message; };
13630 this.message = message;
13631 },
13632
13633 /** @constructor Invalid parameter. */
13634 invalid: function(message) {
13635 this.toString = function() { return "INVALID: "+this.message; };
13636 this.message = message;
13637 },
13638
13639 /** @constructor Bug or missing feature in SJCL. @constructor */
13640 bug: function(message) {
13641 this.toString = function() { return "BUG: "+this.message; };
13642 this.message = message;
13643 },
13644
13645 /** @constructor Something isn't ready. */
13646 notReady: function(message) {
13647 this.toString = function() { return "NOT READY: "+this.message; };
13648 this.message = message;
ebd8d4e8 13649 }
80c4dd2a
IC
13650 }
13651};
13652
13653if(typeof module !== 'undefined' && module.exports){
13654 module.exports = sjcl;
13655}
13656if (typeof define === "function") {
13657 define([], function () {
13658 return sjcl;
13659 });
13660}
13661
13662
13663//// bitArray.js
13664
13665/** @fileOverview Arrays of bits, encoded as arrays of Numbers.
13666 *
13667 * @author Emily Stark
13668 * @author Mike Hamburg
13669 * @author Dan Boneh
13670 */
13671
13672/** @namespace Arrays of bits, encoded as arrays of Numbers.
13673 *
13674 * @description
13675 * <p>
13676 * These objects are the currency accepted by SJCL's crypto functions.
13677 * </p>
13678 *
13679 * <p>
13680 * Most of our crypto primitives operate on arrays of 4-byte words internally,
13681 * but many of them can take arguments that are not a multiple of 4 bytes.
13682 * This library encodes arrays of bits (whose size need not be a multiple of 8
13683 * bits) as arrays of 32-bit words. The bits are packed, big-endian, into an
13684 * array of words, 32 bits at a time. Since the words are double-precision
13685 * floating point numbers, they fit some extra data. We use this (in a private,
13686 * possibly-changing manner) to encode the number of bits actually present
13687 * in the last word of the array.
13688 * </p>
13689 *
13690 * <p>
13691 * Because bitwise ops clear this out-of-band data, these arrays can be passed
13692 * to ciphers like AES which want arrays of words.
13693 * </p>
13694 */
13695sjcl.bitArray = {
13696 /**
13697 * Array slices in units of bits.
13698 * @param {bitArray} a The array to slice.
13699 * @param {Number} bstart The offset to the start of the slice, in bits.
13700 * @param {Number} bend The offset to the end of the slice, in bits. If this is undefined,
13701 * slice until the end of the array.
13702 * @return {bitArray} The requested slice.
13703 */
13704 bitSlice: function (a, bstart, bend) {
13705 a = sjcl.bitArray._shiftRight(a.slice(bstart/32), 32 - (bstart & 31)).slice(1);
13706 return (bend === undefined) ? a : sjcl.bitArray.clamp(a, bend-bstart);
13707 },
13708
13709 /**
13710 * Extract a number packed into a bit array.
13711 * @param {bitArray} a The array to slice.
13712 * @param {Number} bstart The offset to the start of the slice, in bits.
13713 * @param {Number} length The length of the number to extract.
13714 * @return {Number} The requested slice.
13715 */
13716 extract: function(a, bstart, blength) {
13717 // FIXME: this Math.floor is not necessary at all, but for some reason
13718 // seems to suppress a bug in the Chromium JIT.
13719 var x, sh = Math.floor((-bstart-blength) & 31);
13720 if ((bstart + blength - 1 ^ bstart) & -32) {
13721 // it crosses a boundary
13722 x = (a[bstart/32|0] << (32 - sh)) ^ (a[bstart/32+1|0] >>> sh);
13723 } else {
13724 // within a single word
13725 x = a[bstart/32|0] >>> sh;
ebd8d4e8 13726 }
80c4dd2a
IC
13727 return x & ((1<<blength) - 1);
13728 },
13729
13730 /**
13731 * Concatenate two bit arrays.
13732 * @param {bitArray} a1 The first array.
13733 * @param {bitArray} a2 The second array.
13734 * @return {bitArray} The concatenation of a1 and a2.
13735 */
13736 concat: function (a1, a2) {
13737 if (a1.length === 0 || a2.length === 0) {
13738 return a1.concat(a2);
13739 }
13740
13741 var last = a1[a1.length-1], shift = sjcl.bitArray.getPartial(last);
13742 if (shift === 32) {
13743 return a1.concat(a2);
13744 } else {
13745 return sjcl.bitArray._shiftRight(a2, shift, last|0, a1.slice(0,a1.length-1));
ebd8d4e8 13746 }
80c4dd2a
IC
13747 },
13748
13749 /**
13750 * Find the length of an array of bits.
13751 * @param {bitArray} a The array.
13752 * @return {Number} The length of a, in bits.
13753 */
13754 bitLength: function (a) {
13755 var l = a.length, x;
13756 if (l === 0) { return 0; }
13757 x = a[l - 1];
13758 return (l-1) * 32 + sjcl.bitArray.getPartial(x);
13759 },
13760
13761 /**
13762 * Truncate an array.
13763 * @param {bitArray} a The array.
13764 * @param {Number} len The length to truncate to, in bits.
13765 * @return {bitArray} A new array, truncated to len bits.
13766 */
13767 clamp: function (a, len) {
13768 if (a.length * 32 < len) { return a; }
13769 a = a.slice(0, Math.ceil(len / 32));
13770 var l = a.length;
13771 len = len & 31;
13772 if (l > 0 && len) {
13773 a[l-1] = sjcl.bitArray.partial(len, a[l-1] & 0x80000000 >> (len-1), 1);
13774 }
13775 return a;
13776 },
13777
13778 /**
13779 * Make a partial word for a bit array.
13780 * @param {Number} len The number of bits in the word.
13781 * @param {Number} x The bits.
13782 * @param {Number} [0] _end Pass 1 if x has already been shifted to the high side.
13783 * @return {Number} The partial word.
13784 */
13785 partial: function (len, x, _end) {
13786 if (len === 32) { return x; }
13787 return (_end ? x|0 : x << (32-len)) + len * 0x10000000000;
13788 },
13789
13790 /**
13791 * Get the number of bits used by a partial word.
13792 * @param {Number} x The partial word.
13793 * @return {Number} The number of bits used by the partial word.
13794 */
13795 getPartial: function (x) {
13796 return Math.round(x/0x10000000000) || 32;
13797 },
13798
13799 /**
13800 * Compare two arrays for equality in a predictable amount of time.
13801 * @param {bitArray} a The first array.
13802 * @param {bitArray} b The second array.
13803 * @return {boolean} true if a == b; false otherwise.
13804 */
13805 equal: function (a, b) {
13806 if (sjcl.bitArray.bitLength(a) !== sjcl.bitArray.bitLength(b)) {
13807 return false;
ebd8d4e8 13808 }
80c4dd2a
IC
13809 var x = 0, i;
13810 for (i=0; i<a.length; i++) {
13811 x |= a[i]^b[i];
ebd8d4e8 13812 }
80c4dd2a
IC
13813 return (x === 0);
13814 },
13815
13816 /** Shift an array right.
13817 * @param {bitArray} a The array to shift.
13818 * @param {Number} shift The number of bits to shift.
13819 * @param {Number} [carry=0] A byte to carry in
13820 * @param {bitArray} [out=[]] An array to prepend to the output.
13821 * @private
13822 */
13823 _shiftRight: function (a, shift, carry, out) {
13824 var i, last2=0, shift2;
13825 if (out === undefined) { out = []; }
13826
13827 for (; shift >= 32; shift -= 32) {
13828 out.push(carry);
13829 carry = 0;
13830 }
13831 if (shift === 0) {
13832 return out.concat(a);
13833 }
13834
13835 for (i=0; i<a.length; i++) {
13836 out.push(carry | a[i]>>>shift);
13837 carry = a[i] << (32-shift);
13838 }
13839 last2 = a.length ? a[a.length-1] : 0;
13840 shift2 = sjcl.bitArray.getPartial(last2);
13841 out.push(sjcl.bitArray.partial(shift+shift2 & 31, (shift + shift2 > 32) ? carry : out.pop(),1));
13842 return out;
13843 },
13844
13845 /** xor a block of 4 words together.
13846 * @private
13847 */
13848 _xor4: function(x,y) {
13849 return [x[0]^y[0],x[1]^y[1],x[2]^y[2],x[3]^y[3]];
13850 },
13851
13852 /** byteswap a word array inplace.
13853 * (does not handle partial words)
13854 * @param {sjcl.bitArray} a word array
13855 * @return {sjcl.bitArray} byteswapped array
13856 */
13857 byteswapM: function(a) {
13858 var i, v, m = 0xff00;
13859 for (i = 0; i < a.length; ++i) {
13860 v = a[i];
13861 a[i] = (v >>> 24) | ((v >>> 8) & m) | ((v & m) << 8) | (v << 24);
ebd8d4e8 13862 }
80c4dd2a
IC
13863 return a;
13864 }
13865};
13866
13867
13868//// codecString.js
13869
13870/** @fileOverview Bit array codec implementations.
13871 *
13872 * @author Emily Stark
13873 * @author Mike Hamburg
13874 * @author Dan Boneh
13875 */
13876
13877/** @namespace UTF-8 strings */
13878sjcl.codec.utf8String = {
13879 /** Convert from a bitArray to a UTF-8 string. */
13880 fromBits: function (arr) {
13881 var out = "", bl = sjcl.bitArray.bitLength(arr), i, tmp;
13882 for (i=0; i<bl/8; i++) {
13883 if ((i&3) === 0) {
13884 tmp = arr[i/4];
13885 }
13886 out += String.fromCharCode(tmp >>> 24);
13887 tmp <<= 8;
ebd8d4e8 13888 }
80c4dd2a
IC
13889 return decodeURIComponent(escape(out));
13890 },
13891
13892 /** Convert from a UTF-8 string to a bitArray. */
13893 toBits: function (str) {
13894 str = unescape(encodeURIComponent(str));
13895 var out = [], i, tmp=0;
13896 for (i=0; i<str.length; i++) {
13897 tmp = tmp << 8 | str.charCodeAt(i);
13898 if ((i&3) === 3) {
13899 out.push(tmp);
13900 tmp = 0;
13901 }
ebd8d4e8 13902 }
80c4dd2a
IC
13903 if (i&3) {
13904 out.push(sjcl.bitArray.partial(8*(i&3), tmp));
ebd8d4e8 13905 }
80c4dd2a
IC
13906 return out;
13907 }
13908};
13909
13910
13911//// codecHex.js
13912
13913/** @fileOverview Bit array codec implementations.
13914 *
13915 * @author Emily Stark
13916 * @author Mike Hamburg
13917 * @author Dan Boneh
13918 */
13919
13920/** @namespace Hexadecimal */
13921sjcl.codec.hex = {
13922 /** Convert from a bitArray to a hex string. */
13923 fromBits: function (arr) {
13924 var out = "", i;
13925 for (i=0; i<arr.length; i++) {
13926 out += ((arr[i]|0)+0xF00000000000).toString(16).substr(4);
ebd8d4e8 13927 }
80c4dd2a
IC
13928 return out.substr(0, sjcl.bitArray.bitLength(arr)/4);//.replace(/(.{8})/g, "$1 ");
13929 },
13930 /** Convert from a hex string to a bitArray. */
13931 toBits: function (str) {
13932 var i, out=[], len;
13933 str = str.replace(/\s|0x/g, "");
13934 len = str.length;
13935 str = str + "00000000";
13936 for (i=0; i<str.length; i+=8) {
13937 out.push(parseInt(str.substr(i,8),16)^0);
ebd8d4e8 13938 }
80c4dd2a
IC
13939 return sjcl.bitArray.clamp(out, len*4);
13940 }
13941};
13942
13943
13944//// sha512.js
13945
13946/** @fileOverview Javascript SHA-512 implementation.
13947 *
13948 * This implementation was written for CryptoJS by Jeff Mott and adapted for
13949 * SJCL by Stefan Thomas.
13950 *
13951 * CryptoJS (c) 2009–2012 by Jeff Mott. All rights reserved.
13952 * Released with New BSD License
13953 *
13954 * @author Emily Stark
13955 * @author Mike Hamburg
13956 * @author Dan Boneh
13957 * @author Jeff Mott
13958 * @author Stefan Thomas
13959 */
13960
13961/**
13962 * Context for a SHA-512 operation in progress.
13963 * @constructor
13964 * @class Secure Hash Algorithm, 512 bits.
13965 */
13966sjcl.hash.sha512 = function (hash) {
13967 if (!this._key[0]) { this._precompute(); }
13968 if (hash) {
13969 this._h = hash._h.slice(0);
13970 this._buffer = hash._buffer.slice(0);
13971 this._length = hash._length;
13972 } else {
13973 this.reset();
13974 }
13975};
13976
13977/**
13978 * Hash a string or an array of words.
13979 * @static
13980 * @param {bitArray|String} data the data to hash.
13981 * @return {bitArray} The hash value, an array of 16 big-endian words.
13982 */
13983sjcl.hash.sha512.hash = function (data) {
13984 return (new sjcl.hash.sha512()).update(data).finalize();
13985};
13986
13987sjcl.hash.sha512.prototype = {
13988 /**
13989 * The hash's block size, in bits.
13990 * @constant
13991 */
13992 blockSize: 1024,
13993
13994 /**
13995 * Reset the hash state.
13996 * @return this
13997 */
13998 reset:function () {
13999 this._h = this._init.slice(0);
14000 this._buffer = [];
14001 this._length = 0;
14002 return this;
14003 },
14004
14005 /**
14006 * Input several words to the hash.
14007 * @param {bitArray|String} data the data to hash.
14008 * @return this
14009 */
14010 update: function (data) {
14011 if (typeof data === "string") {
14012 data = sjcl.codec.utf8String.toBits(data);
ebd8d4e8 14013 }
80c4dd2a
IC
14014 var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
14015 ol = this._length,
14016 nl = this._length = ol + sjcl.bitArray.bitLength(data);
14017 for (i = 1024+ol & -1024; i <= nl; i+= 1024) {
14018 this._block(b.splice(0,32));
ebd8d4e8 14019 }
80c4dd2a
IC
14020 return this;
14021 },
14022
14023 /**
14024 * Complete hashing and output the hash value.
14025 * @return {bitArray} The hash value, an array of 16 big-endian words.
14026 */
14027 finalize:function () {
14028 var i, b = this._buffer, h = this._h;
14029
14030 // Round out and push the buffer
14031 b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
14032
14033 // Round out the buffer to a multiple of 32 words, less the 4 length words.
14034 for (i = b.length + 4; i & 31; i++) {
14035 b.push(0);
ebd8d4e8 14036 }
80c4dd2a
IC
14037
14038 // append the length
14039 b.push(0);
14040 b.push(0);
14041 b.push(Math.floor(this._length / 0x100000000));
14042 b.push(this._length | 0);
14043
14044 while (b.length) {
14045 this._block(b.splice(0,32));
ebd8d4e8 14046 }
80c4dd2a
IC
14047
14048 this.reset();
14049 return h;
14050 },
14051
14052 /**
14053 * The SHA-512 initialization vector, to be precomputed.
14054 * @private
14055 */
14056 _init:[],
14057
14058 /**
14059 * Least significant 24 bits of SHA512 initialization values.
14060 *
14061 * Javascript only has 53 bits of precision, so we compute the 40 most
14062 * significant bits and add the remaining 24 bits as constants.
14063 *
14064 * @private
14065 */
14066 _initr: [ 0xbcc908, 0xcaa73b, 0x94f82b, 0x1d36f1, 0xe682d1, 0x3e6c1f, 0x41bd6b, 0x7e2179 ],
14067
14068 /*
14069 _init:
14070 [0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b, 0x3c6ef372, 0xfe94f82b, 0xa54ff53a, 0x5f1d36f1,
14071 0x510e527f, 0xade682d1, 0x9b05688c, 0x2b3e6c1f, 0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19, 0x137e2179],
14072 */
14073
14074 /**
14075 * The SHA-512 hash key, to be precomputed.
14076 * @private
14077 */
14078 _key:[],
14079
14080 /**
14081 * Least significant 24 bits of SHA512 key values.
14082 * @private
14083 */
14084 _keyr:
14085 [0x28ae22, 0xef65cd, 0x4d3b2f, 0x89dbbc, 0x48b538, 0x05d019, 0x194f9b, 0x6d8118,
14086 0x030242, 0x706fbe, 0xe4b28c, 0xffb4e2, 0x7b896f, 0x1696b1, 0xc71235, 0x692694,
14087 0xf14ad2, 0x4f25e3, 0x8cd5b5, 0xac9c65, 0x2b0275, 0xa6e483, 0x41fbd4, 0x1153b5,
14088 0x66dfab, 0xb43210, 0xfb213f, 0xef0ee4, 0xa88fc2, 0x0aa725, 0x03826f, 0x0e6e70,
14089 0xd22ffc, 0x26c926, 0xc42aed, 0x95b3df, 0xaf63de, 0x77b2a8, 0xedaee6, 0x82353b,
14090 0xf10364, 0x423001, 0xf89791, 0x54be30, 0xef5218, 0x65a910, 0x71202a, 0xbbd1b8,
14091 0xd2d0c8, 0x41ab53, 0x8eeb99, 0x9b48a8, 0xc95a63, 0x418acb, 0x63e373, 0xb2b8a3,
14092 0xefb2fc, 0x172f60, 0xf0ab72, 0x6439ec, 0x631e28, 0x82bde9, 0xc67915, 0x72532b,
14093 0x26619c, 0xc0c207, 0xe0eb1e, 0x6ed178, 0x176fba, 0xc898a6, 0xf90dae, 0x1c471b,
14094 0x047d84, 0xc72493, 0xc9bebc, 0x100d4c, 0x3e42b6, 0x657e2a, 0xd6faec, 0x475817],
14095
14096 /*
14097 _key:
14098 [0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
14099 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
14100 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
14101 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
14102 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
14103 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
14104 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
14105 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
14106 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
14107 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
14108 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
14109 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
14110 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
14111 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
14112 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
14113 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
14114 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
14115 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
14116 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
14117 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817],
14118 */
14119
14120 /**
14121 * Function to precompute _init and _key.
14122 * @private
14123 */
14124 _precompute: function () {
14125 // XXX: This code is for precomputing the SHA256 constants, change for
14126 // SHA512 and re-enable.
14127 var i = 0, prime = 2, factor;
14128
14129 function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }
14130 function frac2(x) { return (x-Math.floor(x)) * 0x10000000000 & 0xff; }
14131
14132 outer: for (; i<80; prime++) {
14133 for (factor=2; factor*factor <= prime; factor++) {
14134 if (prime % factor === 0) {
14135 // not a prime
14136 continue outer;
ebd8d4e8 14137 }
80c4dd2a
IC
14138 }
14139
14140 if (i<8) {
14141 this._init[i*2] = frac(Math.pow(prime, 1/2));
14142 this._init[i*2+1] = (frac2(Math.pow(prime, 1/2)) << 24) | this._initr[i];
14143 }
14144 this._key[i*2] = frac(Math.pow(prime, 1/3));
14145 this._key[i*2+1] = (frac2(Math.pow(prime, 1/3)) << 24) | this._keyr[i];
14146 i++;
ebd8d4e8 14147 }
80c4dd2a
IC
14148 },
14149
14150 /**
14151 * Perform one cycle of SHA-512.
14152 * @param {bitArray} words one block of words.
14153 * @private
14154 */
14155 _block:function (words) {
14156 var i, wrh, wrl,
14157 w = words.slice(0),
14158 h = this._h,
14159 k = this._key,
14160 h0h = h[ 0], h0l = h[ 1], h1h = h[ 2], h1l = h[ 3],
14161 h2h = h[ 4], h2l = h[ 5], h3h = h[ 6], h3l = h[ 7],
14162 h4h = h[ 8], h4l = h[ 9], h5h = h[10], h5l = h[11],
14163 h6h = h[12], h6l = h[13], h7h = h[14], h7l = h[15];
14164
14165 // Working variables
14166 var ah = h0h, al = h0l, bh = h1h, bl = h1l,
14167 ch = h2h, cl = h2l, dh = h3h, dl = h3l,
14168 eh = h4h, el = h4l, fh = h5h, fl = h5l,
14169 gh = h6h, gl = h6l, hh = h7h, hl = h7l;
14170
14171 for (i=0; i<80; i++) {
14172 // load up the input word for this round
14173 if (i<16) {
14174 wrh = w[i * 2];
14175 wrl = w[i * 2 + 1];
14176 } else {
14177 // Gamma0
14178 var gamma0xh = w[(i-15) * 2];
14179 var gamma0xl = w[(i-15) * 2 + 1];
14180 var gamma0h =
14181 ((gamma0xl << 31) | (gamma0xh >>> 1)) ^
14182 ((gamma0xl << 24) | (gamma0xh >>> 8)) ^
14183 (gamma0xh >>> 7);
14184 var gamma0l =
14185 ((gamma0xh << 31) | (gamma0xl >>> 1)) ^
14186 ((gamma0xh << 24) | (gamma0xl >>> 8)) ^
14187 ((gamma0xh << 25) | (gamma0xl >>> 7));
14188
14189 // Gamma1
14190 var gamma1xh = w[(i-2) * 2];
14191 var gamma1xl = w[(i-2) * 2 + 1];
14192 var gamma1h =
14193 ((gamma1xl << 13) | (gamma1xh >>> 19)) ^
14194 ((gamma1xh << 3) | (gamma1xl >>> 29)) ^
14195 (gamma1xh >>> 6);
14196 var gamma1l =
14197 ((gamma1xh << 13) | (gamma1xl >>> 19)) ^
14198 ((gamma1xl << 3) | (gamma1xh >>> 29)) ^
14199 ((gamma1xh << 26) | (gamma1xl >>> 6));
14200
14201 // Shortcuts
14202 var wr7h = w[(i-7) * 2];
14203 var wr7l = w[(i-7) * 2 + 1];
14204
14205 var wr16h = w[(i-16) * 2];
14206 var wr16l = w[(i-16) * 2 + 1];
14207
14208 // W(round) = gamma0 + W(round - 7) + gamma1 + W(round - 16)
14209 wrl = gamma0l + wr7l;
14210 wrh = gamma0h + wr7h + ((wrl >>> 0) < (gamma0l >>> 0) ? 1 : 0);
14211 wrl += gamma1l;
14212 wrh += gamma1h + ((wrl >>> 0) < (gamma1l >>> 0) ? 1 : 0);
14213 wrl += wr16l;
14214 wrh += wr16h + ((wrl >>> 0) < (wr16l >>> 0) ? 1 : 0);
14215 }
14216
14217 w[i*2] = wrh |= 0;
14218 w[i*2 + 1] = wrl |= 0;
14219
14220 // Ch
14221 var chh = (eh & fh) ^ (~eh & gh);
14222 var chl = (el & fl) ^ (~el & gl);
14223
14224 // Maj
14225 var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch);
14226 var majl = (al & bl) ^ (al & cl) ^ (bl & cl);
14227
14228 // Sigma0
14229 var sigma0h = ((al << 4) | (ah >>> 28)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7));
14230 var sigma0l = ((ah << 4) | (al >>> 28)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7));
14231
14232 // Sigma1
14233 var sigma1h = ((el << 18) | (eh >>> 14)) ^ ((el << 14) | (eh >>> 18)) ^ ((eh << 23) | (el >>> 9));
14234 var sigma1l = ((eh << 18) | (el >>> 14)) ^ ((eh << 14) | (el >>> 18)) ^ ((el << 23) | (eh >>> 9));
14235
14236 // K(round)
14237 var krh = k[i*2];
14238 var krl = k[i*2+1];
14239
14240 // t1 = h + sigma1 + ch + K(round) + W(round)
14241 var t1l = hl + sigma1l;
14242 var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0);
14243 t1l += chl;
14244 t1h += chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0);
14245 t1l += krl;
14246 t1h += krh + ((t1l >>> 0) < (krl >>> 0) ? 1 : 0);
14247 t1l = t1l + wrl|0; // FF32..FF34 perf issue https://bugzilla.mozilla.org/show_bug.cgi?id=1054972
14248 t1h += wrh + ((t1l >>> 0) < (wrl >>> 0) ? 1 : 0);
14249
14250 // t2 = sigma0 + maj
14251 var t2l = sigma0l + majl;
14252 var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0);
14253
14254 // Update working variables
14255 hh = gh;
14256 hl = gl;
14257 gh = fh;
14258 gl = fl;
14259 fh = eh;
14260 fl = el;
14261 el = (dl + t1l) | 0;
14262 eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
14263 dh = ch;
14264 dl = cl;
14265 ch = bh;
14266 cl = bl;
14267 bh = ah;
14268 bl = al;
14269 al = (t1l + t2l) | 0;
14270 ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0;
14271 }
14272
14273 // Intermediate hash
14274 h0l = h[1] = (h0l + al) | 0;
14275 h[0] = (h0h + ah + ((h0l >>> 0) < (al >>> 0) ? 1 : 0)) | 0;
14276 h1l = h[3] = (h1l + bl) | 0;
14277 h[2] = (h1h + bh + ((h1l >>> 0) < (bl >>> 0) ? 1 : 0)) | 0;
14278 h2l = h[5] = (h2l + cl) | 0;
14279 h[4] = (h2h + ch + ((h2l >>> 0) < (cl >>> 0) ? 1 : 0)) | 0;
14280 h3l = h[7] = (h3l + dl) | 0;
14281 h[6] = (h3h + dh + ((h3l >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
14282 h4l = h[9] = (h4l + el) | 0;
14283 h[8] = (h4h + eh + ((h4l >>> 0) < (el >>> 0) ? 1 : 0)) | 0;
14284 h5l = h[11] = (h5l + fl) | 0;
14285 h[10] = (h5h + fh + ((h5l >>> 0) < (fl >>> 0) ? 1 : 0)) | 0;
14286 h6l = h[13] = (h6l + gl) | 0;
14287 h[12] = (h6h + gh + ((h6l >>> 0) < (gl >>> 0) ? 1 : 0)) | 0;
14288 h7l = h[15] = (h7l + hl) | 0;
14289 h[14] = (h7h + hh + ((h7l >>> 0) < (hl >>> 0) ? 1 : 0)) | 0;
14290 }
14291};
14292
14293
14294//// hmac.js
14295
14296/** @fileOverview HMAC implementation.
14297 *
14298 * @author Emily Stark
14299 * @author Mike Hamburg
14300 * @author Dan Boneh
14301 */
14302
14303/** HMAC with the specified hash function.
14304 * @constructor
14305 * @param {bitArray} key the key for HMAC.
14306 * @param {Object} [hash=sjcl.hash.sha256] The hash function to use.
14307 */
14308sjcl.misc.hmac = function (key, Hash) {
14309 this._hash = Hash = Hash || sjcl.hash.sha256;
14310 var exKey = [[],[]], i,
14311 bs = Hash.prototype.blockSize / 32;
14312 this._baseHash = [new Hash(), new Hash()];
14313
14314 if (key.length > bs) {
14315 key = Hash.hash(key);
14316 }
14317
14318 for (i=0; i<bs; i++) {
14319 exKey[0][i] = key[i]^0x36363636;
14320 exKey[1][i] = key[i]^0x5C5C5C5C;
14321 }
14322
14323 this._baseHash[0].update(exKey[0]);
14324 this._baseHash[1].update(exKey[1]);
14325 this._resultHash = new Hash(this._baseHash[0]);
14326};
14327
14328/** HMAC with the specified hash function. Also called encrypt since it's a prf.
14329 * @param {bitArray|String} data The data to mac.
14330 */
14331sjcl.misc.hmac.prototype.encrypt = sjcl.misc.hmac.prototype.mac = function (data) {
14332 if (!this._updated) {
14333 this.update(data);
14334 return this.digest(data);
14335 } else {
14336 throw new sjcl.exception.invalid("encrypt on already updated hmac called!");
14337 }
14338};
14339
14340sjcl.misc.hmac.prototype.reset = function () {
14341 this._resultHash = new this._hash(this._baseHash[0]);
14342 this._updated = false;
14343};
14344
14345sjcl.misc.hmac.prototype.update = function (data) {
14346 this._updated = true;
14347 this._resultHash.update(data);
14348};
14349
14350sjcl.misc.hmac.prototype.digest = function () {
14351 var w = this._resultHash.finalize(), result = new (this._hash)(this._baseHash[1]).update(w).finalize();
14352
14353 this.reset();
14354
14355 return result;
14356};
14357
14358
14359//// pbkdf2.js
14360
14361
14362/** @fileOverview Password-based key-derivation function, version 2.0.
14363 *
14364 * @author Emily Stark
14365 * @author Mike Hamburg
14366 * @author Dan Boneh
14367 */
14368
14369/** Password-Based Key-Derivation Function, version 2.0.
14370 *
14371 * Generate keys from passwords using PBKDF2-HMAC-SHA256.
14372 *
14373 * This is the method specified by RSA's PKCS #5 standard.
14374 *
14375 * @param {bitArray|String} password The password.
14376 * @param {bitArray|String} salt The salt. Should have lots of entropy.
14377 * @param {Number} [count=1000] The number of iterations. Higher numbers make the function slower but more secure.
14378 * @param {Number} [length] The length of the derived key. Defaults to the
14379 output size of the hash function.
14380 * @param {Object} [Prff=sjcl.misc.hmac] The pseudorandom function family.
14381 * @return {bitArray} the derived key.
14382 */
14383sjcl.misc.pbkdf2 = function (password, salt, count, length, Prff) {
14384 count = count || 1000;
14385
14386 if (length < 0 || count < 0) {
14387 throw sjcl.exception.invalid("invalid params to pbkdf2");
14388 }
14389
14390 if (typeof password === "string") {
14391 password = sjcl.codec.utf8String.toBits(password);
14392 }
14393
14394 if (typeof salt === "string") {
14395 salt = sjcl.codec.utf8String.toBits(salt);
14396 }
14397
14398 Prff = Prff || sjcl.misc.hmac;
14399
14400 var prf = new Prff(password),
14401 u, ui, i, j, k, out = [], b = sjcl.bitArray;
14402
14403 for (k = 1; 32 * out.length < (length || 1); k++) {
14404 u = ui = prf.encrypt(b.concat(salt,[k]));
14405
14406 for (i=1; i<count; i++) {
14407 ui = prf.encrypt(ui);
14408 for (j=0; j<ui.length; j++) {
14409 u[j] ^= ui[j];
14410 }
ebd8d4e8 14411 }
80c4dd2a
IC
14412
14413 out = out.concat(u);
14414 }
14415
14416 if (length) { out = b.clamp(out, length); }
14417
14418 return out;
14419};
14420
14421
14422//// sha256.js
14423
14424/** @fileOverview Javascript SHA-256 implementation.
14425 *
14426 * An older version of this implementation is available in the public
14427 * domain, but this one is (c) Emily Stark, Mike Hamburg, Dan Boneh,
14428 * Stanford University 2008-2010 and BSD-licensed for liability
14429 * reasons.
14430 *
14431 * Special thanks to Aldo Cortesi for pointing out several bugs in
14432 * this code.
14433 *
14434 * @author Emily Stark
14435 * @author Mike Hamburg
14436 * @author Dan Boneh
14437 */
14438
14439/**
14440 * Context for a SHA-256 operation in progress.
14441 * @constructor
14442 * @class Secure Hash Algorithm, 256 bits.
14443 */
14444sjcl.hash.sha256 = function (hash) {
14445 if (!this._key[0]) { this._precompute(); }
14446 if (hash) {
14447 this._h = hash._h.slice(0);
14448 this._buffer = hash._buffer.slice(0);
14449 this._length = hash._length;
14450 } else {
14451 this.reset();
14452 }
14453};
14454
14455/**
14456 * Hash a string or an array of words.
14457 * @static
14458 * @param {bitArray|String} data the data to hash.
14459 * @return {bitArray} The hash value, an array of 16 big-endian words.
14460 */
14461sjcl.hash.sha256.hash = function (data) {
14462 return (new sjcl.hash.sha256()).update(data).finalize();
14463};
14464
14465sjcl.hash.sha256.prototype = {
14466 /**
14467 * The hash's block size, in bits.
14468 * @constant
14469 */
14470 blockSize: 512,
14471
14472 /**
14473 * Reset the hash state.
14474 * @return this
14475 */
14476 reset:function () {
14477 this._h = this._init.slice(0);
14478 this._buffer = [];
14479 this._length = 0;
14480 return this;
14481 },
14482
14483 /**
14484 * Input several words to the hash.
14485 * @param {bitArray|String} data the data to hash.
14486 * @return this
14487 */
14488 update: function (data) {
14489 if (typeof data === "string") {
14490 data = sjcl.codec.utf8String.toBits(data);
14491 }
14492 var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
14493 ol = this._length,
14494 nl = this._length = ol + sjcl.bitArray.bitLength(data);
14495 for (i = 512+ol & -512; i <= nl; i+= 512) {
14496 this._block(b.splice(0,16));
ebd8d4e8 14497 }
3af2954a 14498 return this;
80c4dd2a
IC
14499 },
14500
14501 /**
14502 * Complete hashing and output the hash value.
14503 * @return {bitArray} The hash value, an array of 8 big-endian words.
14504 */
14505 finalize:function () {
14506 var i, b = this._buffer, h = this._h;
14507
14508 // Round out and push the buffer
14509 b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
14510
14511 // Round out the buffer to a multiple of 16 words, less the 2 length words.
14512 for (i = b.length + 2; i & 15; i++) {
14513 b.push(0);
14514 }
14515
14516 // append the length
14517 b.push(Math.floor(this._length / 0x100000000));
14518 b.push(this._length | 0);
14519
14520 while (b.length) {
14521 this._block(b.splice(0,16));
14522 }
14523
14524 this.reset();
14525 return h;
14526 },
14527
14528 /**
14529 * The SHA-256 initialization vector, to be precomputed.
14530 * @private
14531 */
14532 _init:[],
14533 /*
14534 _init:[0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19],
14535 */
14536
14537 /**
14538 * The SHA-256 hash key, to be precomputed.
14539 * @private
14540 */
14541 _key:[],
14542 /*
14543 _key:
14544 [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
14545 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
14546 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
14547 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
14548 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
14549 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
14550 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
14551 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2],
14552 */
14553
14554
14555 /**
14556 * Function to precompute _init and _key.
14557 * @private
14558 */
14559 _precompute: function () {
14560 var i = 0, prime = 2, factor;
14561
14562 function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }
14563
14564 outer: for (; i<64; prime++) {
14565 for (factor=2; factor*factor <= prime; factor++) {
14566 if (prime % factor === 0) {
14567 // not a prime
14568 continue outer;
ebd8d4e8 14569 }
80c4dd2a
IC
14570 }
14571
14572 if (i<8) {
14573 this._init[i] = frac(Math.pow(prime, 1/2));
14574 }
14575 this._key[i] = frac(Math.pow(prime, 1/3));
14576 i++;
ebd8d4e8 14577 }
80c4dd2a
IC
14578 },
14579
14580 /**
14581 * Perform one cycle of SHA-256.
14582 * @param {bitArray} words one block of words.
14583 * @private
14584 */
14585 _block:function (words) {
14586 var i, tmp, a, b,
14587 w = words.slice(0),
14588 h = this._h,
14589 k = this._key,
14590 h0 = h[0], h1 = h[1], h2 = h[2], h3 = h[3],
14591 h4 = h[4], h5 = h[5], h6 = h[6], h7 = h[7];
14592
14593 /* Rationale for placement of |0 :
14594 * If a value can overflow is original 32 bits by a factor of more than a few
14595 * million (2^23 ish), there is a possibility that it might overflow the
14596 * 53-bit mantissa and lose precision.
14597 *
14598 * To avoid this, we clamp back to 32 bits by |'ing with 0 on any value that
14599 * propagates around the loop, and on the hash state h[]. I don't believe
14600 * that the clamps on h4 and on h0 are strictly necessary, but it's close
14601 * (for h4 anyway), and better safe than sorry.
14602 *
14603 * The clamps on h[] are necessary for the output to be correct even in the
14604 * common case and for short inputs.
14605 */
14606 for (i=0; i<64; i++) {
14607 // load up the input word for this round
14608 if (i<16) {
14609 tmp = w[i];
14610 } else {
14611 a = w[(i+1 ) & 15];
14612 b = w[(i+14) & 15];
14613 tmp = w[i&15] = ((a>>>7 ^ a>>>18 ^ a>>>3 ^ a<<25 ^ a<<14) +
14614 (b>>>17 ^ b>>>19 ^ b>>>10 ^ b<<15 ^ b<<13) +
14615 w[i&15] + w[(i+9) & 15]) | 0;
14616 }
14617
14618 tmp = (tmp + h7 + (h4>>>6 ^ h4>>>11 ^ h4>>>25 ^ h4<<26 ^ h4<<21 ^ h4<<7) + (h6 ^ h4&(h5^h6)) + k[i]); // | 0;
14619
14620 // shift register
14621 h7 = h6; h6 = h5; h5 = h4;
14622 h4 = h3 + tmp | 0;
14623 h3 = h2; h2 = h1; h1 = h0;
14624
14625 h0 = (tmp + ((h1&h2) ^ (h3&(h1^h2))) + (h1>>>2 ^ h1>>>13 ^ h1>>>22 ^ h1<<30 ^ h1<<19 ^ h1<<10)) | 0;
14626 }
14627
14628 h[0] = h[0]+h0 | 0;
14629 h[1] = h[1]+h1 | 0;
14630 h[2] = h[2]+h2 | 0;
14631 h[3] = h[3]+h3 | 0;
14632 h[4] = h[4]+h4 | 0;
14633 h[5] = h[5]+h5 | 0;
14634 h[6] = h[6]+h6 | 0;
14635 h[7] = h[7]+h7 | 0;
14636 }
14637};
ea87f1d3
IC
14638</script>
14639 <script>// An extremely basic translation library
14640//
14641// Example usage:
14642//
14643// Set some html to be translated. Do this using the 'data-translate' attribute:
14644//
14645// <div data-translate>Test</div>
14646// <div data-translate-html><em>keep em tag</em></div>
14647// <input data-translate-placeholder placeholder="Example text">
14648//
14649// Obtain all the phrases to be translated via js debug console:
14650//
14651// Translate.phrasesAsJson();
14652//
14653// Use that template to translate the phrases into another language.
14654// Leave the key the same. Change the value to the new language.
14655//
14656// Create a js file to load the new phrases. In this example for Spanish,
14657// es.js will contain the following code:
14658//
14659// Translate.loadForeignPhrases("es", {
14660// "Test": "Test in Spanish",
14661// "<em>keep em tag</em>": "<em>keep em tag in Spanish</em>",
14662// "Example text": "Example text in Spanish"
14663// });
14664//
14665// In your UI put a listener for clicking on the Spanish button:
14666//
14667// mySpanishButton.addEventListener("click", function() {
14668// Translate.setLanguage("es");
14669// });
14670// myEnglishButton.addEventListener("click", function() {
14671// Translate.setLanguage("en");
14672// });
14673
14674Translate = new (function() {
14675
14676 var defaultLanguage = "en";
14677
14678 var allPhrases = {};
14679 allPhrases[defaultLanguage] = {};
14680
14681 // Node types
14682
14683 var text = {
14684 selector: "[data-translate]",
14685 getKey: function() {
14686 return this.textContent.trim().replace(/\s+/g, " ");
14687 },
14688 setPhrase: function(p) {
14689 this.textContent = p;
14690 },
14691 }
14692
14693 var html = {
14694 selector: "[data-translate-html]",
14695 getKey: function() {
14696 return this.innerHTML.trim().replace(/\s+/g, " ");
14697 },
14698 setPhrase: function(p) {
14699 this.innerHTML = p;
14700 },
14701 }
14702
14703 var placeholder = {
14704 selector: "[data-translate-placeholder]",
14705 getKey: function() {
14706 return this.getAttribute("placeholder").trim().replace(/\s+/g, " ");
14707 },
14708 setPhrase: function(p) {
14709 this.setAttribute("placeholder", p);
14710 },
14711 }
14712
14713 // Get elements to be translated
14714 var allEls = getEls(text)
14715 .concat(getEls(html))
14716 .concat(getEls(placeholder));
14717
14718 // Provides access to phrases from a non-default language.
14719 // See phrases_en.js for example usage.
14720 this.loadForeignPhrases = function(language, phrases) {
14721 allPhrases[language] = phrases;
14722 }
14723
14724 // Displays a different language, eg "en" or "fr"
14725 this.setLanguage = function(language) {
14726 for (var i=0; i<allEls.length; i++) {
14727 var el = allEls[i];
14728 var key = el.key;
14729 if (!(language in allPhrases)) {
14730 console.log(language + " not in allPhrases");
14731 return;
14732 }
14733 if (!(key in allPhrases[language])) {
14734 console.log(language + " does not contain phrase: " + key);
14735 return;
14736 }
14737 var phrase = allPhrases[language][key];
14738 el.setPhrase(phrase);
14739 }
14740 }
14741
14742 // Converts the phrases to a key-pair json file.
14743 // This is a good way to export phrases for use in translation tools.
14744 this.phrasesAsJson = function(language) {
14745 var keys = [];
14746 for (var i=0; i<allEls.length; i++) {
14747 var el = allEls[i];
14748 var key = el.key;
14749 keys.push(key);
14750 }
14751 keys.sort();
14752 var output = {};
14753 for (var i=0; i<keys.length; i++) {
14754 var key = keys[i];
14755 var translated = "";
14756 if (language in allPhrases && key in allPhrases[language]) {
14757 translated = allPhrases[language][key];
14758 }
14759 output[key] = translated;
14760 }
14761 return JSON.stringify(output, null, 2);
14762 }
14763
14764 function getEls(nodeType) {
14765 var nodes = document.querySelectorAll(nodeType.selector);
14766 var els = [];
14767 for (var i=0; i<nodes.length; i++) {
14768 var node = nodes[i];
14769 node.getKey = nodeType.getKey;
14770 node.setPhrase = nodeType.setPhrase;
14771 node.key = node.getKey();
14772 allPhrases[defaultLanguage][node.key] = node.key;
14773 els.push(node);
14774 }
14775 return els;
14776 }
14777
14778})();
14779</script>
14780 <script>Translate.loadForeignPhrases("en",
14781{
14782 "<code>m/44'/0'/0'/0</code> generates public addresses": "<code>m/44'/0'/0'/0</code> generates public addresses",
14783 "<code>m/44'/0'/0'/1</code> generates change addresses": "<code>m/44'/0'/0'/1</code> generates change addresses",
14784 "<code>m/44'/0'/0'</code> generates extended keys for import / export": "<code>m/44'/0'/0'</code> generates extended keys for import / export",
14785 "<code>m/44'/0'/1'</code> for the next account. Continue incrementing for more accounts (most use a single account).": "<code>m/44'/0'/1'</code> for the next account. Continue incrementing for more accounts (most use a single account).",
14786 "Accepts binary, base 6, 6-sided dice, base 10, hexadecimal, cards": "Accepts binary, base 6, 6-sided dice, base 10, hexadecimal, cards",
14787 "Account": "Account",
14788 "Address": "Address",
14789 "Alternatively, download the file from the repository": "Alternatively, download the file from the repository",
14790 "BIP32 Derivation Path": "BIP32 Derivation Path",
14791 "BIP32 Extended Key": "BIP32 Extended Key",
14792 "BIP32 Extended Key (addresses only)": "BIP32 Extended Key (addresses only)",
14793 "BIP32 Root Key": "BIP32 Root Key",
14794 "BIP39 Mnemonic": "BIP39 Mnemonic",
14795 "BIP39 Passphrase (optional)": "BIP39 Passphrase (optional)",
14796 "BIP39 Seed": "BIP39 Seed",
14797 "Base 10": "Base 10",
14798 "Base 6": "Base 6",
14799 "Be careful - it can be easy to make mistakes if you don't know what you're doing.": "Be careful - it can be easy to make mistakes if you don't know what you're doing.",
14800 "Binary": "Binary",
14801 "Bitcoin Core": "Bitcoin Core",
14802 "Bits Per Event": "Bits Per Event",
14803 "Block Explorers": "Block Explorers",
14804 "Can be used with": "Can be used with",
14805 "Card": "Card",
14806 "Coin": "Coin",
14807 "Dice": "Dice",
14808 "Do <strong>NOT</strong> use phrases from books, lyrics from songs, your birthday or steet address, keyboard mashing, or anything you <i>think</i> is random, because chances are overwhelming it isn't random enough for the needs of this tool.": "Do <strong>NOT</strong> use phrases from books, lyrics from songs, your birthday or steet address, keyboard mashing, or anything you <i>think</i> is random, because chances are overwhelming it isn't random enough for the needs of this tool.",
14809 "Double-click that file to open it in a browser on any offline computer.": "Double-click that file to open it in a browser on any offline computer.",
14810 "Entropy": "Entropy",
14811 "Entropy Type": "Entropy Type",
14812 "Entropy is an advanced feature. Your mnemonic may be insecure if this feature is used incorrectly.": "Entropy is an advanced feature. Your mnemonic may be insecure if this feature is used incorrectly.",
14813 "Entropy values must be sourced from a <a href=\"https://en.wikipedia.org/wiki/Random_number_generation\" target=\"_blank\">strong source of randomness</a>.": "Entropy values must be sourced from a <a href=\"https://en.wikipedia.org/wiki/Random_number_generation\" target=\"_blank\">strong source of randomness</a>.",
14814 "Event Count": "Event Count",
14815 "External / Internal": "External / Internal",
14816 "Filtered Entropy": "Filtered Entropy",
14817 "For more info see the <a href=\"http://www.mycelium.com/\" target=\"_blank\">Mycelium Wallet homepage</a>": "For more info see the <a href=\"http://www.mycelium.com/\" target=\"_blank\">Mycelium Wallet homepage</a>",
14818 "For more info see the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki\" target=\"_blank\">BIP39 spec</a>.": "For more info see the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki\" target=\"_blank\">BIP39 spec</a>.",
14819 "For more info see the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki\" target=\"_blank\">BIP44 spec</a>.": "For more info see the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki\" target=\"_blank\">BIP44 spec</a>.",
14820 "For more info see the <a href=\"https://github.com/bitcoin/bitcoin/pull/8035\" target=\"_blank\">Bitcoin Core BIP32 implementation</a>": "For more info see the <a href=\"https://github.com/bitcoin/bitcoin/pull/8035\" target=\"_blank\">Bitcoin Core BIP32 implementation</a>",
14821 "For more info see the BIP32 spec": "For more info see the BIP32 spec",
14822 "From entropy length (3 words per 32 bits)": "From entropy length (3 words per 32 bits)",
14823 "Generate a random mnemonic, or enter your own below": "Generate a random mnemonic, or enter your own below",
14824 "Get the source code from the repository": "Get the source code from the repository",
14825 "Hex": "Hex",
14826 "Hierarchical Deterministic Wallets": "Hierarchical Deterministic Wallets",
14827 "If cryptographic randomness isn't available in your browser, this page will show a warning and the generate button will not work.": "If cryptographic randomness isn't available in your browser, this page will show a warning and the generate button will not work.",
14828 "In that case you might choose to use your own source of entropy.": "In that case you might choose to use your own source of entropy.",
14829 "In your browser, select file save-as, and save this page as a file.": "In your browser, select file save-as, and save this page as a file.",
14830 "Libraries": "Libraries",
14831 "Mnemonic Language": "Mnemonic Language",
14832 "Mnemonic Length": "Mnemonic Length",
14833 "Mnemonic code for generating deterministic keys": "Mnemonic code for generating deterministic keys",
14834 "More info": "More info",
14835 "Multi-Account Hierarchy for Deterministic Wallets": "Multi-Account Hierarchy for Deterministic Wallets",
14836 "Mycelium Wallet": "Mycelium Wallet",
14837 "Note these addreses are derived from the BIP32 Extended Key": "Note these addreses are derived from the BIP32 Extended Key",
14838 "Offline Usage": "Offline Usage",
14839 "Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xprv</code> key.": "Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xprv</code> key.",
14840 "Path": "Path",
14841 "Private Key": "Private Key",
14842 "Private Keys": "Private Keys",
14843 "Public Key": "Public Key",
14844 "Purpose": "Purpose",
14845 "Raw Binary": "Raw Binary",
14846 "Read more": "Read more",
14847 "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki\" target=\"_blank\">official BIP32 spec</a>": "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki\" target=\"_blank\">official BIP32 spec</a>",
14848 "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki\">official BIP39 spec</a>": "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki\">official BIP39 spec</a>",
14849 "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki\" target=\"_blank\">official BIP44 spec</a>": "Read more at the <a href=\"https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki\" target=\"_blank\">official BIP44 spec</a>",
14850 "See the demo at <a href=\"http://bip32.org/\" target=\"_blank\">bip32.org</a>": "See the demo at <a href=\"http://bip32.org/\" target=\"_blank\">bip32.org</a>",
14851 "Show": "Show",
14852 "Show more rows": "Show more rows",
14853 "Strength": "Strength",
14854 "Supply my own source of entropy": "Supply my own source of entropy",
14855 "The built in random generator can generally be trusted more than your own intuition about randomness.": "The built in random generator can generally be trusted more than your own intuition about randomness.",
14856 "The random mnemonic generator on this page uses a <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues\" target=\"_blank\">cryptographically secure random number generator</a>.": "The random mnemonic generator on this page uses a <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues\" target=\"_blank\">cryptographically secure random number generator</a>.",
14857 "This means flipping a fair coin, rolling a fair dice, noise measurements etc.": "This means flipping a fair coin, rolling a fair dice, noise measurements etc.",
14858 "This project is 100% open-source code": "This project is 100% open-source code",
14859 "Toggle": "Toggle",
14860 "Total Bits": "Total Bits",
14861 "Use hardened addresses": "Use hardened addresses",
14862 "Use path <code>m/0'/0'</code> with hardened addresses.": "Use path <code>m/0'/0'</code> with hardened addresses.",
14863 "Use path <code>m/44'/0'/0'</code>.": "Use path <code>m/44'/0'/0'</code>.",
14864 "Use private keys at <a href=\"https://web.archive.org/web/20150707020924/https://brainwallet.org/\" target=\"_blank\">brainwallet.org</a>.": "Use private keys at <a href=\"https://web.archive.org/web/20150707020924/https://brainwallet.org/\" target=\"_blank\">brainwallet.org</a>.",
14865 "Valid entropy values include:": "Valid entropy values include:",
14866 "Warning": "Warning",
14867 "Word Count": "Word Count",
14868 "You are not a good source of entropy.": "You are not a good source of entropy.",
14869 "You can enter an existing BIP39 mnemonic, or generate a new random one. Typing your own twelve words will probably not work how you expect, since the words require a particular structure (the last word is a checksum).": "You can enter an existing BIP39 mnemonic, or generate a new random one. Typing your own twelve words will probably not work how you expect, since the words require a particular structure (the last word is a checksum).",
14870 "You can use this tool without having to be online.": "You can use this tool without having to be online.",
14871 "words": "words"
14872}
14873);
dc55c6b0 14874</script>
ab78acc6 14875 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
3af2954a 14876WORDLISTS["english"] = [
ebd8d4e8
IC
14877"abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse",
14878"access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act",
14879"action","actor","actress","actual","adapt","add","addict","address","adjust","admit",
14880"adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent",
14881"agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert",
14882"alien","all","alley","allow","almost","alone","alpha","already","also","alter",
14883"always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger",
14884"angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique",
14885"anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic",
14886"area","arena","argue","arm","armed","armor","army","around","arrange","arrest",
14887"arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset",
14888"assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction",
14889"audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake",
14890"aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge",
14891"bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain",
14892"barrel","base","basic","basket","battle","beach","bean","beauty","because","become",
14893"beef","before","begin","behave","behind","believe","below","belt","bench","benefit",
14894"best","betray","better","between","beyond","bicycle","bid","bike","bind","biology",
14895"bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless",
14896"blind","blood","blossom","blouse","blue","blur","blush","board","boat","body",
14897"boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss",
14898"bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread",
14899"breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze",
14900"broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb",
14901"bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy",
14902"butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call",
14903"calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas",
14904"canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry",
14905"cart","case","cash","casino","castle","casual","cat","catalog","catch","category",
14906"cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century",
14907"cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase",
14908"chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child",
14909"chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle",
14910"citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk",
14911"clever","click","client","cliff","climb","clinic","clip","clock","clog","close",
14912"cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut",
14913"code","coffee","coil","coin","collect","color","column","combine","come","comfort",
14914"comic","common","company","concert","conduct","confirm","congress","connect","consider","control",
14915"convince","cook","cool","copper","copy","coral","core","corn","correct","cost",
14916"cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle",
14917"craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek",
14918"crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial",
14919"cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup",
14920"cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad",
14921"damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal",
14922"debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense",
14923"define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny",
14924"depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk",
14925"despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond",
14926"diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur",
14927"direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance",
14928"divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain",
14929"donate","donkey","donor","door","dose","double","dove","draft","dragon","drama",
14930"drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop",
14931"drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf",
14932"dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo",
14933"ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow",
14934"elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody",
14935"embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless",
14936"endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough",
14937"enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip",
14938"era","erase","erode","erosion","error","erupt","escape","essay","essence","estate",
14939"eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange",
14940"excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit",
14941"exotic","expand","expect","expire","explain","expose","express","extend","extra","eye",
14942"eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame",
14943"family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father",
14944"fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female",
14945"fence","festival","fetch","fever","few","fiber","fiction","field","figure","file",
14946"film","filter","final","find","fine","finger","finish","fire","firm","first",
14947"fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor",
14948"flee","flight","flip","float","flock","floor","flower","fluid","flush","fly",
14949"foam","focus","fog","foil","fold","follow","food","foot","force","forest",
14950"forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile",
14951"frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen",
14952"fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy",
14953"gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp",
14954"gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture",
14955"ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance",
14956"glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue",
14957"goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown",
14958"grab","grace","grain","grant","grape","grass","gravity","great","green","grid",
14959"grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt",
14960"guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy",
14961"harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health",
14962"heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden",
14963"high","hill","hint","hip","hire","history","hobby","hockey","hold","hole",
14964"holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital",
14965"host","hotel","hour","hover","hub","huge","human","humble","humor","hundred",
14966"hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea",
14967"identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune",
14968"impact","impose","improve","impulse","inch","include","income","increase","index","indicate",
14969"indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury",
14970"inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install",
14971"intact","interest","into","invest","invite","involve","iron","island","isolate","issue",
14972"item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel",
14973"job","join","joke","journey","joy","judge","juice","jump","jungle","junior",
14974"junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney",
14975"kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife",
14976"knock","know","lab","label","labor","ladder","lady","lake","lamp","language",
14977"laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit",
14978"layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal",
14979"legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level",
14980"liar","liberty","library","license","life","lift","light","like","limb","limit",
14981"link","lion","liquid","list","little","live","lizard","load","loan","lobster",
14982"local","lock","logic","lonely","long","loop","lottery","loud","lounge","love",
14983"loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad",
14984"magic","magnet","maid","mail","main","major","make","mammal","man","manage",
14985"mandate","mango","mansion","manual","maple","marble","march","margin","marine","market",
14986"marriage","mask","mass","master","match","material","math","matrix","matter","maximum",
14987"maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt",
14988"member","memory","mention","menu","mercy","merge","merit","merry","mesh","message",
14989"metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor",
14990"minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile",
14991"model","modify","mom","moment","monitor","monkey","monster","month","moon","moral",
14992"more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie",
14993"much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual",
14994"myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature",
14995"near","neck","need","negative","neglect","neither","nephew","nerve","nest","net",
14996"network","neutral","never","news","next","nice","night","noble","noise","nominee",
14997"noodle","normal","north","nose","notable","note","nothing","notice","novel","now",
14998"nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe",
14999"obtain","obvious","occur","ocean","october","odor","off","offer","office","often",
15000"oil","okay","old","olive","olympic","omit","once","one","onion","online",
15001"only","open","opera","opinion","oppose","option","orange","orbit","orchard","order",
15002"ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output",
15003"outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact",
15004"paddle","page","pair","palace","palm","panda","panel","panic","panther","paper",
15005"parade","parent","park","parrot","party","pass","patch","path","patient","patrol",
15006"pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen",
15007"penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo",
15008"phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot",
15009"pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate",
15010"play","please","pledge","pluck","plug","plunge","poem","poet","point","polar",
15011"pole","police","pond","pony","pool","popular","portion","position","possible","post",
15012"potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare",
15013"present","pretty","prevent","price","pride","primary","print","priority","prison","private",
15014"prize","problem","process","produce","profit","program","project","promote","proof","property",
15015"prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin",
15016"punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle",
15017"pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit",
15018"raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp",
15019"ranch","random","range","rapid","rare","rate","rather","raven","raw","razor",
15020"ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle",
15021"reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release",
15022"relief","rely","remain","remember","remind","remove","render","renew","rent","reopen",
15023"repair","repeat","replace","report","require","rescue","resemble","resist","resource","response",
15024"result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib",
15025"ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot",
15026"ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket",
15027"romance","roof","rookie","room","rose","rotate","rough","round","route","royal",
15028"rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness",
15029"safe","sail","salad","salmon","salon","salt","salute","same","sample","sand",
15030"satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter",
15031"scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script",
15032"scrub","sea","search","season","seat","second","secret","section","security","seed",
15033"seek","segment","select","sell","seminar","senior","sense","sentence","series","service",
15034"session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell",
15035"sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop",
15036"short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side",
15037"siege","sight","sign","silent","silk","silly","silver","similar","simple","since",
15038"sing","siren","sister","situate","six","size","skate","sketch","ski","skill",
15039"skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight",
15040"slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth",
15041"snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda",
15042"soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry",
15043"sort","soul","sound","soup","source","south","space","spare","spatial","spawn",
15044"speak","special","speed","spell","spend","sphere","spice","spider","spike","spin",
15045"spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring",
15046"spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp",
15047"stand","start","state","stay","steak","steel","stem","step","stereo","stick",
15048"still","sting","stock","stomach","stone","stool","story","stove","strategy","street",
15049"strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway",
15050"success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny",
15051"sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey",
15052"suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim",
15053"swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag",
15054"tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi",
15055"teach","team","tell","ten","tenant","tennis","tent","term","test","text",
15056"thank","that","theme","then","theory","there","they","thing","this","thought",
15057"three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber",
15058"time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler",
15059"toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool",
15060"tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist",
15061"toward","tower","town","toy","track","trade","traffic","tragic","train","transfer",
15062"trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick",
15063"trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust",
15064"truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle",
15065"twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella",
15066"unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform",
15067"unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade",
15068"uphold","upon","upper","upset","urban","urge","usage","use","used","useful",
15069"useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van",
15070"vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue",
15071"verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory",
15072"video","view","village","vintage","violin","virtual","virus","visa","visit","visual",
15073"vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage",
15074"wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash",
15075"wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather",
15076"web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat",
15077"wheel","when","where","whip","whisper","wide","width","wife","wild","will",
15078"win","window","wine","wing","wink","winner","winter","wire","wisdom","wise",
15079"wish","witness","wolf","woman","wonder","wood","wool","word","work","world",
15080"worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year",
15081"yellow","you","young","youth","zebra","zero","zone","zoo"]
0515eeec
IC
15082</script>
15083 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15084WORDLISTS["japanese"] = [
15085"あいこくしん", "あいさつ", "あいだ", "あおぞら", "あかちゃん", "あきる", "あけがた", "あける", "あこがれる", "あさい",
15086"あさひ", "あしあと", "あじわう", "あずかる", "あずき", "あそぶ", "あたえる", "あたためる", "あたりまえ", "あたる",
15087"あつい", "あつかう", "あっしゅく", "あつまり", "あつめる", "あてな", "あてはまる", "あひる", "あぶら", "あぶる",
15088"あふれる", "あまい", "あまど", "あまやかす", "あまり", "あみもの", "あめりか", "あやまる", "あゆむ", "あらいぐま",
15089"あらし", "あらすじ", "あらためる", "あらゆる", "あらわす", "ありがとう", "あわせる", "あわてる", "あんい", "あんがい",
15090"あんこ", "あんぜん", "あんてい", "あんない", "あんまり", "いいだす", "いおん", "いがい", "いがく", "いきおい",
15091"いきなり", "いきもの", "いきる", "いくじ", "いくぶん", "いけばな", "いけん", "いこう", "いこく", "いこつ",
15092"いさましい", "いさん", "いしき", "いじゅう", "いじょう", "いじわる", "いずみ", "いずれ", "いせい", "いせえび",
15093"いせかい", "いせき", "いぜん", "いそうろう", "いそがしい", "いだい", "いだく", "いたずら", "いたみ", "いたりあ",
15094"いちおう", "いちじ", "いちど", "いちば", "いちぶ", "いちりゅう", "いつか", "いっしゅん", "いっせい", "いっそう",
15095"いったん", "いっち", "いってい", "いっぽう", "いてざ", "いてん", "いどう", "いとこ", "いない", "いなか",
15096"いねむり", "いのち", "いのる", "いはつ", "いばる", "いはん", "いびき", "いひん", "いふく", "いへん",
15097"いほう", "いみん", "いもうと", "いもたれ", "いもり", "いやがる", "いやす", "いよかん", "いよく", "いらい",
15098"いらすと", "いりぐち", "いりょう", "いれい", "いれもの", "いれる", "いろえんぴつ", "いわい", "いわう", "いわかん",
15099"いわば", "いわゆる", "いんげんまめ", "いんさつ", "いんしょう", "いんよう", "うえき", "うえる", "うおざ", "うがい",
15100"うかぶ", "うかべる", "うきわ", "うくらいな", "うくれれ", "うけたまわる", "うけつけ", "うけとる", "うけもつ", "うける",
15101"うごかす", "うごく", "うこん", "うさぎ", "うしなう", "うしろがみ", "うすい", "うすぎ", "うすぐらい", "うすめる",
15102"うせつ", "うちあわせ", "うちがわ", "うちき", "うちゅう", "うっかり", "うつくしい", "うったえる", "うつる", "うどん",
15103"うなぎ", "うなじ", "うなずく", "うなる", "うねる", "うのう", "うぶげ", "うぶごえ", "うまれる", "うめる",
15104"うもう", "うやまう", "うよく", "うらがえす", "うらぐち", "うらない", "うりあげ", "うりきれ", "うるさい", "うれしい",
15105"うれゆき", "うれる", "うろこ", "うわき", "うわさ", "うんこう", "うんちん", "うんてん", "うんどう", "えいえん",
15106"えいが", "えいきょう", "えいご", "えいせい", "えいぶん", "えいよう", "えいわ", "えおり", "えがお", "えがく",
15107"えきたい", "えくせる", "えしゃく", "えすて", "えつらん", "えのぐ", "えほうまき", "えほん", "えまき", "えもじ",
15108"えもの", "えらい", "えらぶ", "えりあ", "えんえん", "えんかい", "えんぎ", "えんげき", "えんしゅう", "えんぜつ",
15109"えんそく", "えんちょう", "えんとつ", "おいかける", "おいこす", "おいしい", "おいつく", "おうえん", "おうさま", "おうじ",
15110"おうせつ", "おうたい", "おうふく", "おうべい", "おうよう", "おえる", "おおい", "おおう", "おおどおり", "おおや",
15111"おおよそ", "おかえり", "おかず", "おがむ", "おかわり", "おぎなう", "おきる", "おくさま", "おくじょう", "おくりがな",
15112"おくる", "おくれる", "おこす", "おこなう", "おこる", "おさえる", "おさない", "おさめる", "おしいれ", "おしえる",
15113"おじぎ", "おじさん", "おしゃれ", "おそらく", "おそわる", "おたがい", "おたく", "おだやか", "おちつく", "おっと",
15114"おつり", "おでかけ", "おとしもの", "おとなしい", "おどり", "おどろかす", "おばさん", "おまいり", "おめでとう", "おもいで",
15115"おもう", "おもたい", "おもちゃ", "おやつ", "おやゆび", "およぼす", "おらんだ", "おろす", "おんがく", "おんけい",
15116"おんしゃ", "おんせん", "おんだん", "おんちゅう", "おんどけい", "かあつ", "かいが", "がいき", "がいけん", "がいこう",
15117"かいさつ", "かいしゃ", "かいすいよく", "かいぜん", "かいぞうど", "かいつう", "かいてん", "かいとう", "かいふく", "がいへき",
15118"かいほう", "かいよう", "がいらい", "かいわ", "かえる", "かおり", "かかえる", "かがく", "かがし", "かがみ",
15119"かくご", "かくとく", "かざる", "がぞう", "かたい", "かたち", "がちょう", "がっきゅう", "がっこう", "がっさん",
15120"がっしょう", "かなざわし", "かのう", "がはく", "かぶか", "かほう", "かほご", "かまう", "かまぼこ", "かめれおん",
15121"かゆい", "かようび", "からい", "かるい", "かろう", "かわく", "かわら", "がんか", "かんけい", "かんこう",
15122"かんしゃ", "かんそう", "かんたん", "かんち", "がんばる", "きあい", "きあつ", "きいろ", "ぎいん", "きうい",
15123"きうん", "きえる", "きおう", "きおく", "きおち", "きおん", "きかい", "きかく", "きかんしゃ", "ききて",
15124"きくばり", "きくらげ", "きけんせい", "きこう", "きこえる", "きこく", "きさい", "きさく", "きさま", "きさらぎ",
15125"ぎじかがく", "ぎしき", "ぎじたいけん", "ぎじにってい", "ぎじゅつしゃ", "きすう", "きせい", "きせき", "きせつ", "きそう",
15126"きぞく", "きぞん", "きたえる", "きちょう", "きつえん", "ぎっちり", "きつつき", "きつね", "きてい", "きどう",
15127"きどく", "きない", "きなが", "きなこ", "きぬごし", "きねん", "きのう", "きのした", "きはく", "きびしい",
15128"きひん", "きふく", "きぶん", "きぼう", "きほん", "きまる", "きみつ", "きむずかしい", "きめる", "きもだめし",
15129"きもち", "きもの", "きゃく", "きやく", "ぎゅうにく", "きよう", "きょうりゅう", "きらい", "きらく", "きりん",
15130"きれい", "きれつ", "きろく", "ぎろん", "きわめる", "ぎんいろ", "きんかくじ", "きんじょ", "きんようび", "ぐあい",
15131"くいず", "くうかん", "くうき", "くうぐん", "くうこう", "ぐうせい", "くうそう", "ぐうたら", "くうふく", "くうぼ",
15132"くかん", "くきょう", "くげん", "ぐこう", "くさい", "くさき", "くさばな", "くさる", "くしゃみ", "くしょう",
15133"くすのき", "くすりゆび", "くせげ", "くせん", "ぐたいてき", "くださる", "くたびれる", "くちこみ", "くちさき", "くつした",
15134"ぐっすり", "くつろぐ", "くとうてん", "くどく", "くなん", "くねくね", "くのう", "くふう", "くみあわせ", "くみたてる",
15135"くめる", "くやくしょ", "くらす", "くらべる", "くるま", "くれる", "くろう", "くわしい", "ぐんかん", "ぐんしょく",
15136"ぐんたい", "ぐんて", "けあな", "けいかく", "けいけん", "けいこ", "けいさつ", "げいじゅつ", "けいたい", "げいのうじん",
15137"けいれき", "けいろ", "けおとす", "けおりもの", "げきか", "げきげん", "げきだん", "げきちん", "げきとつ", "げきは",
15138"げきやく", "げこう", "げこくじょう", "げざい", "けさき", "げざん", "けしき", "けしごむ", "けしょう", "げすと",
15139"けたば", "けちゃっぷ", "けちらす", "けつあつ", "けつい", "けつえき", "けっこん", "けつじょ", "けっせき", "けってい",
15140"けつまつ", "げつようび", "げつれい", "けつろん", "げどく", "けとばす", "けとる", "けなげ", "けなす", "けなみ",
15141"けぬき", "げねつ", "けねん", "けはい", "げひん", "けぶかい", "げぼく", "けまり", "けみかる", "けむし",
15142"けむり", "けもの", "けらい", "けろけろ", "けわしい", "けんい", "けんえつ", "けんお", "けんか", "げんき",
15143"けんげん", "けんこう", "けんさく", "けんしゅう", "けんすう", "げんそう", "けんちく", "けんてい", "けんとう", "けんない",
15144"けんにん", "げんぶつ", "けんま", "けんみん", "けんめい", "けんらん", "けんり", "こあくま", "こいぬ", "こいびと",
15145"ごうい", "こうえん", "こうおん", "こうかん", "ごうきゅう", "ごうけい", "こうこう", "こうさい", "こうじ", "こうすい",
15146"ごうせい", "こうそく", "こうたい", "こうちゃ", "こうつう", "こうてい", "こうどう", "こうない", "こうはい", "ごうほう",
15147"ごうまん", "こうもく", "こうりつ", "こえる", "こおり", "ごかい", "ごがつ", "ごかん", "こくご", "こくさい",
15148"こくとう", "こくない", "こくはく", "こぐま", "こけい", "こける", "ここのか", "こころ", "こさめ", "こしつ",
15149"こすう", "こせい", "こせき", "こぜん", "こそだて", "こたい", "こたえる", "こたつ", "こちょう", "こっか",
15150"こつこつ", "こつばん", "こつぶ", "こてい", "こてん", "ことがら", "ことし", "ことば", "ことり", "こなごな",
15151"こねこね", "このまま", "このみ", "このよ", "ごはん", "こひつじ", "こふう", "こふん", "こぼれる", "ごまあぶら",
15152"こまかい", "ごますり", "こまつな", "こまる", "こむぎこ", "こもじ", "こもち", "こもの", "こもん", "こやく",
15153"こやま", "こゆう", "こゆび", "こよい", "こよう", "こりる", "これくしょん", "ころっけ", "こわもて", "こわれる",
15154"こんいん", "こんかい", "こんき", "こんしゅう", "こんすい", "こんだて", "こんとん", "こんなん", "こんびに", "こんぽん",
15155"こんまけ", "こんや", "こんれい", "こんわく", "ざいえき", "さいかい", "さいきん", "ざいげん", "ざいこ", "さいしょ",
15156"さいせい", "ざいたく", "ざいちゅう", "さいてき", "ざいりょう", "さうな", "さかいし", "さがす", "さかな", "さかみち",
15157"さがる", "さぎょう", "さくし", "さくひん", "さくら", "さこく", "さこつ", "さずかる", "ざせき", "さたん",
15158"さつえい", "ざつおん", "ざっか", "ざつがく", "さっきょく", "ざっし", "さつじん", "ざっそう", "さつたば", "さつまいも",
15159"さてい", "さといも", "さとう", "さとおや", "さとし", "さとる", "さのう", "さばく", "さびしい", "さべつ",
15160"さほう", "さほど", "さます", "さみしい", "さみだれ", "さむけ", "さめる", "さやえんどう", "さゆう", "さよう",
15161"さよく", "さらだ", "ざるそば", "さわやか", "さわる", "さんいん", "さんか", "さんきゃく", "さんこう", "さんさい",
15162"ざんしょ", "さんすう", "さんせい", "さんそ", "さんち", "さんま", "さんみ", "さんらん", "しあい", "しあげ",
15163"しあさって", "しあわせ", "しいく", "しいん", "しうち", "しえい", "しおけ", "しかい", "しかく", "じかん",
15164"しごと", "しすう", "じだい", "したうけ", "したぎ", "したて", "したみ", "しちょう", "しちりん", "しっかり",
15165"しつじ", "しつもん", "してい", "してき", "してつ", "じてん", "じどう", "しなぎれ", "しなもの", "しなん",
15166"しねま", "しねん", "しのぐ", "しのぶ", "しはい", "しばかり", "しはつ", "しはらい", "しはん", "しひょう",
15167"しふく", "じぶん", "しへい", "しほう", "しほん", "しまう", "しまる", "しみん", "しむける", "じむしょ",
15168"しめい", "しめる", "しもん", "しゃいん", "しゃうん", "しゃおん", "じゃがいも", "しやくしょ", "しゃくほう", "しゃけん",
15169"しゃこ", "しゃざい", "しゃしん", "しゃせん", "しゃそう", "しゃたい", "しゃちょう", "しゃっきん", "じゃま", "しゃりん",
15170"しゃれい", "じゆう", "じゅうしょ", "しゅくはく", "じゅしん", "しゅっせき", "しゅみ", "しゅらば", "じゅんばん", "しょうかい",
15171"しょくたく", "しょっけん", "しょどう", "しょもつ", "しらせる", "しらべる", "しんか", "しんこう", "じんじゃ", "しんせいじ",
15172"しんちく", "しんりん", "すあげ", "すあし", "すあな", "ずあん", "すいえい", "すいか", "すいとう", "ずいぶん",
15173"すいようび", "すうがく", "すうじつ", "すうせん", "すおどり", "すきま", "すくう", "すくない", "すける", "すごい",
15174"すこし", "ずさん", "すずしい", "すすむ", "すすめる", "すっかり", "ずっしり", "ずっと", "すてき", "すてる",
15175"すねる", "すのこ", "すはだ", "すばらしい", "ずひょう", "ずぶぬれ", "すぶり", "すふれ", "すべて", "すべる",
15176"ずほう", "すぼん", "すまい", "すめし", "すもう", "すやき", "すらすら", "するめ", "すれちがう", "すろっと",
15177"すわる", "すんぜん", "すんぽう", "せあぶら", "せいかつ", "せいげん", "せいじ", "せいよう", "せおう", "せかいかん",
15178"せきにん", "せきむ", "せきゆ", "せきらんうん", "せけん", "せこう", "せすじ", "せたい", "せたけ", "せっかく",
15179"せっきゃく", "ぜっく", "せっけん", "せっこつ", "せっさたくま", "せつぞく", "せつだん", "せつでん", "せっぱん", "せつび",
15180"せつぶん", "せつめい", "せつりつ", "せなか", "せのび", "せはば", "せびろ", "せぼね", "せまい", "せまる",
15181"せめる", "せもたれ", "せりふ", "ぜんあく", "せんい", "せんえい", "せんか", "せんきょ", "せんく", "せんげん",
15182"ぜんご", "せんさい", "せんしゅ", "せんすい", "せんせい", "せんぞ", "せんたく", "せんちょう", "せんてい", "せんとう",
15183"せんぬき", "せんねん", "せんぱい", "ぜんぶ", "ぜんぽう", "せんむ", "せんめんじょ", "せんもん", "せんやく", "せんゆう",
15184"せんよう", "ぜんら", "ぜんりゃく", "せんれい", "せんろ", "そあく", "そいとげる", "そいね", "そうがんきょう", "そうき",
15185"そうご", "そうしん", "そうだん", "そうなん", "そうび", "そうめん", "そうり", "そえもの", "そえん", "そがい",
15186"そげき", "そこう", "そこそこ", "そざい", "そしな", "そせい", "そせん", "そそぐ", "そだてる", "そつう",
15187"そつえん", "そっかん", "そつぎょう", "そっけつ", "そっこう", "そっせん", "そっと", "そとがわ", "そとづら", "そなえる",
15188"そなた", "そふぼ", "そぼく", "そぼろ", "そまつ", "そまる", "そむく", "そむりえ", "そめる", "そもそも",
15189"そよかぜ", "そらまめ", "そろう", "そんかい", "そんけい", "そんざい", "そんしつ", "そんぞく", "そんちょう", "ぞんび",
15190"ぞんぶん", "そんみん", "たあい", "たいいん", "たいうん", "たいえき", "たいおう", "だいがく", "たいき", "たいぐう",
15191"たいけん", "たいこ", "たいざい", "だいじょうぶ", "だいすき", "たいせつ", "たいそう", "だいたい", "たいちょう", "たいてい",
15192"だいどころ", "たいない", "たいねつ", "たいのう", "たいはん", "だいひょう", "たいふう", "たいへん", "たいほ", "たいまつばな",
15193"たいみんぐ", "たいむ", "たいめん", "たいやき", "たいよう", "たいら", "たいりょく", "たいる", "たいわん", "たうえ",
15194"たえる", "たおす", "たおる", "たおれる", "たかい", "たかね", "たきび", "たくさん", "たこく", "たこやき",
15195"たさい", "たしざん", "だじゃれ", "たすける", "たずさわる", "たそがれ", "たたかう", "たたく", "ただしい", "たたみ",
15196"たちばな", "だっかい", "だっきゃく", "だっこ", "だっしゅつ", "だったい", "たてる", "たとえる", "たなばた", "たにん",
15197"たぬき", "たのしみ", "たはつ", "たぶん", "たべる", "たぼう", "たまご", "たまる", "だむる", "ためいき",
15198"ためす", "ためる", "たもつ", "たやすい", "たよる", "たらす", "たりきほんがん", "たりょう", "たりる", "たると",
15199"たれる", "たれんと", "たろっと", "たわむれる", "だんあつ", "たんい", "たんおん", "たんか", "たんき", "たんけん",
15200"たんご", "たんさん", "たんじょうび", "だんせい", "たんそく", "たんたい", "だんち", "たんてい", "たんとう", "だんな",
15201"たんにん", "だんねつ", "たんのう", "たんぴん", "だんぼう", "たんまつ", "たんめい", "だんれつ", "だんろ", "だんわ",
15202"ちあい", "ちあん", "ちいき", "ちいさい", "ちえん", "ちかい", "ちから", "ちきゅう", "ちきん", "ちけいず",
15203"ちけん", "ちこく", "ちさい", "ちしき", "ちしりょう", "ちせい", "ちそう", "ちたい", "ちたん", "ちちおや",
15204"ちつじょ", "ちてき", "ちてん", "ちぬき", "ちぬり", "ちのう", "ちひょう", "ちへいせん", "ちほう", "ちまた",
15205"ちみつ", "ちみどろ", "ちめいど", "ちゃんこなべ", "ちゅうい", "ちゆりょく", "ちょうし", "ちょさくけん", "ちらし", "ちらみ",
15206"ちりがみ", "ちりょう", "ちるど", "ちわわ", "ちんたい", "ちんもく", "ついか", "ついたち", "つうか", "つうじょう",
15207"つうはん", "つうわ", "つかう", "つかれる", "つくね", "つくる", "つけね", "つける", "つごう", "つたえる",
15208"つづく", "つつじ", "つつむ", "つとめる", "つながる", "つなみ", "つねづね", "つのる", "つぶす", "つまらない",
15209"つまる", "つみき", "つめたい", "つもり", "つもる", "つよい", "つるぼ", "つるみく", "つわもの", "つわり",
15210"てあし", "てあて", "てあみ", "ていおん", "ていか", "ていき", "ていけい", "ていこく", "ていさつ", "ていし",
15211"ていせい", "ていたい", "ていど", "ていねい", "ていひょう", "ていへん", "ていぼう", "てうち", "ておくれ", "てきとう",
15212"てくび", "でこぼこ", "てさぎょう", "てさげ", "てすり", "てそう", "てちがい", "てちょう", "てつがく", "てつづき",
15213"でっぱ", "てつぼう", "てつや", "でぬかえ", "てぬき", "てぬぐい", "てのひら", "てはい", "てぶくろ", "てふだ",
15214"てほどき", "てほん", "てまえ", "てまきずし", "てみじか", "てみやげ", "てらす", "てれび", "てわけ", "てわたし",
15215"でんあつ", "てんいん", "てんかい", "てんき", "てんぐ", "てんけん", "てんごく", "てんさい", "てんし", "てんすう",
15216"でんち", "てんてき", "てんとう", "てんない", "てんぷら", "てんぼうだい", "てんめつ", "てんらんかい", "でんりょく", "でんわ",
15217"どあい", "といれ", "どうかん", "とうきゅう", "どうぐ", "とうし", "とうむぎ", "とおい", "とおか", "とおく",
15218"とおす", "とおる", "とかい", "とかす", "ときおり", "ときどき", "とくい", "とくしゅう", "とくてん", "とくに",
15219"とくべつ", "とけい", "とける", "とこや", "とさか", "としょかん", "とそう", "とたん", "とちゅう", "とっきゅう",
15220"とっくん", "とつぜん", "とつにゅう", "とどける", "ととのえる", "とない", "となえる", "となり", "とのさま", "とばす",
15221"どぶがわ", "とほう", "とまる", "とめる", "ともだち", "ともる", "どようび", "とらえる", "とんかつ", "どんぶり",
15222"ないかく", "ないこう", "ないしょ", "ないす", "ないせん", "ないそう", "なおす", "ながい", "なくす", "なげる",
15223"なこうど", "なさけ", "なたでここ", "なっとう", "なつやすみ", "ななおし", "なにごと", "なにもの", "なにわ", "なのか",
15224"なふだ", "なまいき", "なまえ", "なまみ", "なみだ", "なめらか", "なめる", "なやむ", "ならう", "ならび",
15225"ならぶ", "なれる", "なわとび", "なわばり", "にあう", "にいがた", "にうけ", "におい", "にかい", "にがて",
15226"にきび", "にくしみ", "にくまん", "にげる", "にさんかたんそ", "にしき", "にせもの", "にちじょう", "にちようび", "にっか",
15227"にっき", "にっけい", "にっこう", "にっさん", "にっしょく", "にっすう", "にっせき", "にってい", "になう", "にほん",
15228"にまめ", "にもつ", "にやり", "にゅういん", "にりんしゃ", "にわとり", "にんい", "にんか", "にんき", "にんげん",
15229"にんしき", "にんずう", "にんそう", "にんたい", "にんち", "にんてい", "にんにく", "にんぷ", "にんまり", "にんむ",
15230"にんめい", "にんよう", "ぬいくぎ", "ぬかす", "ぬぐいとる", "ぬぐう", "ぬくもり", "ぬすむ", "ぬまえび", "ぬめり",
15231"ぬらす", "ぬんちゃく", "ねあげ", "ねいき", "ねいる", "ねいろ", "ねぐせ", "ねくたい", "ねくら", "ねこぜ",
15232"ねこむ", "ねさげ", "ねすごす", "ねそべる", "ねだん", "ねつい", "ねっしん", "ねつぞう", "ねったいぎょ", "ねぶそく",
15233"ねふだ", "ねぼう", "ねほりはほり", "ねまき", "ねまわし", "ねみみ", "ねむい", "ねむたい", "ねもと", "ねらう",
15234"ねわざ", "ねんいり", "ねんおし", "ねんかん", "ねんきん", "ねんぐ", "ねんざ", "ねんし", "ねんちゃく", "ねんど",
15235"ねんぴ", "ねんぶつ", "ねんまつ", "ねんりょう", "ねんれい", "のいず", "のおづま", "のがす", "のきなみ", "のこぎり",
15236"のこす", "のこる", "のせる", "のぞく", "のぞむ", "のたまう", "のちほど", "のっく", "のばす", "のはら",
15237"のべる", "のぼる", "のみもの", "のやま", "のらいぬ", "のらねこ", "のりもの", "のりゆき", "のれん", "のんき",
15238"ばあい", "はあく", "ばあさん", "ばいか", "ばいく", "はいけん", "はいご", "はいしん", "はいすい", "はいせん",
15239"はいそう", "はいち", "ばいばい", "はいれつ", "はえる", "はおる", "はかい", "ばかり", "はかる", "はくしゅ",
15240"はけん", "はこぶ", "はさみ", "はさん", "はしご", "ばしょ", "はしる", "はせる", "ぱそこん", "はそん",
15241"はたん", "はちみつ", "はつおん", "はっかく", "はづき", "はっきり", "はっくつ", "はっけん", "はっこう", "はっさん",
15242"はっしん", "はったつ", "はっちゅう", "はってん", "はっぴょう", "はっぽう", "はなす", "はなび", "はにかむ", "はぶらし",
15243"はみがき", "はむかう", "はめつ", "はやい", "はやし", "はらう", "はろうぃん", "はわい", "はんい", "はんえい",
15244"はんおん", "はんかく", "はんきょう", "ばんぐみ", "はんこ", "はんしゃ", "はんすう", "はんだん", "ぱんち", "ぱんつ",
15245"はんてい", "はんとし", "はんのう", "はんぱ", "はんぶん", "はんぺん", "はんぼうき", "はんめい", "はんらん", "はんろん",
15246"ひいき", "ひうん", "ひえる", "ひかく", "ひかり", "ひかる", "ひかん", "ひくい", "ひけつ", "ひこうき",
15247"ひこく", "ひさい", "ひさしぶり", "ひさん", "びじゅつかん", "ひしょ", "ひそか", "ひそむ", "ひたむき", "ひだり",
15248"ひたる", "ひつぎ", "ひっこし", "ひっし", "ひつじゅひん", "ひっす", "ひつぜん", "ぴったり", "ぴっちり", "ひつよう",
15249"ひてい", "ひとごみ", "ひなまつり", "ひなん", "ひねる", "ひはん", "ひびく", "ひひょう", "ひほう", "ひまわり",
15250"ひまん", "ひみつ", "ひめい", "ひめじし", "ひやけ", "ひやす", "ひよう", "びょうき", "ひらがな", "ひらく",
15251"ひりつ", "ひりょう", "ひるま", "ひるやすみ", "ひれい", "ひろい", "ひろう", "ひろき", "ひろゆき", "ひんかく",
15252"ひんけつ", "ひんこん", "ひんしゅ", "ひんそう", "ぴんち", "ひんぱん", "びんぼう", "ふあん", "ふいうち", "ふうけい",
15253"ふうせん", "ぷうたろう", "ふうとう", "ふうふ", "ふえる", "ふおん", "ふかい", "ふきん", "ふくざつ", "ふくぶくろ",
15254"ふこう", "ふさい", "ふしぎ", "ふじみ", "ふすま", "ふせい", "ふせぐ", "ふそく", "ぶたにく", "ふたん",
15255"ふちょう", "ふつう", "ふつか", "ふっかつ", "ふっき", "ふっこく", "ぶどう", "ふとる", "ふとん", "ふのう",
15256"ふはい", "ふひょう", "ふへん", "ふまん", "ふみん", "ふめつ", "ふめん", "ふよう", "ふりこ", "ふりる",
15257"ふるい", "ふんいき", "ぶんがく", "ぶんぐ", "ふんしつ", "ぶんせき", "ふんそう", "ぶんぽう", "へいあん", "へいおん",
15258"へいがい", "へいき", "へいげん", "へいこう", "へいさ", "へいしゃ", "へいせつ", "へいそ", "へいたく", "へいてん",
15259"へいねつ", "へいわ", "へきが", "へこむ", "べにいろ", "べにしょうが", "へらす", "へんかん", "べんきょう", "べんごし",
15260"へんさい", "へんたい", "べんり", "ほあん", "ほいく", "ぼうぎょ", "ほうこく", "ほうそう", "ほうほう", "ほうもん",
15261"ほうりつ", "ほえる", "ほおん", "ほかん", "ほきょう", "ぼきん", "ほくろ", "ほけつ", "ほけん", "ほこう",
15262"ほこる", "ほしい", "ほしつ", "ほしゅ", "ほしょう", "ほせい", "ほそい", "ほそく", "ほたて", "ほたる",
15263"ぽちぶくろ", "ほっきょく", "ほっさ", "ほったん", "ほとんど", "ほめる", "ほんい", "ほんき", "ほんけ", "ほんしつ",
15264"ほんやく", "まいにち", "まかい", "まかせる", "まがる", "まける", "まこと", "まさつ", "まじめ", "ますく",
15265"まぜる", "まつり", "まとめ", "まなぶ", "まぬけ", "まねく", "まほう", "まもる", "まゆげ", "まよう",
15266"まろやか", "まわす", "まわり", "まわる", "まんが", "まんきつ", "まんぞく", "まんなか", "みいら", "みうち",
15267"みえる", "みがく", "みかた", "みかん", "みけん", "みこん", "みじかい", "みすい", "みすえる", "みせる",
15268"みっか", "みつかる", "みつける", "みてい", "みとめる", "みなと", "みなみかさい", "みねらる", "みのう", "みのがす",
15269"みほん", "みもと", "みやげ", "みらい", "みりょく", "みわく", "みんか", "みんぞく", "むいか", "むえき",
15270"むえん", "むかい", "むかう", "むかえ", "むかし", "むぎちゃ", "むける", "むげん", "むさぼる", "むしあつい",
15271"むしば", "むじゅん", "むしろ", "むすう", "むすこ", "むすぶ", "むすめ", "むせる", "むせん", "むちゅう",
15272"むなしい", "むのう", "むやみ", "むよう", "むらさき", "むりょう", "むろん", "めいあん", "めいうん", "めいえん",
15273"めいかく", "めいきょく", "めいさい", "めいし", "めいそう", "めいぶつ", "めいれい", "めいわく", "めぐまれる", "めざす",
15274"めした", "めずらしい", "めだつ", "めまい", "めやす", "めんきょ", "めんせき", "めんどう", "もうしあげる", "もうどうけん",
15275"もえる", "もくし", "もくてき", "もくようび", "もちろん", "もどる", "もらう", "もんく", "もんだい", "やおや",
15276"やける", "やさい", "やさしい", "やすい", "やすたろう", "やすみ", "やせる", "やそう", "やたい", "やちん",
15277"やっと", "やっぱり", "やぶる", "やめる", "ややこしい", "やよい", "やわらかい", "ゆうき", "ゆうびんきょく", "ゆうべ",
15278"ゆうめい", "ゆけつ", "ゆしゅつ", "ゆせん", "ゆそう", "ゆたか", "ゆちゃく", "ゆでる", "ゆにゅう", "ゆびわ",
15279"ゆらい", "ゆれる", "ようい", "ようか", "ようきゅう", "ようじ", "ようす", "ようちえん", "よかぜ", "よかん",
15280"よきん", "よくせい", "よくぼう", "よけい", "よごれる", "よさん", "よしゅう", "よそう", "よそく", "よっか",
15281"よてい", "よどがわく", "よねつ", "よやく", "よゆう", "よろこぶ", "よろしい", "らいう", "らくがき", "らくご",
15282"らくさつ", "らくだ", "らしんばん", "らせん", "らぞく", "らたい", "らっか", "られつ", "りえき", "りかい",
15283"りきさく", "りきせつ", "りくぐん", "りくつ", "りけん", "りこう", "りせい", "りそう", "りそく", "りてん",
15284"りねん", "りゆう", "りゅうがく", "りよう", "りょうり", "りょかん", "りょくちゃ", "りょこう", "りりく", "りれき",
15285"りろん", "りんご", "るいけい", "るいさい", "るいじ", "るいせき", "るすばん", "るりがわら", "れいかん", "れいぎ",
15286"れいせい", "れいぞうこ", "れいとう", "れいぼう", "れきし", "れきだい", "れんあい", "れんけい", "れんこん", "れんさい",
15287"れんしゅう", "れんぞく", "れんらく", "ろうか", "ろうご", "ろうじん", "ろうそく", "ろくが", "ろこつ", "ろじうら",
15288"ろしゅつ", "ろせん", "ろてん", "ろめん", "ろれつ", "ろんぎ", "ろんぱ", "ろんぶん", "ろんり", "わかす",
15289"わかめ", "わかやま", "わかれる", "わしつ", "わじまし", "わすれもの", "わらう", "われる"]
15290</script>
15291 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15292WORDLISTS["spanish"] = [
15293"ábaco", "abdomen", "abeja", "abierto", "abogado", "abono", "aborto", "abrazo", "abrir", "abuelo",
15294"abuso", "acabar", "academia", "acceso", "acción", "aceite", "acelga", "acento", "aceptar", "ácido",
15295"aclarar", "acné", "acoger", "acoso", "activo", "acto", "actriz", "actuar", "acudir", "acuerdo",
15296"acusar", "adicto", "admitir", "adoptar", "adorno", "aduana", "adulto", "aéreo", "afectar", "afición",
15297"afinar", "afirmar", "ágil", "agitar", "agonía", "agosto", "agotar", "agregar", "agrio", "agua",
15298"agudo", "águila", "aguja", "ahogo", "ahorro", "aire", "aislar", "ajedrez", "ajeno", "ajuste",
15299"alacrán", "alambre", "alarma", "alba", "álbum", "alcalde", "aldea", "alegre", "alejar", "alerta",
15300"aleta", "alfiler", "alga", "algodón", "aliado", "aliento", "alivio", "alma", "almeja", "almíbar",
15301"altar", "alteza", "altivo", "alto", "altura", "alumno", "alzar", "amable", "amante", "amapola",
15302"amargo", "amasar", "ámbar", "ámbito", "ameno", "amigo", "amistad", "amor", "amparo", "amplio",
15303"ancho", "anciano", "ancla", "andar", "andén", "anemia", "ángulo", "anillo", "ánimo", "anís",
15304"anotar", "antena", "antiguo", "antojo", "anual", "anular", "anuncio", "añadir", "añejo", "año",
15305"apagar", "aparato", "apetito", "apio", "aplicar", "apodo", "aporte", "apoyo", "aprender", "aprobar",
15306"apuesta", "apuro", "arado", "araña", "arar", "árbitro", "árbol", "arbusto", "archivo", "arco",
15307"arder", "ardilla", "arduo", "área", "árido", "aries", "armonía", "arnés", "aroma", "arpa",
15308"arpón", "arreglo", "arroz", "arruga", "arte", "artista", "asa", "asado", "asalto", "ascenso",
15309"asegurar", "aseo", "asesor", "asiento", "asilo", "asistir", "asno", "asombro", "áspero", "astilla",
15310"astro", "astuto", "asumir", "asunto", "atajo", "ataque", "atar", "atento", "ateo", "ático",
15311"atleta", "átomo", "atraer", "atroz", "atún", "audaz", "audio", "auge", "aula", "aumento",
15312"ausente", "autor", "aval", "avance", "avaro", "ave", "avellana", "avena", "avestruz", "avión",
15313"aviso", "ayer", "ayuda", "ayuno", "azafrán", "azar", "azote", "azúcar", "azufre", "azul",
15314"baba", "babor", "bache", "bahía", "baile", "bajar", "balanza", "balcón", "balde", "bambú",
15315"banco", "banda", "baño", "barba", "barco", "barniz", "barro", "báscula", "bastón", "basura",
15316"batalla", "batería", "batir", "batuta", "baúl", "bazar", "bebé", "bebida", "bello", "besar",
15317"beso", "bestia", "bicho", "bien", "bingo", "blanco", "bloque", "blusa", "boa", "bobina",
15318"bobo", "boca", "bocina", "boda", "bodega", "boina", "bola", "bolero", "bolsa", "bomba",
15319"bondad", "bonito", "bono", "bonsái", "borde", "borrar", "bosque", "bote", "botín", "bóveda",
15320"bozal", "bravo", "brazo", "brecha", "breve", "brillo", "brinco", "brisa", "broca", "broma",
15321"bronce", "brote", "bruja", "brusco", "bruto", "buceo", "bucle", "bueno", "buey", "bufanda",
15322"bufón", "búho", "buitre", "bulto", "burbuja", "burla", "burro", "buscar", "butaca", "buzón",
15323"caballo", "cabeza", "cabina", "cabra", "cacao", "cadáver", "cadena", "caer", "café", "caída",
15324"caimán", "caja", "cajón", "cal", "calamar", "calcio", "caldo", "calidad", "calle", "calma",
15325"calor", "calvo", "cama", "cambio", "camello", "camino", "campo", "cáncer", "candil", "canela",
15326"canguro", "canica", "canto", "caña", "cañón", "caoba", "caos", "capaz", "capitán", "capote",
15327"captar", "capucha", "cara", "carbón", "cárcel", "careta", "carga", "cariño", "carne", "carpeta",
15328"carro", "carta", "casa", "casco", "casero", "caspa", "castor", "catorce", "catre", "caudal",
15329"causa", "cazo", "cebolla", "ceder", "cedro", "celda", "célebre", "celoso", "célula", "cemento",
15330"ceniza", "centro", "cerca", "cerdo", "cereza", "cero", "cerrar", "certeza", "césped", "cetro",
15331"chacal", "chaleco", "champú", "chancla", "chapa", "charla", "chico", "chiste", "chivo", "choque",
15332"choza", "chuleta", "chupar", "ciclón", "ciego", "cielo", "cien", "cierto", "cifra", "cigarro",
15333"cima", "cinco", "cine", "cinta", "ciprés", "circo", "ciruela", "cisne", "cita", "ciudad",
15334"clamor", "clan", "claro", "clase", "clave", "cliente", "clima", "clínica", "cobre", "cocción",
15335"cochino", "cocina", "coco", "código", "codo", "cofre", "coger", "cohete", "cojín", "cojo",
15336"cola", "colcha", "colegio", "colgar", "colina", "collar", "colmo", "columna", "combate", "comer",
15337"comida", "cómodo", "compra", "conde", "conejo", "conga", "conocer", "consejo", "contar", "copa",
15338"copia", "corazón", "corbata", "corcho", "cordón", "corona", "correr", "coser", "cosmos", "costa",
15339"cráneo", "cráter", "crear", "crecer", "creído", "crema", "cría", "crimen", "cripta", "crisis",
15340"cromo", "crónica", "croqueta", "crudo", "cruz", "cuadro", "cuarto", "cuatro", "cubo", "cubrir",
15341"cuchara", "cuello", "cuento", "cuerda", "cuesta", "cueva", "cuidar", "culebra", "culpa", "culto",
15342"cumbre", "cumplir", "cuna", "cuneta", "cuota", "cupón", "cúpula", "curar", "curioso", "curso",
15343"curva", "cutis", "dama", "danza", "dar", "dardo", "dátil", "deber", "débil", "década",
15344"decir", "dedo", "defensa", "definir", "dejar", "delfín", "delgado", "delito", "demora", "denso",
15345"dental", "deporte", "derecho", "derrota", "desayuno", "deseo", "desfile", "desnudo", "destino", "desvío",
15346"detalle", "detener", "deuda", "día", "diablo", "diadema", "diamante", "diana", "diario", "dibujo",
15347"dictar", "diente", "dieta", "diez", "difícil", "digno", "dilema", "diluir", "dinero", "directo",
15348"dirigir", "disco", "diseño", "disfraz", "diva", "divino", "doble", "doce", "dolor", "domingo",
15349"don", "donar", "dorado", "dormir", "dorso", "dos", "dosis", "dragón", "droga", "ducha",
15350"duda", "duelo", "dueño", "dulce", "dúo", "duque", "durar", "dureza", "duro", "ébano",
15351"ebrio", "echar", "eco", "ecuador", "edad", "edición", "edificio", "editor", "educar", "efecto",
15352"eficaz", "eje", "ejemplo", "elefante", "elegir", "elemento", "elevar", "elipse", "élite", "elixir",
15353"elogio", "eludir", "embudo", "emitir", "emoción", "empate", "empeño", "empleo", "empresa", "enano",
15354"encargo", "enchufe", "encía", "enemigo", "enero", "enfado", "enfermo", "engaño", "enigma", "enlace",
15355"enorme", "enredo", "ensayo", "enseñar", "entero", "entrar", "envase", "envío", "época", "equipo",
15356"erizo", "escala", "escena", "escolar", "escribir", "escudo", "esencia", "esfera", "esfuerzo", "espada",
15357"espejo", "espía", "esposa", "espuma", "esquí", "estar", "este", "estilo", "estufa", "etapa",
15358"eterno", "ética", "etnia", "evadir", "evaluar", "evento", "evitar", "exacto", "examen", "exceso",
15359"excusa", "exento", "exigir", "exilio", "existir", "éxito", "experto", "explicar", "exponer", "extremo",
15360"fábrica", "fábula", "fachada", "fácil", "factor", "faena", "faja", "falda", "fallo", "falso",
15361"faltar", "fama", "familia", "famoso", "faraón", "farmacia", "farol", "farsa", "fase", "fatiga",
15362"fauna", "favor", "fax", "febrero", "fecha", "feliz", "feo", "feria", "feroz", "fértil",
15363"fervor", "festín", "fiable", "fianza", "fiar", "fibra", "ficción", "ficha", "fideo", "fiebre",
15364"fiel", "fiera", "fiesta", "figura", "fijar", "fijo", "fila", "filete", "filial", "filtro",
15365"fin", "finca", "fingir", "finito", "firma", "flaco", "flauta", "flecha", "flor", "flota",
15366"fluir", "flujo", "flúor", "fobia", "foca", "fogata", "fogón", "folio", "folleto", "fondo",
15367"forma", "forro", "fortuna", "forzar", "fosa", "foto", "fracaso", "frágil", "franja", "frase",
15368"fraude", "freír", "freno", "fresa", "frío", "frito", "fruta", "fuego", "fuente", "fuerza",
15369"fuga", "fumar", "función", "funda", "furgón", "furia", "fusil", "fútbol", "futuro", "gacela",
15370"gafas", "gaita", "gajo", "gala", "galería", "gallo", "gamba", "ganar", "gancho", "ganga",
15371"ganso", "garaje", "garza", "gasolina", "gastar", "gato", "gavilán", "gemelo", "gemir", "gen",
15372"género", "genio", "gente", "geranio", "gerente", "germen", "gesto", "gigante", "gimnasio", "girar",
15373"giro", "glaciar", "globo", "gloria", "gol", "golfo", "goloso", "golpe", "goma", "gordo",
15374"gorila", "gorra", "gota", "goteo", "gozar", "grada", "gráfico", "grano", "grasa", "gratis",
15375"grave", "grieta", "grillo", "gripe", "gris", "grito", "grosor", "grúa", "grueso", "grumo",
15376"grupo", "guante", "guapo", "guardia", "guerra", "guía", "guiño", "guion", "guiso", "guitarra",
15377"gusano", "gustar", "haber", "hábil", "hablar", "hacer", "hacha", "hada", "hallar", "hamaca",
15378"harina", "haz", "hazaña", "hebilla", "hebra", "hecho", "helado", "helio", "hembra", "herir",
15379"hermano", "héroe", "hervir", "hielo", "hierro", "hígado", "higiene", "hijo", "himno", "historia",
15380"hocico", "hogar", "hoguera", "hoja", "hombre", "hongo", "honor", "honra", "hora", "hormiga",
15381"horno", "hostil", "hoyo", "hueco", "huelga", "huerta", "hueso", "huevo", "huida", "huir",
15382"humano", "húmedo", "humilde", "humo", "hundir", "huracán", "hurto", "icono", "ideal", "idioma",
15383"ídolo", "iglesia", "iglú", "igual", "ilegal", "ilusión", "imagen", "imán", "imitar", "impar",
15384"imperio", "imponer", "impulso", "incapaz", "índice", "inerte", "infiel", "informe", "ingenio", "inicio",
15385"inmenso", "inmune", "innato", "insecto", "instante", "interés", "íntimo", "intuir", "inútil", "invierno",
15386"ira", "iris", "ironía", "isla", "islote", "jabalí", "jabón", "jamón", "jarabe", "jardín",
15387"jarra", "jaula", "jazmín", "jefe", "jeringa", "jinete", "jornada", "joroba", "joven", "joya",
15388"juerga", "jueves", "juez", "jugador", "jugo", "juguete", "juicio", "junco", "jungla", "junio",
15389"juntar", "júpiter", "jurar", "justo", "juvenil", "juzgar", "kilo", "koala", "labio", "lacio",
15390"lacra", "lado", "ladrón", "lagarto", "lágrima", "laguna", "laico", "lamer", "lámina", "lámpara",
15391"lana", "lancha", "langosta", "lanza", "lápiz", "largo", "larva", "lástima", "lata", "látex",
15392"latir", "laurel", "lavar", "lazo", "leal", "lección", "leche", "lector", "leer", "legión",
15393"legumbre", "lejano", "lengua", "lento", "leña", "león", "leopardo", "lesión", "letal", "letra",
15394"leve", "leyenda", "libertad", "libro", "licor", "líder", "lidiar", "lienzo", "liga", "ligero",
15395"lima", "límite", "limón", "limpio", "lince", "lindo", "línea", "lingote", "lino", "linterna",
15396"líquido", "liso", "lista", "litera", "litio", "litro", "llaga", "llama", "llanto", "llave",
15397"llegar", "llenar", "llevar", "llorar", "llover", "lluvia", "lobo", "loción", "loco", "locura",
15398"lógica", "logro", "lombriz", "lomo", "lonja", "lote", "lucha", "lucir", "lugar", "lujo",
15399"luna", "lunes", "lupa", "lustro", "luto", "luz", "maceta", "macho", "madera", "madre",
15400"maduro", "maestro", "mafia", "magia", "mago", "maíz", "maldad", "maleta", "malla", "malo",
15401"mamá", "mambo", "mamut", "manco", "mando", "manejar", "manga", "maniquí", "manjar", "mano",
15402"manso", "manta", "mañana", "mapa", "máquina", "mar", "marco", "marea", "marfil", "margen",
15403"marido", "mármol", "marrón", "martes", "marzo", "masa", "máscara", "masivo", "matar", "materia",
15404"matiz", "matriz", "máximo", "mayor", "mazorca", "mecha", "medalla", "medio", "médula", "mejilla",
15405"mejor", "melena", "melón", "memoria", "menor", "mensaje", "mente", "menú", "mercado", "merengue",
15406"mérito", "mes", "mesón", "meta", "meter", "método", "metro", "mezcla", "miedo", "miel",
15407"miembro", "miga", "mil", "milagro", "militar", "millón", "mimo", "mina", "minero", "mínimo",
15408"minuto", "miope", "mirar", "misa", "miseria", "misil", "mismo", "mitad", "mito", "mochila",
15409"moción", "moda", "modelo", "moho", "mojar", "molde", "moler", "molino", "momento", "momia",
15410"monarca", "moneda", "monja", "monto", "moño", "morada", "morder", "moreno", "morir", "morro",
15411"morsa", "mortal", "mosca", "mostrar", "motivo", "mover", "móvil", "mozo", "mucho", "mudar",
15412"mueble", "muela", "muerte", "muestra", "mugre", "mujer", "mula", "muleta", "multa", "mundo",
15413"muñeca", "mural", "muro", "músculo", "museo", "musgo", "música", "muslo", "nácar", "nación",
15414"nadar", "naipe", "naranja", "nariz", "narrar", "nasal", "natal", "nativo", "natural", "náusea",
15415"naval", "nave", "navidad", "necio", "néctar", "negar", "negocio", "negro", "neón", "nervio",
15416"neto", "neutro", "nevar", "nevera", "nicho", "nido", "niebla", "nieto", "niñez", "niño",
15417"nítido", "nivel", "nobleza", "noche", "nómina", "noria", "norma", "norte", "nota", "noticia",
15418"novato", "novela", "novio", "nube", "nuca", "núcleo", "nudillo", "nudo", "nuera", "nueve",
15419"nuez", "nulo", "número", "nutria", "oasis", "obeso", "obispo", "objeto", "obra", "obrero",
15420"observar", "obtener", "obvio", "oca", "ocaso", "océano", "ochenta", "ocho", "ocio", "ocre",
15421"octavo", "octubre", "oculto", "ocupar", "ocurrir", "odiar", "odio", "odisea", "oeste", "ofensa",
15422"oferta", "oficio", "ofrecer", "ogro", "oído", "oír", "ojo", "ola", "oleada", "olfato",
15423"olivo", "olla", "olmo", "olor", "olvido", "ombligo", "onda", "onza", "opaco", "opción",
15424"ópera", "opinar", "oponer", "optar", "óptica", "opuesto", "oración", "orador", "oral", "órbita",
15425"orca", "orden", "oreja", "órgano", "orgía", "orgullo", "oriente", "origen", "orilla", "oro",
15426"orquesta", "oruga", "osadía", "oscuro", "osezno", "oso", "ostra", "otoño", "otro", "oveja",
15427"óvulo", "óxido", "oxígeno", "oyente", "ozono", "pacto", "padre", "paella", "página", "pago",
15428"país", "pájaro", "palabra", "palco", "paleta", "pálido", "palma", "paloma", "palpar", "pan",
15429"panal", "pánico", "pantera", "pañuelo", "papá", "papel", "papilla", "paquete", "parar", "parcela",
15430"pared", "parir", "paro", "párpado", "parque", "párrafo", "parte", "pasar", "paseo", "pasión",
15431"paso", "pasta", "pata", "patio", "patria", "pausa", "pauta", "pavo", "payaso", "peatón",
15432"pecado", "pecera", "pecho", "pedal", "pedir", "pegar", "peine", "pelar", "peldaño", "pelea",
15433"peligro", "pellejo", "pelo", "peluca", "pena", "pensar", "peñón", "peón", "peor", "pepino",
15434"pequeño", "pera", "percha", "perder", "pereza", "perfil", "perico", "perla", "permiso", "perro",
15435"persona", "pesa", "pesca", "pésimo", "pestaña", "pétalo", "petróleo", "pez", "pezuña", "picar",
15436"pichón", "pie", "piedra", "pierna", "pieza", "pijama", "pilar", "piloto", "pimienta", "pino",
15437"pintor", "pinza", "piña", "piojo", "pipa", "pirata", "pisar", "piscina", "piso", "pista",
15438"pitón", "pizca", "placa", "plan", "plata", "playa", "plaza", "pleito", "pleno", "plomo",
15439"pluma", "plural", "pobre", "poco", "poder", "podio", "poema", "poesía", "poeta", "polen",
15440"policía", "pollo", "polvo", "pomada", "pomelo", "pomo", "pompa", "poner", "porción", "portal",
15441"posada", "poseer", "posible", "poste", "potencia", "potro", "pozo", "prado", "precoz", "pregunta",
15442"premio", "prensa", "preso", "previo", "primo", "príncipe", "prisión", "privar", "proa", "probar",
15443"proceso", "producto", "proeza", "profesor", "programa", "prole", "promesa", "pronto", "propio", "próximo",
15444"prueba", "público", "puchero", "pudor", "pueblo", "puerta", "puesto", "pulga", "pulir", "pulmón",
15445"pulpo", "pulso", "puma", "punto", "puñal", "puño", "pupa", "pupila", "puré", "quedar",
15446"queja", "quemar", "querer", "queso", "quieto", "química", "quince", "quitar", "rábano", "rabia",
15447"rabo", "ración", "radical", "raíz", "rama", "rampa", "rancho", "rango", "rapaz", "rápido",
15448"rapto", "rasgo", "raspa", "rato", "rayo", "raza", "razón", "reacción", "realidad", "rebaño",
15449"rebote", "recaer", "receta", "rechazo", "recoger", "recreo", "recto", "recurso", "red", "redondo",
15450"reducir", "reflejo", "reforma", "refrán", "refugio", "regalo", "regir", "regla", "regreso", "rehén",
15451"reino", "reír", "reja", "relato", "relevo", "relieve", "relleno", "reloj", "remar", "remedio",
15452"remo", "rencor", "rendir", "renta", "reparto", "repetir", "reposo", "reptil", "res", "rescate",
15453"resina", "respeto", "resto", "resumen", "retiro", "retorno", "retrato", "reunir", "revés", "revista",
15454"rey", "rezar", "rico", "riego", "rienda", "riesgo", "rifa", "rígido", "rigor", "rincón",
15455"riñón", "río", "riqueza", "risa", "ritmo", "rito", "rizo", "roble", "roce", "rociar",
15456"rodar", "rodeo", "rodilla", "roer", "rojizo", "rojo", "romero", "romper", "ron", "ronco",
15457"ronda", "ropa", "ropero", "rosa", "rosca", "rostro", "rotar", "rubí", "rubor", "rudo",
15458"rueda", "rugir", "ruido", "ruina", "ruleta", "rulo", "rumbo", "rumor", "ruptura", "ruta",
15459"rutina", "sábado", "saber", "sabio", "sable", "sacar", "sagaz", "sagrado", "sala", "saldo",
15460"salero", "salir", "salmón", "salón", "salsa", "salto", "salud", "salvar", "samba", "sanción",
15461"sandía", "sanear", "sangre", "sanidad", "sano", "santo", "sapo", "saque", "sardina", "sartén",
15462"sastre", "satán", "sauna", "saxofón", "sección", "seco", "secreto", "secta", "sed", "seguir",
15463"seis", "sello", "selva", "semana", "semilla", "senda", "sensor", "señal", "señor", "separar",
15464"sepia", "sequía", "ser", "serie", "sermón", "servir", "sesenta", "sesión", "seta", "setenta",
15465"severo", "sexo", "sexto", "sidra", "siesta", "siete", "siglo", "signo", "sílaba", "silbar",
15466"silencio", "silla", "símbolo", "simio", "sirena", "sistema", "sitio", "situar", "sobre", "socio",
15467"sodio", "sol", "solapa", "soldado", "soledad", "sólido", "soltar", "solución", "sombra", "sondeo",
15468"sonido", "sonoro", "sonrisa", "sopa", "soplar", "soporte", "sordo", "sorpresa", "sorteo", "sostén",
15469"sótano", "suave", "subir", "suceso", "sudor", "suegra", "suelo", "sueño", "suerte", "sufrir",
15470"sujeto", "sultán", "sumar", "superar", "suplir", "suponer", "supremo", "sur", "surco", "sureño",
15471"surgir", "susto", "sutil", "tabaco", "tabique", "tabla", "tabú", "taco", "tacto", "tajo",
15472"talar", "talco", "talento", "talla", "talón", "tamaño", "tambor", "tango", "tanque", "tapa",
15473"tapete", "tapia", "tapón", "taquilla", "tarde", "tarea", "tarifa", "tarjeta", "tarot", "tarro",
15474"tarta", "tatuaje", "tauro", "taza", "tazón", "teatro", "techo", "tecla", "técnica", "tejado",
15475"tejer", "tejido", "tela", "teléfono", "tema", "temor", "templo", "tenaz", "tender", "tener",
15476"tenis", "tenso", "teoría", "terapia", "terco", "término", "ternura", "terror", "tesis", "tesoro",
15477"testigo", "tetera", "texto", "tez", "tibio", "tiburón", "tiempo", "tienda", "tierra", "tieso",
15478"tigre", "tijera", "tilde", "timbre", "tímido", "timo", "tinta", "tío", "típico", "tipo",
15479"tira", "tirón", "titán", "títere", "título", "tiza", "toalla", "tobillo", "tocar", "tocino",
15480"todo", "toga", "toldo", "tomar", "tono", "tonto", "topar", "tope", "toque", "tórax",
15481"torero", "tormenta", "torneo", "toro", "torpedo", "torre", "torso", "tortuga", "tos", "tosco",
15482"toser", "tóxico", "trabajo", "tractor", "traer", "tráfico", "trago", "traje", "tramo", "trance",
15483"trato", "trauma", "trazar", "trébol", "tregua", "treinta", "tren", "trepar", "tres", "tribu",
15484"trigo", "tripa", "triste", "triunfo", "trofeo", "trompa", "tronco", "tropa", "trote", "trozo",
15485"truco", "trueno", "trufa", "tubería", "tubo", "tuerto", "tumba", "tumor", "túnel", "túnica",
15486"turbina", "turismo", "turno", "tutor", "ubicar", "úlcera", "umbral", "unidad", "unir", "universo",
15487"uno", "untar", "uña", "urbano", "urbe", "urgente", "urna", "usar", "usuario", "útil",
15488"utopía", "uva", "vaca", "vacío", "vacuna", "vagar", "vago", "vaina", "vajilla", "vale",
15489"válido", "valle", "valor", "válvula", "vampiro", "vara", "variar", "varón", "vaso", "vecino",
15490"vector", "vehículo", "veinte", "vejez", "vela", "velero", "veloz", "vena", "vencer", "venda",
15491"veneno", "vengar", "venir", "venta", "venus", "ver", "verano", "verbo", "verde", "vereda",
15492"verja", "verso", "verter", "vía", "viaje", "vibrar", "vicio", "víctima", "vida", "vídeo",
15493"vidrio", "viejo", "viernes", "vigor", "vil", "villa", "vinagre", "vino", "viñedo", "violín",
15494"viral", "virgo", "virtud", "visor", "víspera", "vista", "vitamina", "viudo", "vivaz", "vivero",
15495"vivir", "vivo", "volcán", "volumen", "volver", "voraz", "votar", "voto", "voz", "vuelo",
15496"vulgar", "yacer", "yate", "yegua", "yema", "yerno", "yeso", "yodo", "yoga", "yogur",
15497"zafiro", "zanja", "zapato", "zarza", "zona", "zorro", "zumo", "zurdo"]
15498</script>
15499 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15500WORDLISTS["chinese_simplified"] = [
15501"的", "一", "是", "在", "不", "了", "有", "和", "人", "这",
15502"中", "大", "为", "上", "个", "国", "我", "以", "要", "他",
15503"时", "来", "用", "们", "生", "到", "作", "地", "于", "出",
15504"就", "分", "对", "成", "会", "可", "主", "发", "年", "动",
15505"同", "工", "也", "能", "下", "过", "子", "说", "产", "种",
15506"面", "而", "方", "后", "多", "定", "行", "学", "法", "所",
15507"民", "得", "经", "十", "三", "之", "进", "着", "等", "部",
15508"度", "家", "电", "力", "里", "如", "水", "化", "高", "自",
15509"二", "理", "起", "小", "物", "现", "实", "加", "量", "都",
15510"两", "体", "制", "机", "当", "使", "点", "从", "业", "本",
15511"去", "把", "性", "好", "应", "开", "它", "合", "还", "因",
15512"由", "其", "些", "然", "前", "外", "天", "政", "四", "日",
15513"那", "社", "义", "事", "平", "形", "相", "全", "表", "间",
15514"样", "与", "关", "各", "重", "新", "线", "内", "数", "正",
15515"心", "反", "你", "明", "看", "原", "又", "么", "利", "比",
15516"或", "但", "质", "气", "第", "向", "道", "命", "此", "变",
15517"条", "只", "没", "结", "解", "问", "意", "建", "月", "公",
15518"无", "系", "军", "很", "情", "者", "最", "立", "代", "想",
15519"已", "通", "并", "提", "直", "题", "党", "程", "展", "五",
15520"果", "料", "象", "员", "革", "位", "入", "常", "文", "总",
15521"次", "品", "式", "活", "设", "及", "管", "特", "件", "长",
15522"求", "老", "头", "基", "资", "边", "流", "路", "级", "少",
15523"图", "山", "统", "接", "知", "较", "将", "组", "见", "计",
15524"别", "她", "手", "角", "期", "根", "论", "运", "农", "指",
15525"几", "九", "区", "强", "放", "决", "西", "被", "干", "做",
15526"必", "战", "先", "回", "则", "任", "取", "据", "处", "队",
15527"南", "给", "色", "光", "门", "即", "保", "治", "北", "造",
15528"百", "规", "热", "领", "七", "海", "口", "东", "导", "器",
15529"压", "志", "世", "金", "增", "争", "济", "阶", "油", "思",
15530"术", "极", "交", "受", "联", "什", "认", "六", "共", "权",
15531"收", "证", "改", "清", "美", "再", "采", "转", "更", "单",
15532"风", "切", "打", "白", "教", "速", "花", "带", "安", "场",
15533"身", "车", "例", "真", "务", "具", "万", "每", "目", "至",
15534"达", "走", "积", "示", "议", "声", "报", "斗", "完", "类",
15535"八", "离", "华", "名", "确", "才", "科", "张", "信", "马",
15536"节", "话", "米", "整", "空", "元", "况", "今", "集", "温",
15537"传", "土", "许", "步", "群", "广", "石", "记", "需", "段",
15538"研", "界", "拉", "林", "律", "叫", "且", "究", "观", "越",
15539"织", "装", "影", "算", "低", "持", "音", "众", "书", "布",
15540"复", "容", "儿", "须", "际", "商", "非", "验", "连", "断",
15541"深", "难", "近", "矿", "千", "周", "委", "素", "技", "备",
15542"半", "办", "青", "省", "列", "习", "响", "约", "支", "般",
15543"史", "感", "劳", "便", "团", "往", "酸", "历", "市", "克",
15544"何", "除", "消", "构", "府", "称", "太", "准", "精", "值",
15545"号", "率", "族", "维", "划", "选", "标", "写", "存", "候",
15546"毛", "亲", "快", "效", "斯", "院", "查", "江", "型", "眼",
15547"王", "按", "格", "养", "易", "置", "派", "层", "片", "始",
15548"却", "专", "状", "育", "厂", "京", "识", "适", "属", "圆",
15549"包", "火", "住", "调", "满", "县", "局", "照", "参", "红",
15550"细", "引", "听", "该", "铁", "价", "严", "首", "底", "液",
15551"官", "德", "随", "病", "苏", "失", "尔", "死", "讲", "配",
15552"女", "黄", "推", "显", "谈", "罪", "神", "艺", "呢", "席",
15553"含", "企", "望", "密", "批", "营", "项", "防", "举", "球",
15554"英", "氧", "势", "告", "李", "台", "落", "木", "帮", "轮",
15555"破", "亚", "师", "围", "注", "远", "字", "材", "排", "供",
15556"河", "态", "封", "另", "施", "减", "树", "溶", "怎", "止",
15557"案", "言", "士", "均", "武", "固", "叶", "鱼", "波", "视",
15558"仅", "费", "紧", "爱", "左", "章", "早", "朝", "害", "续",
15559"轻", "服", "试", "食", "充", "兵", "源", "判", "护", "司",
15560"足", "某", "练", "差", "致", "板", "田", "降", "黑", "犯",
15561"负", "击", "范", "继", "兴", "似", "余", "坚", "曲", "输",
15562"修", "故", "城", "夫", "够", "送", "笔", "船", "占", "右",
15563"财", "吃", "富", "春", "职", "觉", "汉", "画", "功", "巴",
15564"跟", "虽", "杂", "飞", "检", "吸", "助", "升", "阳", "互",
15565"初", "创", "抗", "考", "投", "坏", "策", "古", "径", "换",
15566"未", "跑", "留", "钢", "曾", "端", "责", "站", "简", "述",
15567"钱", "副", "尽", "帝", "射", "草", "冲", "承", "独", "令",
15568"限", "阿", "宣", "环", "双", "请", "超", "微", "让", "控",
15569"州", "良", "轴", "找", "否", "纪", "益", "依", "优", "顶",
15570"础", "载", "倒", "房", "突", "坐", "粉", "敌", "略", "客",
15571"袁", "冷", "胜", "绝", "析", "块", "剂", "测", "丝", "协",
15572"诉", "念", "陈", "仍", "罗", "盐", "友", "洋", "错", "苦",
15573"夜", "刑", "移", "频", "逐", "靠", "混", "母", "短", "皮",
15574"终", "聚", "汽", "村", "云", "哪", "既", "距", "卫", "停",
15575"烈", "央", "察", "烧", "迅", "境", "若", "印", "洲", "刻",
15576"括", "激", "孔", "搞", "甚", "室", "待", "核", "校", "散",
15577"侵", "吧", "甲", "游", "久", "菜", "味", "旧", "模", "湖",
15578"货", "损", "预", "阻", "毫", "普", "稳", "乙", "妈", "植",
15579"息", "扩", "银", "语", "挥", "酒", "守", "拿", "序", "纸",
15580"医", "缺", "雨", "吗", "针", "刘", "啊", "急", "唱", "误",
15581"训", "愿", "审", "附", "获", "茶", "鲜", "粮", "斤", "孩",
15582"脱", "硫", "肥", "善", "龙", "演", "父", "渐", "血", "欢",
15583"械", "掌", "歌", "沙", "刚", "攻", "谓", "盾", "讨", "晚",
15584"粒", "乱", "燃", "矛", "乎", "杀", "药", "宁", "鲁", "贵",
15585"钟", "煤", "读", "班", "伯", "香", "介", "迫", "句", "丰",
15586"培", "握", "兰", "担", "弦", "蛋", "沉", "假", "穿", "执",
15587"答", "乐", "谁", "顺", "烟", "缩", "征", "脸", "喜", "松",
15588"脚", "困", "异", "免", "背", "星", "福", "买", "染", "井",
15589"概", "慢", "怕", "磁", "倍", "祖", "皇", "促", "静", "补",
15590"评", "翻", "肉", "践", "尼", "衣", "宽", "扬", "棉", "希",
15591"伤", "操", "垂", "秋", "宜", "氢", "套", "督", "振", "架",
15592"亮", "末", "宪", "庆", "编", "牛", "触", "映", "雷", "销",
15593"诗", "座", "居", "抓", "裂", "胞", "呼", "娘", "景", "威",
15594"绿", "晶", "厚", "盟", "衡", "鸡", "孙", "延", "危", "胶",
15595"屋", "乡", "临", "陆", "顾", "掉", "呀", "灯", "岁", "措",
15596"束", "耐", "剧", "玉", "赵", "跳", "哥", "季", "课", "凯",
15597"胡", "额", "款", "绍", "卷", "齐", "伟", "蒸", "殖", "永",
15598"宗", "苗", "川", "炉", "岩", "弱", "零", "杨", "奏", "沿",
15599"露", "杆", "探", "滑", "镇", "饭", "浓", "航", "怀", "赶",
15600"库", "夺", "伊", "灵", "税", "途", "灭", "赛", "归", "召",
15601"鼓", "播", "盘", "裁", "险", "康", "唯", "录", "菌", "纯",
15602"借", "糖", "盖", "横", "符", "私", "努", "堂", "域", "枪",
15603"润", "幅", "哈", "竟", "熟", "虫", "泽", "脑", "壤", "碳",
15604"欧", "遍", "侧", "寨", "敢", "彻", "虑", "斜", "薄", "庭",
15605"纳", "弹", "饲", "伸", "折", "麦", "湿", "暗", "荷", "瓦",
15606"塞", "床", "筑", "恶", "户", "访", "塔", "奇", "透", "梁",
15607"刀", "旋", "迹", "卡", "氯", "遇", "份", "毒", "泥", "退",
15608"洗", "摆", "灰", "彩", "卖", "耗", "夏", "择", "忙", "铜",
15609"献", "硬", "予", "繁", "圈", "雪", "函", "亦", "抽", "篇",
15610"阵", "阴", "丁", "尺", "追", "堆", "雄", "迎", "泛", "爸",
15611"楼", "避", "谋", "吨", "野", "猪", "旗", "累", "偏", "典",
15612"馆", "索", "秦", "脂", "潮", "爷", "豆", "忽", "托", "惊",
15613"塑", "遗", "愈", "朱", "替", "纤", "粗", "倾", "尚", "痛",
15614"楚", "谢", "奋", "购", "磨", "君", "池", "旁", "碎", "骨",
15615"监", "捕", "弟", "暴", "割", "贯", "殊", "释", "词", "亡",
15616"壁", "顿", "宝", "午", "尘", "闻", "揭", "炮", "残", "冬",
15617"桥", "妇", "警", "综", "招", "吴", "付", "浮", "遭", "徐",
15618"您", "摇", "谷", "赞", "箱", "隔", "订", "男", "吹", "园",
15619"纷", "唐", "败", "宋", "玻", "巨", "耕", "坦", "荣", "闭",
15620"湾", "键", "凡", "驻", "锅", "救", "恩", "剥", "凝", "碱",
15621"齿", "截", "炼", "麻", "纺", "禁", "废", "盛", "版", "缓",
15622"净", "睛", "昌", "婚", "涉", "筒", "嘴", "插", "岸", "朗",
15623"庄", "街", "藏", "姑", "贸", "腐", "奴", "啦", "惯", "乘",
15624"伙", "恢", "匀", "纱", "扎", "辩", "耳", "彪", "臣", "亿",
15625"璃", "抵", "脉", "秀", "萨", "俄", "网", "舞", "店", "喷",
15626"纵", "寸", "汗", "挂", "洪", "贺", "闪", "柬", "爆", "烯",
15627"津", "稻", "墙", "软", "勇", "像", "滚", "厘", "蒙", "芳",
15628"肯", "坡", "柱", "荡", "腿", "仪", "旅", "尾", "轧", "冰",
15629"贡", "登", "黎", "削", "钻", "勒", "逃", "障", "氨", "郭",
15630"峰", "币", "港", "伏", "轨", "亩", "毕", "擦", "莫", "刺",
15631"浪", "秘", "援", "株", "健", "售", "股", "岛", "甘", "泡",
15632"睡", "童", "铸", "汤", "阀", "休", "汇", "舍", "牧", "绕",
15633"炸", "哲", "磷", "绩", "朋", "淡", "尖", "启", "陷", "柴",
15634"呈", "徒", "颜", "泪", "稍", "忘", "泵", "蓝", "拖", "洞",
15635"授", "镜", "辛", "壮", "锋", "贫", "虚", "弯", "摩", "泰",
15636"幼", "廷", "尊", "窗", "纲", "弄", "隶", "疑", "氏", "宫",
15637"姐", "震", "瑞", "怪", "尤", "琴", "循", "描", "膜", "违",
15638"夹", "腰", "缘", "珠", "穷", "森", "枝", "竹", "沟", "催",
15639"绳", "忆", "邦", "剩", "幸", "浆", "栏", "拥", "牙", "贮",
15640"礼", "滤", "钠", "纹", "罢", "拍", "咱", "喊", "袖", "埃",
15641"勤", "罚", "焦", "潜", "伍", "墨", "欲", "缝", "姓", "刊",
15642"饱", "仿", "奖", "铝", "鬼", "丽", "跨", "默", "挖", "链",
15643"扫", "喝", "袋", "炭", "污", "幕", "诸", "弧", "励", "梅",
15644"奶", "洁", "灾", "舟", "鉴", "苯", "讼", "抱", "毁", "懂",
15645"寒", "智", "埔", "寄", "届", "跃", "渡", "挑", "丹", "艰",
15646"贝", "碰", "拔", "爹", "戴", "码", "梦", "芽", "熔", "赤",
15647"渔", "哭", "敬", "颗", "奔", "铅", "仲", "虎", "稀", "妹",
15648"乏", "珍", "申", "桌", "遵", "允", "隆", "螺", "仓", "魏",
15649"锐", "晓", "氮", "兼", "隐", "碍", "赫", "拨", "忠", "肃",
15650"缸", "牵", "抢", "博", "巧", "壳", "兄", "杜", "讯", "诚",
15651"碧", "祥", "柯", "页", "巡", "矩", "悲", "灌", "龄", "伦",
15652"票", "寻", "桂", "铺", "圣", "恐", "恰", "郑", "趣", "抬",
15653"荒", "腾", "贴", "柔", "滴", "猛", "阔", "辆", "妻", "填",
15654"撤", "储", "签", "闹", "扰", "紫", "砂", "递", "戏", "吊",
15655"陶", "伐", "喂", "疗", "瓶", "婆", "抚", "臂", "摸", "忍",
15656"虾", "蜡", "邻", "胸", "巩", "挤", "偶", "弃", "槽", "劲",
15657"乳", "邓", "吉", "仁", "烂", "砖", "租", "乌", "舰", "伴",
15658"瓜", "浅", "丙", "暂", "燥", "橡", "柳", "迷", "暖", "牌",
15659"秧", "胆", "详", "簧", "踏", "瓷", "谱", "呆", "宾", "糊",
15660"洛", "辉", "愤", "竞", "隙", "怒", "粘", "乃", "绪", "肩",
15661"籍", "敏", "涂", "熙", "皆", "侦", "悬", "掘", "享", "纠",
15662"醒", "狂", "锁", "淀", "恨", "牲", "霸", "爬", "赏", "逆",
15663"玩", "陵", "祝", "秒", "浙", "貌", "役", "彼", "悉", "鸭",
15664"趋", "凤", "晨", "畜", "辈", "秩", "卵", "署", "梯", "炎",
15665"滩", "棋", "驱", "筛", "峡", "冒", "啥", "寿", "译", "浸",
15666"泉", "帽", "迟", "硅", "疆", "贷", "漏", "稿", "冠", "嫩",
15667"胁", "芯", "牢", "叛", "蚀", "奥", "鸣", "岭", "羊", "凭",
15668"串", "塘", "绘", "酵", "融", "盆", "锡", "庙", "筹", "冻",
15669"辅", "摄", "袭", "筋", "拒", "僚", "旱", "钾", "鸟", "漆",
15670"沈", "眉", "疏", "添", "棒", "穗", "硝", "韩", "逼", "扭",
15671"侨", "凉", "挺", "碗", "栽", "炒", "杯", "患", "馏", "劝",
15672"豪", "辽", "勃", "鸿", "旦", "吏", "拜", "狗", "埋", "辊",
15673"掩", "饮", "搬", "骂", "辞", "勾", "扣", "估", "蒋", "绒",
15674"雾", "丈", "朵", "姆", "拟", "宇", "辑", "陕", "雕", "偿",
15675"蓄", "崇", "剪", "倡", "厅", "咬", "驶", "薯", "刷", "斥",
15676"番", "赋", "奉", "佛", "浇", "漫", "曼", "扇", "钙", "桃",
15677"扶", "仔", "返", "俗", "亏", "腔", "鞋", "棱", "覆", "框",
15678"悄", "叔", "撞", "骗", "勘", "旺", "沸", "孤", "吐", "孟",
15679"渠", "屈", "疾", "妙", "惜", "仰", "狠", "胀", "谐", "抛",
15680"霉", "桑", "岗", "嘛", "衰", "盗", "渗", "脏", "赖", "涌",
15681"甜", "曹", "阅", "肌", "哩", "厉", "烃", "纬", "毅", "昨",
15682"伪", "症", "煮", "叹", "钉", "搭", "茎", "笼", "酷", "偷",
15683"弓", "锥", "恒", "杰", "坑", "鼻", "翼", "纶", "叙", "狱",
15684"逮", "罐", "络", "棚", "抑", "膨", "蔬", "寺", "骤", "穆",
15685"冶", "枯", "册", "尸", "凸", "绅", "坯", "牺", "焰", "轰",
15686"欣", "晋", "瘦", "御", "锭", "锦", "丧", "旬", "锻", "垄",
15687"搜", "扑", "邀", "亭", "酯", "迈", "舒", "脆", "酶", "闲",
15688"忧", "酚", "顽", "羽", "涨", "卸", "仗", "陪", "辟", "惩",
15689"杭", "姚", "肚", "捉", "飘", "漂", "昆", "欺", "吾", "郎",
15690"烷", "汁", "呵", "饰", "萧", "雅", "邮", "迁", "燕", "撒",
15691"姻", "赴", "宴", "烦", "债", "帐", "斑", "铃", "旨", "醇",
15692"董", "饼", "雏", "姿", "拌", "傅", "腹", "妥", "揉", "贤",
15693"拆", "歪", "葡", "胺", "丢", "浩", "徽", "昂", "垫", "挡",
15694"览", "贪", "慰", "缴", "汪", "慌", "冯", "诺", "姜", "谊",
15695"凶", "劣", "诬", "耀", "昏", "躺", "盈", "骑", "乔", "溪",
15696"丛", "卢", "抹", "闷", "咨", "刮", "驾", "缆", "悟", "摘",
15697"铒", "掷", "颇", "幻", "柄", "惠", "惨", "佳", "仇", "腊",
15698"窝", "涤", "剑", "瞧", "堡", "泼", "葱", "罩", "霍", "捞",
15699"胎", "苍", "滨", "俩", "捅", "湘", "砍", "霞", "邵", "萄",
15700"疯", "淮", "遂", "熊", "粪", "烘", "宿", "档", "戈", "驳",
15701"嫂", "裕", "徙", "箭", "捐", "肠", "撑", "晒", "辨", "殿",
15702"莲", "摊", "搅", "酱", "屏", "疫", "哀", "蔡", "堵", "沫",
15703"皱", "畅", "叠", "阁", "莱", "敲", "辖", "钩", "痕", "坝",
15704"巷", "饿", "祸", "丘", "玄", "溜", "曰", "逻", "彭", "尝",
15705"卿", "妨", "艇", "吞", "韦", "怨", "矮", "歇" ]
15706</script>
15707 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15708WORDLISTS["chinese_traditional"] = [
15709"的", "一", "是", "在", "不", "了", "有", "和", "人", "這",
15710"中", "大", "為", "上", "個", "國", "我", "以", "要", "他",
15711"時", "來", "用", "們", "生", "到", "作", "地", "於", "出",
15712"就", "分", "對", "成", "會", "可", "主", "發", "年", "動",
15713"同", "工", "也", "能", "下", "過", "子", "說", "產", "種",
15714"面", "而", "方", "後", "多", "定", "行", "學", "法", "所",
15715"民", "得", "經", "十", "三", "之", "進", "著", "等", "部",
15716"度", "家", "電", "力", "裡", "如", "水", "化", "高", "自",
15717"二", "理", "起", "小", "物", "現", "實", "加", "量", "都",
15718"兩", "體", "制", "機", "當", "使", "點", "從", "業", "本",
15719"去", "把", "性", "好", "應", "開", "它", "合", "還", "因",
15720"由", "其", "些", "然", "前", "外", "天", "政", "四", "日",
15721"那", "社", "義", "事", "平", "形", "相", "全", "表", "間",
15722"樣", "與", "關", "各", "重", "新", "線", "內", "數", "正",
15723"心", "反", "你", "明", "看", "原", "又", "麼", "利", "比",
15724"或", "但", "質", "氣", "第", "向", "道", "命", "此", "變",
15725"條", "只", "沒", "結", "解", "問", "意", "建", "月", "公",
15726"無", "系", "軍", "很", "情", "者", "最", "立", "代", "想",
15727"已", "通", "並", "提", "直", "題", "黨", "程", "展", "五",
15728"果", "料", "象", "員", "革", "位", "入", "常", "文", "總",
15729"次", "品", "式", "活", "設", "及", "管", "特", "件", "長",
15730"求", "老", "頭", "基", "資", "邊", "流", "路", "級", "少",
15731"圖", "山", "統", "接", "知", "較", "將", "組", "見", "計",
15732"別", "她", "手", "角", "期", "根", "論", "運", "農", "指",
15733"幾", "九", "區", "強", "放", "決", "西", "被", "幹", "做",
15734"必", "戰", "先", "回", "則", "任", "取", "據", "處", "隊",
15735"南", "給", "色", "光", "門", "即", "保", "治", "北", "造",
15736"百", "規", "熱", "領", "七", "海", "口", "東", "導", "器",
15737"壓", "志", "世", "金", "增", "爭", "濟", "階", "油", "思",
15738"術", "極", "交", "受", "聯", "什", "認", "六", "共", "權",
15739"收", "證", "改", "清", "美", "再", "採", "轉", "更", "單",
15740"風", "切", "打", "白", "教", "速", "花", "帶", "安", "場",
15741"身", "車", "例", "真", "務", "具", "萬", "每", "目", "至",
15742"達", "走", "積", "示", "議", "聲", "報", "鬥", "完", "類",
15743"八", "離", "華", "名", "確", "才", "科", "張", "信", "馬",
15744"節", "話", "米", "整", "空", "元", "況", "今", "集", "溫",
15745"傳", "土", "許", "步", "群", "廣", "石", "記", "需", "段",
15746"研", "界", "拉", "林", "律", "叫", "且", "究", "觀", "越",
15747"織", "裝", "影", "算", "低", "持", "音", "眾", "書", "布",
15748"复", "容", "兒", "須", "際", "商", "非", "驗", "連", "斷",
15749"深", "難", "近", "礦", "千", "週", "委", "素", "技", "備",
15750"半", "辦", "青", "省", "列", "習", "響", "約", "支", "般",
15751"史", "感", "勞", "便", "團", "往", "酸", "歷", "市", "克",
15752"何", "除", "消", "構", "府", "稱", "太", "準", "精", "值",
15753"號", "率", "族", "維", "劃", "選", "標", "寫", "存", "候",
15754"毛", "親", "快", "效", "斯", "院", "查", "江", "型", "眼",
15755"王", "按", "格", "養", "易", "置", "派", "層", "片", "始",
15756"卻", "專", "狀", "育", "廠", "京", "識", "適", "屬", "圓",
15757"包", "火", "住", "調", "滿", "縣", "局", "照", "參", "紅",
15758"細", "引", "聽", "該", "鐵", "價", "嚴", "首", "底", "液",
15759"官", "德", "隨", "病", "蘇", "失", "爾", "死", "講", "配",
15760"女", "黃", "推", "顯", "談", "罪", "神", "藝", "呢", "席",
15761"含", "企", "望", "密", "批", "營", "項", "防", "舉", "球",
15762"英", "氧", "勢", "告", "李", "台", "落", "木", "幫", "輪",
15763"破", "亞", "師", "圍", "注", "遠", "字", "材", "排", "供",
15764"河", "態", "封", "另", "施", "減", "樹", "溶", "怎", "止",
15765"案", "言", "士", "均", "武", "固", "葉", "魚", "波", "視",
15766"僅", "費", "緊", "愛", "左", "章", "早", "朝", "害", "續",
15767"輕", "服", "試", "食", "充", "兵", "源", "判", "護", "司",
15768"足", "某", "練", "差", "致", "板", "田", "降", "黑", "犯",
15769"負", "擊", "范", "繼", "興", "似", "餘", "堅", "曲", "輸",
15770"修", "故", "城", "夫", "夠", "送", "筆", "船", "佔", "右",
15771"財", "吃", "富", "春", "職", "覺", "漢", "畫", "功", "巴",
15772"跟", "雖", "雜", "飛", "檢", "吸", "助", "昇", "陽", "互",
15773"初", "創", "抗", "考", "投", "壞", "策", "古", "徑", "換",
15774"未", "跑", "留", "鋼", "曾", "端", "責", "站", "簡", "述",
15775"錢", "副", "盡", "帝", "射", "草", "衝", "承", "獨", "令",
15776"限", "阿", "宣", "環", "雙", "請", "超", "微", "讓", "控",
15777"州", "良", "軸", "找", "否", "紀", "益", "依", "優", "頂",
15778"礎", "載", "倒", "房", "突", "坐", "粉", "敵", "略", "客",
15779"袁", "冷", "勝", "絕", "析", "塊", "劑", "測", "絲", "協",
15780"訴", "念", "陳", "仍", "羅", "鹽", "友", "洋", "錯", "苦",
15781"夜", "刑", "移", "頻", "逐", "靠", "混", "母", "短", "皮",
15782"終", "聚", "汽", "村", "雲", "哪", "既", "距", "衛", "停",
15783"烈", "央", "察", "燒", "迅", "境", "若", "印", "洲", "刻",
15784"括", "激", "孔", "搞", "甚", "室", "待", "核", "校", "散",
15785"侵", "吧", "甲", "遊", "久", "菜", "味", "舊", "模", "湖",
15786"貨", "損", "預", "阻", "毫", "普", "穩", "乙", "媽", "植",
15787"息", "擴", "銀", "語", "揮", "酒", "守", "拿", "序", "紙",
15788"醫", "缺", "雨", "嗎", "針", "劉", "啊", "急", "唱", "誤",
15789"訓", "願", "審", "附", "獲", "茶", "鮮", "糧", "斤", "孩",
15790"脫", "硫", "肥", "善", "龍", "演", "父", "漸", "血", "歡",
15791"械", "掌", "歌", "沙", "剛", "攻", "謂", "盾", "討", "晚",
15792"粒", "亂", "燃", "矛", "乎", "殺", "藥", "寧", "魯", "貴",
15793"鐘", "煤", "讀", "班", "伯", "香", "介", "迫", "句", "豐",
15794"培", "握", "蘭", "擔", "弦", "蛋", "沉", "假", "穿", "執",
15795"答", "樂", "誰", "順", "煙", "縮", "徵", "臉", "喜", "松",
15796"腳", "困", "異", "免", "背", "星", "福", "買", "染", "井",
15797"概", "慢", "怕", "磁", "倍", "祖", "皇", "促", "靜", "補",
15798"評", "翻", "肉", "踐", "尼", "衣", "寬", "揚", "棉", "希",
15799"傷", "操", "垂", "秋", "宜", "氫", "套", "督", "振", "架",
15800"亮", "末", "憲", "慶", "編", "牛", "觸", "映", "雷", "銷",
15801"詩", "座", "居", "抓", "裂", "胞", "呼", "娘", "景", "威",
15802"綠", "晶", "厚", "盟", "衡", "雞", "孫", "延", "危", "膠",
15803"屋", "鄉", "臨", "陸", "顧", "掉", "呀", "燈", "歲", "措",
15804"束", "耐", "劇", "玉", "趙", "跳", "哥", "季", "課", "凱",
15805"胡", "額", "款", "紹", "卷", "齊", "偉", "蒸", "殖", "永",
15806"宗", "苗", "川", "爐", "岩", "弱", "零", "楊", "奏", "沿",
15807"露", "桿", "探", "滑", "鎮", "飯", "濃", "航", "懷", "趕",
15808"庫", "奪", "伊", "靈", "稅", "途", "滅", "賽", "歸", "召",
15809"鼓", "播", "盤", "裁", "險", "康", "唯", "錄", "菌", "純",
15810"借", "糖", "蓋", "橫", "符", "私", "努", "堂", "域", "槍",
15811"潤", "幅", "哈", "竟", "熟", "蟲", "澤", "腦", "壤", "碳",
15812"歐", "遍", "側", "寨", "敢", "徹", "慮", "斜", "薄", "庭",
15813"納", "彈", "飼", "伸", "折", "麥", "濕", "暗", "荷", "瓦",
15814"塞", "床", "築", "惡", "戶", "訪", "塔", "奇", "透", "梁",
15815"刀", "旋", "跡", "卡", "氯", "遇", "份", "毒", "泥", "退",
15816"洗", "擺", "灰", "彩", "賣", "耗", "夏", "擇", "忙", "銅",
15817"獻", "硬", "予", "繁", "圈", "雪", "函", "亦", "抽", "篇",
15818"陣", "陰", "丁", "尺", "追", "堆", "雄", "迎", "泛", "爸",
15819"樓", "避", "謀", "噸", "野", "豬", "旗", "累", "偏", "典",
15820"館", "索", "秦", "脂", "潮", "爺", "豆", "忽", "托", "驚",
15821"塑", "遺", "愈", "朱", "替", "纖", "粗", "傾", "尚", "痛",
15822"楚", "謝", "奮", "購", "磨", "君", "池", "旁", "碎", "骨",
15823"監", "捕", "弟", "暴", "割", "貫", "殊", "釋", "詞", "亡",
15824"壁", "頓", "寶", "午", "塵", "聞", "揭", "炮", "殘", "冬",
15825"橋", "婦", "警", "綜", "招", "吳", "付", "浮", "遭", "徐",
15826"您", "搖", "谷", "贊", "箱", "隔", "訂", "男", "吹", "園",
15827"紛", "唐", "敗", "宋", "玻", "巨", "耕", "坦", "榮", "閉",
15828"灣", "鍵", "凡", "駐", "鍋", "救", "恩", "剝", "凝", "鹼",
15829"齒", "截", "煉", "麻", "紡", "禁", "廢", "盛", "版", "緩",
15830"淨", "睛", "昌", "婚", "涉", "筒", "嘴", "插", "岸", "朗",
15831"莊", "街", "藏", "姑", "貿", "腐", "奴", "啦", "慣", "乘",
15832"夥", "恢", "勻", "紗", "扎", "辯", "耳", "彪", "臣", "億",
15833"璃", "抵", "脈", "秀", "薩", "俄", "網", "舞", "店", "噴",
15834"縱", "寸", "汗", "掛", "洪", "賀", "閃", "柬", "爆", "烯",
15835"津", "稻", "牆", "軟", "勇", "像", "滾", "厘", "蒙", "芳",
15836"肯", "坡", "柱", "盪", "腿", "儀", "旅", "尾", "軋", "冰",
15837"貢", "登", "黎", "削", "鑽", "勒", "逃", "障", "氨", "郭",
15838"峰", "幣", "港", "伏", "軌", "畝", "畢", "擦", "莫", "刺",
15839"浪", "秘", "援", "株", "健", "售", "股", "島", "甘", "泡",
15840"睡", "童", "鑄", "湯", "閥", "休", "匯", "舍", "牧", "繞",
15841"炸", "哲", "磷", "績", "朋", "淡", "尖", "啟", "陷", "柴",
15842"呈", "徒", "顏", "淚", "稍", "忘", "泵", "藍", "拖", "洞",
15843"授", "鏡", "辛", "壯", "鋒", "貧", "虛", "彎", "摩", "泰",
15844"幼", "廷", "尊", "窗", "綱", "弄", "隸", "疑", "氏", "宮",
15845"姐", "震", "瑞", "怪", "尤", "琴", "循", "描", "膜", "違",
15846"夾", "腰", "緣", "珠", "窮", "森", "枝", "竹", "溝", "催",
15847"繩", "憶", "邦", "剩", "幸", "漿", "欄", "擁", "牙", "貯",
15848"禮", "濾", "鈉", "紋", "罷", "拍", "咱", "喊", "袖", "埃",
15849"勤", "罰", "焦", "潛", "伍", "墨", "欲", "縫", "姓", "刊",
15850"飽", "仿", "獎", "鋁", "鬼", "麗", "跨", "默", "挖", "鏈",
15851"掃", "喝", "袋", "炭", "污", "幕", "諸", "弧", "勵", "梅",
15852"奶", "潔", "災", "舟", "鑑", "苯", "訟", "抱", "毀", "懂",
15853"寒", "智", "埔", "寄", "屆", "躍", "渡", "挑", "丹", "艱",
15854"貝", "碰", "拔", "爹", "戴", "碼", "夢", "芽", "熔", "赤",
15855"漁", "哭", "敬", "顆", "奔", "鉛", "仲", "虎", "稀", "妹",
15856"乏", "珍", "申", "桌", "遵", "允", "隆", "螺", "倉", "魏",
15857"銳", "曉", "氮", "兼", "隱", "礙", "赫", "撥", "忠", "肅",
15858"缸", "牽", "搶", "博", "巧", "殼", "兄", "杜", "訊", "誠",
15859"碧", "祥", "柯", "頁", "巡", "矩", "悲", "灌", "齡", "倫",
15860"票", "尋", "桂", "鋪", "聖", "恐", "恰", "鄭", "趣", "抬",
15861"荒", "騰", "貼", "柔", "滴", "猛", "闊", "輛", "妻", "填",
15862"撤", "儲", "簽", "鬧", "擾", "紫", "砂", "遞", "戲", "吊",
15863"陶", "伐", "餵", "療", "瓶", "婆", "撫", "臂", "摸", "忍",
15864"蝦", "蠟", "鄰", "胸", "鞏", "擠", "偶", "棄", "槽", "勁",
15865"乳", "鄧", "吉", "仁", "爛", "磚", "租", "烏", "艦", "伴",
15866"瓜", "淺", "丙", "暫", "燥", "橡", "柳", "迷", "暖", "牌",
15867"秧", "膽", "詳", "簧", "踏", "瓷", "譜", "呆", "賓", "糊",
15868"洛", "輝", "憤", "競", "隙", "怒", "粘", "乃", "緒", "肩",
15869"籍", "敏", "塗", "熙", "皆", "偵", "懸", "掘", "享", "糾",
15870"醒", "狂", "鎖", "淀", "恨", "牲", "霸", "爬", "賞", "逆",
15871"玩", "陵", "祝", "秒", "浙", "貌", "役", "彼", "悉", "鴨",
15872"趨", "鳳", "晨", "畜", "輩", "秩", "卵", "署", "梯", "炎",
15873"灘", "棋", "驅", "篩", "峽", "冒", "啥", "壽", "譯", "浸",
15874"泉", "帽", "遲", "矽", "疆", "貸", "漏", "稿", "冠", "嫩",
15875"脅", "芯", "牢", "叛", "蝕", "奧", "鳴", "嶺", "羊", "憑",
15876"串", "塘", "繪", "酵", "融", "盆", "錫", "廟", "籌", "凍",
15877"輔", "攝", "襲", "筋", "拒", "僚", "旱", "鉀", "鳥", "漆",
15878"沈", "眉", "疏", "添", "棒", "穗", "硝", "韓", "逼", "扭",
15879"僑", "涼", "挺", "碗", "栽", "炒", "杯", "患", "餾", "勸",
15880"豪", "遼", "勃", "鴻", "旦", "吏", "拜", "狗", "埋", "輥",
15881"掩", "飲", "搬", "罵", "辭", "勾", "扣", "估", "蔣", "絨",
15882"霧", "丈", "朵", "姆", "擬", "宇", "輯", "陝", "雕", "償",
15883"蓄", "崇", "剪", "倡", "廳", "咬", "駛", "薯", "刷", "斥",
15884"番", "賦", "奉", "佛", "澆", "漫", "曼", "扇", "鈣", "桃",
15885"扶", "仔", "返", "俗", "虧", "腔", "鞋", "棱", "覆", "框",
15886"悄", "叔", "撞", "騙", "勘", "旺", "沸", "孤", "吐", "孟",
15887"渠", "屈", "疾", "妙", "惜", "仰", "狠", "脹", "諧", "拋",
15888"黴", "桑", "崗", "嘛", "衰", "盜", "滲", "臟", "賴", "湧",
15889"甜", "曹", "閱", "肌", "哩", "厲", "烴", "緯", "毅", "昨",
15890"偽", "症", "煮", "嘆", "釘", "搭", "莖", "籠", "酷", "偷",
15891"弓", "錐", "恆", "傑", "坑", "鼻", "翼", "綸", "敘", "獄",
15892"逮", "罐", "絡", "棚", "抑", "膨", "蔬", "寺", "驟", "穆",
15893"冶", "枯", "冊", "屍", "凸", "紳", "坯", "犧", "焰", "轟",
15894"欣", "晉", "瘦", "禦", "錠", "錦", "喪", "旬", "鍛", "壟",
15895"搜", "撲", "邀", "亭", "酯", "邁", "舒", "脆", "酶", "閒",
15896"憂", "酚", "頑", "羽", "漲", "卸", "仗", "陪", "闢", "懲",
15897"杭", "姚", "肚", "捉", "飄", "漂", "昆", "欺", "吾", "郎",
15898"烷", "汁", "呵", "飾", "蕭", "雅", "郵", "遷", "燕", "撒",
15899"姻", "赴", "宴", "煩", "債", "帳", "斑", "鈴", "旨", "醇",
15900"董", "餅", "雛", "姿", "拌", "傅", "腹", "妥", "揉", "賢",
15901"拆", "歪", "葡", "胺", "丟", "浩", "徽", "昂", "墊", "擋",
15902"覽", "貪", "慰", "繳", "汪", "慌", "馮", "諾", "姜", "誼",
15903"兇", "劣", "誣", "耀", "昏", "躺", "盈", "騎", "喬", "溪",
15904"叢", "盧", "抹", "悶", "諮", "刮", "駕", "纜", "悟", "摘",
15905"鉺", "擲", "頗", "幻", "柄", "惠", "慘", "佳", "仇", "臘",
15906"窩", "滌", "劍", "瞧", "堡", "潑", "蔥", "罩", "霍", "撈",
15907"胎", "蒼", "濱", "倆", "捅", "湘", "砍", "霞", "邵", "萄",
15908"瘋", "淮", "遂", "熊", "糞", "烘", "宿", "檔", "戈", "駁",
15909"嫂", "裕", "徙", "箭", "捐", "腸", "撐", "曬", "辨", "殿",
15910"蓮", "攤", "攪", "醬", "屏", "疫", "哀", "蔡", "堵", "沫",
15911"皺", "暢", "疊", "閣", "萊", "敲", "轄", "鉤", "痕", "壩",
15912"巷", "餓", "禍", "丘", "玄", "溜", "曰", "邏", "彭", "嘗",
15913"卿", "妨", "艇", "吞", "韋", "怨", "矮", "歇" ]
15914</script>
15915 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15916WORDLISTS["french"] = [
15917"abaisser", "abandon", "abdiquer", "abeille", "abolir", "aborder", "aboutir", "aboyer", "abrasif", "abreuver",
15918"abriter", "abroger", "abrupt", "absence", "absolu", "absurde", "abusif", "abyssal", "académie", "acajou",
15919"acarien", "accabler", "accepter", "acclamer", "accolade", "accroche", "accuser", "acerbe", "achat", "acheter",
15920"aciduler", "acier", "acompte", "acquérir", "acronyme", "acteur", "actif", "actuel", "adepte", "adéquat",
15921"adhésif", "adjectif", "adjuger", "admettre", "admirer", "adopter", "adorer", "adoucir", "adresse", "adroit",
15922"adulte", "adverbe", "aérer", "aéronef", "affaire", "affecter", "affiche", "affreux", "affubler", "agacer",
15923"agencer", "agile", "agiter", "agrafer", "agréable", "agrume", "aider", "aiguille", "ailier", "aimable",
15924"aisance", "ajouter", "ajuster", "alarmer", "alchimie", "alerte", "algèbre", "algue", "aliéner", "aliment",
15925"alléger", "alliage", "allouer", "allumer", "alourdir", "alpaga", "altesse", "alvéole", "amateur", "ambigu",
15926"ambre", "aménager", "amertume", "amidon", "amiral", "amorcer", "amour", "amovible", "amphibie", "ampleur",
15927"amusant", "analyse", "anaphore", "anarchie", "anatomie", "ancien", "anéantir", "angle", "angoisse", "anguleux",
15928"animal", "annexer", "annonce", "annuel", "anodin", "anomalie", "anonyme", "anormal", "antenne", "antidote",
15929"anxieux", "apaiser", "apéritif", "aplanir", "apologie", "appareil", "appeler", "apporter", "appuyer", "aquarium",
15930"aqueduc", "arbitre", "arbuste", "ardeur", "ardoise", "argent", "arlequin", "armature", "armement", "armoire",
15931"armure", "arpenter", "arracher", "arriver", "arroser", "arsenic", "artériel", "article", "aspect", "asphalte",
15932"aspirer", "assaut", "asservir", "assiette", "associer", "assurer", "asticot", "astre", "astuce", "atelier",
15933"atome", "atrium", "atroce", "attaque", "attentif", "attirer", "attraper", "aubaine", "auberge", "audace",
15934"audible", "augurer", "aurore", "automne", "autruche", "avaler", "avancer", "avarice", "avenir", "averse",
15935"aveugle", "aviateur", "avide", "avion", "aviser", "avoine", "avouer", "avril", "axial", "axiome",
15936"badge", "bafouer", "bagage", "baguette", "baignade", "balancer", "balcon", "baleine", "balisage", "bambin",
15937"bancaire", "bandage", "banlieue", "bannière", "banquier", "barbier", "baril", "baron", "barque", "barrage",
15938"bassin", "bastion", "bataille", "bateau", "batterie", "baudrier", "bavarder", "belette", "bélier", "belote",
15939"bénéfice", "berceau", "berger", "berline", "bermuda", "besace", "besogne", "bétail", "beurre", "biberon",
15940"bicycle", "bidule", "bijou", "bilan", "bilingue", "billard", "binaire", "biologie", "biopsie", "biotype",
15941"biscuit", "bison", "bistouri", "bitume", "bizarre", "blafard", "blague", "blanchir", "blessant", "blinder",
15942"blond", "bloquer", "blouson", "bobard", "bobine", "boire", "boiser", "bolide", "bonbon", "bondir",
15943"bonheur", "bonifier", "bonus", "bordure", "borne", "botte", "boucle", "boueux", "bougie", "boulon",
15944"bouquin", "bourse", "boussole", "boutique", "boxeur", "branche", "brasier", "brave", "brebis", "brèche",
15945"breuvage", "bricoler", "brigade", "brillant", "brioche", "brique", "brochure", "broder", "bronzer", "brousse",
15946"broyeur", "brume", "brusque", "brutal", "bruyant", "buffle", "buisson", "bulletin", "bureau", "burin",
15947"bustier", "butiner", "butoir", "buvable", "buvette", "cabanon", "cabine", "cachette", "cadeau", "cadre",
15948"caféine", "caillou", "caisson", "calculer", "calepin", "calibre", "calmer", "calomnie", "calvaire", "camarade",
15949"caméra", "camion", "campagne", "canal", "caneton", "canon", "cantine", "canular", "capable", "caporal",
15950"caprice", "capsule", "capter", "capuche", "carabine", "carbone", "caresser", "caribou", "carnage", "carotte",
15951"carreau", "carton", "cascade", "casier", "casque", "cassure", "causer", "caution", "cavalier", "caverne",
15952"caviar", "cédille", "ceinture", "céleste", "cellule", "cendrier", "censurer", "central", "cercle", "cérébral",
15953"cerise", "cerner", "cerveau", "cesser", "chagrin", "chaise", "chaleur", "chambre", "chance", "chapitre",
15954"charbon", "chasseur", "chaton", "chausson", "chavirer", "chemise", "chenille", "chéquier", "chercher", "cheval",
15955"chien", "chiffre", "chignon", "chimère", "chiot", "chlorure", "chocolat", "choisir", "chose", "chouette",
15956"chrome", "chute", "cigare", "cigogne", "cimenter", "cinéma", "cintrer", "circuler", "cirer", "cirque",
15957"citerne", "citoyen", "citron", "civil", "clairon", "clameur", "claquer", "classe", "clavier", "client",
15958"cligner", "climat", "clivage", "cloche", "clonage", "cloporte", "cobalt", "cobra", "cocasse", "cocotier",
15959"coder", "codifier", "coffre", "cogner", "cohésion", "coiffer", "coincer", "colère", "colibri", "colline",
15960"colmater", "colonel", "combat", "comédie", "commande", "compact", "concert", "conduire", "confier", "congeler",
15961"connoter", "consonne", "contact", "convexe", "copain", "copie", "corail", "corbeau", "cordage", "corniche",
15962"corpus", "correct", "cortège", "cosmique", "costume", "coton", "coude", "coupure", "courage", "couteau",
15963"couvrir", "coyote", "crabe", "crainte", "cravate", "crayon", "créature", "créditer", "crémeux", "creuser",
15964"crevette", "cribler", "crier", "cristal", "critère", "croire", "croquer", "crotale", "crucial", "cruel",
15965"crypter", "cubique", "cueillir", "cuillère", "cuisine", "cuivre", "culminer", "cultiver", "cumuler", "cupide",
15966"curatif", "curseur", "cyanure", "cycle", "cylindre", "cynique", "daigner", "damier", "danger", "danseur",
15967"dauphin", "débattre", "débiter", "déborder", "débrider", "débutant", "décaler", "décembre", "déchirer", "décider",
15968"déclarer", "décorer", "décrire", "décupler", "dédale", "déductif", "déesse", "défensif", "défiler", "défrayer",
15969"dégager", "dégivrer", "déglutir", "dégrafer", "déjeuner", "délice", "déloger", "demander", "demeurer", "démolir",
15970"dénicher", "dénouer", "dentelle", "dénuder", "départ", "dépenser", "déphaser", "déplacer", "déposer", "déranger",
15971"dérober", "désastre", "descente", "désert", "désigner", "désobéir", "dessiner", "destrier", "détacher", "détester",
15972"détourer", "détresse", "devancer", "devenir", "deviner", "devoir", "diable", "dialogue", "diamant", "dicter",
15973"différer", "digérer", "digital", "digne", "diluer", "dimanche", "diminuer", "dioxyde", "directif", "diriger",
15974"discuter", "disposer", "dissiper", "distance", "divertir", "diviser", "docile", "docteur", "dogme", "doigt",
15975"domaine", "domicile", "dompter", "donateur", "donjon", "donner", "dopamine", "dortoir", "dorure", "dosage",
15976"doseur", "dossier", "dotation", "douanier", "double", "douceur", "douter", "doyen", "dragon", "draper",
15977"dresser", "dribbler", "droiture", "duperie", "duplexe", "durable", "durcir", "dynastie", "éblouir", "écarter",
15978"écharpe", "échelle", "éclairer", "éclipse", "éclore", "écluse", "école", "économie", "écorce", "écouter",
15979"écraser", "écrémer", "écrivain", "écrou", "écume", "écureuil", "édifier", "éduquer", "effacer", "effectif",
15980"effigie", "effort", "effrayer", "effusion", "égaliser", "égarer", "éjecter", "élaborer", "élargir", "électron",
15981"élégant", "éléphant", "élève", "éligible", "élitisme", "éloge", "élucider", "éluder", "emballer", "embellir",
15982"embryon", "émeraude", "émission", "emmener", "émotion", "émouvoir", "empereur", "employer", "emporter", "emprise",
15983"émulsion", "encadrer", "enchère", "enclave", "encoche", "endiguer", "endosser", "endroit", "enduire", "énergie",
15984"enfance", "enfermer", "enfouir", "engager", "engin", "englober", "énigme", "enjamber", "enjeu", "enlever",
15985"ennemi", "ennuyeux", "enrichir", "enrobage", "enseigne", "entasser", "entendre", "entier", "entourer", "entraver",
15986"énumérer", "envahir", "enviable", "envoyer", "enzyme", "éolien", "épaissir", "épargne", "épatant", "épaule",
15987"épicerie", "épidémie", "épier", "épilogue", "épine", "épisode", "épitaphe", "époque", "épreuve", "éprouver",
15988"épuisant", "équerre", "équipe", "ériger", "érosion", "erreur", "éruption", "escalier", "espadon", "espèce",
15989"espiègle", "espoir", "esprit", "esquiver", "essayer", "essence", "essieu", "essorer", "estime", "estomac",
15990"estrade", "étagère", "étaler", "étanche", "étatique", "éteindre", "étendoir", "éternel", "éthanol", "éthique",
15991"ethnie", "étirer", "étoffer", "étoile", "étonnant", "étourdir", "étrange", "étroit", "étude", "euphorie",
15992"évaluer", "évasion", "éventail", "évidence", "éviter", "évolutif", "évoquer", "exact", "exagérer", "exaucer",
15993"exceller", "excitant", "exclusif", "excuse", "exécuter", "exemple", "exercer", "exhaler", "exhorter", "exigence",
15994"exiler", "exister", "exotique", "expédier", "explorer", "exposer", "exprimer", "exquis", "extensif", "extraire",
15995"exulter", "fable", "fabuleux", "facette", "facile", "facture", "faiblir", "falaise", "fameux", "famille",
15996"farceur", "farfelu", "farine", "farouche", "fasciner", "fatal", "fatigue", "faucon", "fautif", "faveur",
15997"favori", "fébrile", "féconder", "fédérer", "félin", "femme", "fémur", "fendoir", "féodal", "fermer",
15998"féroce", "ferveur", "festival", "feuille", "feutre", "février", "fiasco", "ficeler", "fictif", "fidèle",
15999"figure", "filature", "filetage", "filière", "filleul", "filmer", "filou", "filtrer", "financer", "finir",
16000"fiole", "firme", "fissure", "fixer", "flairer", "flamme", "flasque", "flatteur", "fléau", "flèche",
16001"fleur", "flexion", "flocon", "flore", "fluctuer", "fluide", "fluvial", "folie", "fonderie", "fongible",
16002"fontaine", "forcer", "forgeron", "formuler", "fortune", "fossile", "foudre", "fougère", "fouiller", "foulure",
16003"fourmi", "fragile", "fraise", "franchir", "frapper", "frayeur", "frégate", "freiner", "frelon", "frémir",
16004"frénésie", "frère", "friable", "friction", "frisson", "frivole", "froid", "fromage", "frontal", "frotter",
16005"fruit", "fugitif", "fuite", "fureur", "furieux", "furtif", "fusion", "futur", "gagner", "galaxie",
16006"galerie", "gambader", "garantir", "gardien", "garnir", "garrigue", "gazelle", "gazon", "géant", "gélatine",
16007"gélule", "gendarme", "général", "génie", "genou", "gentil", "géologie", "géomètre", "géranium", "germe",
16008"gestuel", "geyser", "gibier", "gicler", "girafe", "givre", "glace", "glaive", "glisser", "globe",
16009"gloire", "glorieux", "golfeur", "gomme", "gonfler", "gorge", "gorille", "goudron", "gouffre", "goulot",
16010"goupille", "gourmand", "goutte", "graduel", "graffiti", "graine", "grand", "grappin", "gratuit", "gravir",
16011"grenat", "griffure", "griller", "grimper", "grogner", "gronder", "grotte", "groupe", "gruger", "grutier",
16012"gruyère", "guépard", "guerrier", "guide", "guimauve", "guitare", "gustatif", "gymnaste", "gyrostat", "habitude",
16013"hachoir", "halte", "hameau", "hangar", "hanneton", "haricot", "harmonie", "harpon", "hasard", "hélium",
16014"hématome", "herbe", "hérisson", "hermine", "héron", "hésiter", "heureux", "hiberner", "hibou", "hilarant",
16015"histoire", "hiver", "homard", "hommage", "homogène", "honneur", "honorer", "honteux", "horde", "horizon",
16016"horloge", "hormone", "horrible", "houleux", "housse", "hublot", "huileux", "humain", "humble", "humide",
16017"humour", "hurler", "hydromel", "hygiène", "hymne", "hypnose", "idylle", "ignorer", "iguane", "illicite",
16018"illusion", "image", "imbiber", "imiter", "immense", "immobile", "immuable", "impact", "impérial", "implorer",
16019"imposer", "imprimer", "imputer", "incarner", "incendie", "incident", "incliner", "incolore", "indexer", "indice",
16020"inductif", "inédit", "ineptie", "inexact", "infini", "infliger", "informer", "infusion", "ingérer", "inhaler",
16021"inhiber", "injecter", "injure", "innocent", "inoculer", "inonder", "inscrire", "insecte", "insigne", "insolite",
16022"inspirer", "instinct", "insulter", "intact", "intense", "intime", "intrigue", "intuitif", "inutile", "invasion",
16023"inventer", "inviter", "invoquer", "ironique", "irradier", "irréel", "irriter", "isoler", "ivoire", "ivresse",
16024"jaguar", "jaillir", "jambe", "janvier", "jardin", "jauger", "jaune", "javelot", "jetable", "jeton",
16025"jeudi", "jeunesse", "joindre", "joncher", "jongler", "joueur", "jouissif", "journal", "jovial", "joyau",
16026"joyeux", "jubiler", "jugement", "junior", "jupon", "juriste", "justice", "juteux", "juvénile", "kayak",
16027"kimono", "kiosque", "label", "labial", "labourer", "lacérer", "lactose", "lagune", "laine", "laisser",
16028"laitier", "lambeau", "lamelle", "lampe", "lanceur", "langage", "lanterne", "lapin", "largeur", "larme",
16029"laurier", "lavabo", "lavoir", "lecture", "légal", "léger", "légume", "lessive", "lettre", "levier",
16030"lexique", "lézard", "liasse", "libérer", "libre", "licence", "licorne", "liège", "lièvre", "ligature",
16031"ligoter", "ligue", "limer", "limite", "limonade", "limpide", "linéaire", "lingot", "lionceau", "liquide",
16032"lisière", "lister", "lithium", "litige", "littoral", "livreur", "logique", "lointain", "loisir", "lombric",
16033"loterie", "louer", "lourd", "loutre", "louve", "loyal", "lubie", "lucide", "lucratif", "lueur",
16034"lugubre", "luisant", "lumière", "lunaire", "lundi", "luron", "lutter", "luxueux", "machine", "magasin",
16035"magenta", "magique", "maigre", "maillon", "maintien", "mairie", "maison", "majorer", "malaxer", "maléfice",
16036"malheur", "malice", "mallette", "mammouth", "mandater", "maniable", "manquant", "manteau", "manuel", "marathon",
16037"marbre", "marchand", "mardi", "maritime", "marqueur", "marron", "marteler", "mascotte", "massif", "matériel",
16038"matière", "matraque", "maudire", "maussade", "mauve", "maximal", "méchant", "méconnu", "médaille", "médecin",
16039"méditer", "méduse", "meilleur", "mélange", "mélodie", "membre", "mémoire", "menacer", "mener", "menhir",
16040"mensonge", "mentor", "mercredi", "mérite", "merle", "messager", "mesure", "métal", "météore", "méthode",
16041"métier", "meuble", "miauler", "microbe", "miette", "mignon", "migrer", "milieu", "million", "mimique",
16042"mince", "minéral", "minimal", "minorer", "minute", "miracle", "miroiter", "missile", "mixte", "mobile",
16043"moderne", "moelleux", "mondial", "moniteur", "monnaie", "monotone", "monstre", "montagne", "monument", "moqueur",
16044"morceau", "morsure", "mortier", "moteur", "motif", "mouche", "moufle", "moulin", "mousson", "mouton",
16045"mouvant", "multiple", "munition", "muraille", "murène", "murmure", "muscle", "muséum", "musicien", "mutation",
16046"muter", "mutuel", "myriade", "myrtille", "mystère", "mythique", "nageur", "nappe", "narquois", "narrer",
16047"natation", "nation", "nature", "naufrage", "nautique", "navire", "nébuleux", "nectar", "néfaste", "négation",
16048"négliger", "négocier", "neige", "nerveux", "nettoyer", "neurone", "neutron", "neveu", "niche", "nickel",
16049"nitrate", "niveau", "noble", "nocif", "nocturne", "noirceur", "noisette", "nomade", "nombreux", "nommer",
16050"normatif", "notable", "notifier", "notoire", "nourrir", "nouveau", "novateur", "novembre", "novice", "nuage",
16051"nuancer", "nuire", "nuisible", "numéro", "nuptial", "nuque", "nutritif", "obéir", "objectif", "obliger",
16052"obscur", "observer", "obstacle", "obtenir", "obturer", "occasion", "occuper", "océan", "octobre", "octroyer",
16053"octupler", "oculaire", "odeur", "odorant", "offenser", "officier", "offrir", "ogive", "oiseau", "oisillon",
16054"olfactif", "olivier", "ombrage", "omettre", "onctueux", "onduler", "onéreux", "onirique", "opale", "opaque",
16055"opérer", "opinion", "opportun", "opprimer", "opter", "optique", "orageux", "orange", "orbite", "ordonner",
16056"oreille", "organe", "orgueil", "orifice", "ornement", "orque", "ortie", "osciller", "osmose", "ossature",
16057"otarie", "ouragan", "ourson", "outil", "outrager", "ouvrage", "ovation", "oxyde", "oxygène", "ozone",
16058"paisible", "palace", "palmarès", "palourde", "palper", "panache", "panda", "pangolin", "paniquer", "panneau",
16059"panorama", "pantalon", "papaye", "papier", "papoter", "papyrus", "paradoxe", "parcelle", "paresse", "parfumer",
16060"parler", "parole", "parrain", "parsemer", "partager", "parure", "parvenir", "passion", "pastèque", "paternel",
16061"patience", "patron", "pavillon", "pavoiser", "payer", "paysage", "peigne", "peintre", "pelage", "pélican",
16062"pelle", "pelouse", "peluche", "pendule", "pénétrer", "pénible", "pensif", "pénurie", "pépite", "péplum",
16063"perdrix", "perforer", "période", "permuter", "perplexe", "persil", "perte", "peser", "pétale", "petit",
16064"pétrir", "peuple", "pharaon", "phobie", "phoque", "photon", "phrase", "physique", "piano", "pictural",
16065"pièce", "pierre", "pieuvre", "pilote", "pinceau", "pipette", "piquer", "pirogue", "piscine", "piston",
16066"pivoter", "pixel", "pizza", "placard", "plafond", "plaisir", "planer", "plaque", "plastron", "plateau",
16067"pleurer", "plexus", "pliage", "plomb", "plonger", "pluie", "plumage", "pochette", "poésie", "poète",
16068"pointe", "poirier", "poisson", "poivre", "polaire", "policier", "pollen", "polygone", "pommade", "pompier",
16069"ponctuel", "pondérer", "poney", "portique", "position", "posséder", "posture", "potager", "poteau", "potion",
16070"pouce", "poulain", "poumon", "pourpre", "poussin", "pouvoir", "prairie", "pratique", "précieux", "prédire",
16071"préfixe", "prélude", "prénom", "présence", "prétexte", "prévoir", "primitif", "prince", "prison", "priver",
16072"problème", "procéder", "prodige", "profond", "progrès", "proie", "projeter", "prologue", "promener", "propre",
16073"prospère", "protéger", "prouesse", "proverbe", "prudence", "pruneau", "psychose", "public", "puceron", "puiser",
16074"pulpe", "pulsar", "punaise", "punitif", "pupitre", "purifier", "puzzle", "pyramide", "quasar", "querelle",
16075"question", "quiétude", "quitter", "quotient", "racine", "raconter", "radieux", "ragondin", "raideur", "raisin",
16076"ralentir", "rallonge", "ramasser", "rapide", "rasage", "ratisser", "ravager", "ravin", "rayonner", "réactif",
16077"réagir", "réaliser", "réanimer", "recevoir", "réciter", "réclamer", "récolter", "recruter", "reculer", "recycler",
16078"rédiger", "redouter", "refaire", "réflexe", "réformer", "refrain", "refuge", "régalien", "région", "réglage",
16079"régulier", "réitérer", "rejeter", "rejouer", "relatif", "relever", "relief", "remarque", "remède", "remise",
16080"remonter", "remplir", "remuer", "renard", "renfort", "renifler", "renoncer", "rentrer", "renvoi", "replier",
16081"reporter", "reprise", "reptile", "requin", "réserve", "résineux", "résoudre", "respect", "rester", "résultat",
16082"rétablir", "retenir", "réticule", "retomber", "retracer", "réunion", "réussir", "revanche", "revivre", "révolte",
16083"révulsif", "richesse", "rideau", "rieur", "rigide", "rigoler", "rincer", "riposter", "risible", "risque",
16084"rituel", "rival", "rivière", "rocheux", "romance", "rompre", "ronce", "rondin", "roseau", "rosier",
16085"rotatif", "rotor", "rotule", "rouge", "rouille", "rouleau", "routine", "royaume", "ruban", "rubis",
16086"ruche", "ruelle", "rugueux", "ruiner", "ruisseau", "ruser", "rustique", "rythme", "sabler", "saboter",
16087"sabre", "sacoche", "safari", "sagesse", "saisir", "salade", "salive", "salon", "saluer", "samedi",
16088"sanction", "sanglier", "sarcasme", "sardine", "saturer", "saugrenu", "saumon", "sauter", "sauvage", "savant",
16089"savonner", "scalpel", "scandale", "scélérat", "scénario", "sceptre", "schéma", "science", "scinder", "score",
16090"scrutin", "sculpter", "séance", "sécable", "sécher", "secouer", "sécréter", "sédatif", "séduire", "seigneur",
16091"séjour", "sélectif", "semaine", "sembler", "semence", "séminal", "sénateur", "sensible", "sentence", "séparer",
16092"séquence", "serein", "sergent", "sérieux", "serrure", "sérum", "service", "sésame", "sévir", "sevrage",
16093"sextuple", "sidéral", "siècle", "siéger", "siffler", "sigle", "signal", "silence", "silicium", "simple",
16094"sincère", "sinistre", "siphon", "sirop", "sismique", "situer", "skier", "social", "socle", "sodium",
16095"soigneux", "soldat", "soleil", "solitude", "soluble", "sombre", "sommeil", "somnoler", "sonde", "songeur",
16096"sonnette", "sonore", "sorcier", "sortir", "sosie", "sottise", "soucieux", "soudure", "souffle", "soulever",
16097"soupape", "source", "soutirer", "souvenir", "spacieux", "spatial", "spécial", "sphère", "spiral", "stable",
16098"station", "sternum", "stimulus", "stipuler", "strict", "studieux", "stupeur", "styliste", "sublime", "substrat",
16099"subtil", "subvenir", "succès", "sucre", "suffixe", "suggérer", "suiveur", "sulfate", "superbe", "supplier",
16100"surface", "suricate", "surmener", "surprise", "sursaut", "survie", "suspect", "syllabe", "symbole", "symétrie",
16101"synapse", "syntaxe", "système", "tabac", "tablier", "tactile", "tailler", "talent", "talisman", "talonner",
16102"tambour", "tamiser", "tangible", "tapis", "taquiner", "tarder", "tarif", "tartine", "tasse", "tatami",
16103"tatouage", "taupe", "taureau", "taxer", "témoin", "temporel", "tenaille", "tendre", "teneur", "tenir",
16104"tension", "terminer", "terne", "terrible", "tétine", "texte", "thème", "théorie", "thérapie", "thorax",
16105"tibia", "tiède", "timide", "tirelire", "tiroir", "tissu", "titane", "titre", "tituber", "toboggan",
16106"tolérant", "tomate", "tonique", "tonneau", "toponyme", "torche", "tordre", "tornade", "torpille", "torrent",
16107"torse", "tortue", "totem", "toucher", "tournage", "tousser", "toxine", "traction", "trafic", "tragique",
16108"trahir", "train", "trancher", "travail", "trèfle", "tremper", "trésor", "treuil", "triage", "tribunal",
16109"tricoter", "trilogie", "triomphe", "tripler", "triturer", "trivial", "trombone", "tronc", "tropical", "troupeau",
16110"tuile", "tulipe", "tumulte", "tunnel", "turbine", "tuteur", "tutoyer", "tuyau", "tympan", "typhon",
16111"typique", "tyran", "ubuesque", "ultime", "ultrason", "unanime", "unifier", "union", "unique", "unitaire",
16112"univers", "uranium", "urbain", "urticant", "usage", "usine", "usuel", "usure", "utile", "utopie",
16113"vacarme", "vaccin", "vagabond", "vague", "vaillant", "vaincre", "vaisseau", "valable", "valise", "vallon",
16114"valve", "vampire", "vanille", "vapeur", "varier", "vaseux", "vassal", "vaste", "vecteur", "vedette",
16115"végétal", "véhicule", "veinard", "véloce", "vendredi", "vénérer", "venger", "venimeux", "ventouse", "verdure",
16116"vérin", "vernir", "verrou", "verser", "vertu", "veston", "vétéran", "vétuste", "vexant", "vexer",
16117"viaduc", "viande", "victoire", "vidange", "vidéo", "vignette", "vigueur", "vilain", "village", "vinaigre",
16118"violon", "vipère", "virement", "virtuose", "virus", "visage", "viseur", "vision", "visqueux", "visuel",
16119"vital", "vitesse", "viticole", "vitrine", "vivace", "vivipare", "vocation", "voguer", "voile", "voisin",
16120"voiture", "volaille", "volcan", "voltiger", "volume", "vorace", "vortex", "voter", "vouloir", "voyage",
16121"voyelle", "wagon", "xénon", "yacht", "zèbre", "zénith", "zeste", "zoologie"]
16122</script>
16123 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
16124WORDLISTS["italian"] = [
16125"abaco", "abbaglio", "abbinato", "abete", "abisso", "abolire", "abrasivo", "abrogato", "accadere", "accenno",
16126"accusato", "acetone", "achille", "acido", "acqua", "acre", "acrilico", "acrobata", "acuto", "adagio",
16127"addebito", "addome", "adeguato", "aderire", "adipe", "adottare", "adulare", "affabile", "affetto", "affisso",
16128"affranto", "aforisma", "afoso", "africano", "agave", "agente", "agevole", "aggancio", "agire", "agitare",
16129"agonismo", "agricolo", "agrumeto", "aguzzo", "alabarda", "alato", "albatro", "alberato", "albo", "albume",
16130"alce", "alcolico", "alettone", "alfa", "algebra", "aliante", "alibi", "alimento", "allagato", "allegro",
16131"allievo", "allodola", "allusivo", "almeno", "alogeno", "alpaca", "alpestre", "altalena", "alterno", "alticcio",
16132"altrove", "alunno", "alveolo", "alzare", "amalgama", "amanita", "amarena", "ambito", "ambrato", "ameba",
16133"america", "ametista", "amico", "ammasso", "ammenda", "ammirare", "ammonito", "amore", "ampio", "ampliare",
16134"amuleto", "anacardo", "anagrafe", "analista", "anarchia", "anatra", "anca", "ancella", "ancora", "andare",
16135"andrea", "anello", "angelo", "angolare", "angusto", "anima", "annegare", "annidato", "anno", "annuncio",
16136"anonimo", "anticipo", "anzi", "apatico", "apertura", "apode", "apparire", "appetito", "appoggio", "approdo",
16137"appunto", "aprile", "arabica", "arachide", "aragosta", "araldica", "arancio", "aratura", "arazzo", "arbitro",
16138"archivio", "ardito", "arenile", "argento", "argine", "arguto", "aria", "armonia", "arnese", "arredato",
16139"arringa", "arrosto", "arsenico", "arso", "artefice", "arzillo", "asciutto", "ascolto", "asepsi", "asettico",
16140"asfalto", "asino", "asola", "aspirato", "aspro", "assaggio", "asse", "assoluto", "assurdo", "asta",
16141"astenuto", "astice", "astratto", "atavico", "ateismo", "atomico", "atono", "attesa", "attivare", "attorno",
16142"attrito", "attuale", "ausilio", "austria", "autista", "autonomo", "autunno", "avanzato", "avere", "avvenire",
16143"avviso", "avvolgere", "azione", "azoto", "azzimo", "azzurro", "babele", "baccano", "bacino", "baco",
16144"badessa", "badilata", "bagnato", "baita", "balcone", "baldo", "balena", "ballata", "balzano", "bambino",
16145"bandire", "baraonda", "barbaro", "barca", "baritono", "barlume", "barocco", "basilico", "basso", "batosta",
16146"battuto", "baule", "bava", "bavosa", "becco", "beffa", "belgio", "belva", "benda", "benevole",
16147"benigno", "benzina", "bere", "berlina", "beta", "bibita", "bici", "bidone", "bifido", "biga",
16148"bilancia", "bimbo", "binocolo", "biologo", "bipede", "bipolare", "birbante", "birra", "biscotto", "bisesto",
16149"bisnonno", "bisonte", "bisturi", "bizzarro", "blando", "blatta", "bollito", "bonifico", "bordo", "bosco",
16150"botanico", "bottino", "bozzolo", "braccio", "bradipo", "brama", "branca", "bravura", "bretella", "brevetto",
16151"brezza", "briglia", "brillante", "brindare", "broccolo", "brodo", "bronzina", "brullo", "bruno", "bubbone",
16152"buca", "budino", "buffone", "buio", "bulbo", "buono", "burlone", "burrasca", "bussola", "busta",
16153"cadetto", "caduco", "calamaro", "calcolo", "calesse", "calibro", "calmo", "caloria", "cambusa", "camerata",
16154"camicia", "cammino", "camola", "campale", "canapa", "candela", "cane", "canino", "canotto", "cantina",
16155"capace", "capello", "capitolo", "capogiro", "cappero", "capra", "capsula", "carapace", "carcassa", "cardo",
16156"carisma", "carovana", "carretto", "cartolina", "casaccio", "cascata", "caserma", "caso", "cassone", "castello",
16157"casuale", "catasta", "catena", "catrame", "cauto", "cavillo", "cedibile", "cedrata", "cefalo", "celebre",
16158"cellulare", "cena", "cenone", "centesimo", "ceramica", "cercare", "certo", "cerume", "cervello", "cesoia",
16159"cespo", "ceto", "chela", "chiaro", "chicca", "chiedere", "chimera", "china", "chirurgo", "chitarra",
16160"ciao", "ciclismo", "cifrare", "cigno", "cilindro", "ciottolo", "circa", "cirrosi", "citrico", "cittadino",
16161"ciuffo", "civetta", "civile", "classico", "clinica", "cloro", "cocco", "codardo", "codice", "coerente",
16162"cognome", "collare", "colmato", "colore", "colposo", "coltivato", "colza", "coma", "cometa", "commando",
16163"comodo", "computer", "comune", "conciso", "condurre", "conferma", "congelare", "coniuge", "connesso", "conoscere",
16164"consumo", "continuo", "convegno", "coperto", "copione", "coppia", "copricapo", "corazza", "cordata", "coricato",
16165"cornice", "corolla", "corpo", "corredo", "corsia", "cortese", "cosmico", "costante", "cottura", "covato",
16166"cratere", "cravatta", "creato", "credere", "cremoso", "crescita", "creta", "criceto", "crinale", "crisi",
16167"critico", "croce", "cronaca", "crostata", "cruciale", "crusca", "cucire", "cuculo", "cugino", "cullato",
16168"cupola", "curatore", "cursore", "curvo", "cuscino", "custode", "dado", "daino", "dalmata", "damerino",
16169"daniela", "dannoso", "danzare", "datato", "davanti", "davvero", "debutto", "decennio", "deciso", "declino",
16170"decollo", "decreto", "dedicato", "definito", "deforme", "degno", "delegare", "delfino", "delirio", "delta",
16171"demenza", "denotato", "dentro", "deposito", "derapata", "derivare", "deroga", "descritto", "deserto", "desiderio",
16172"desumere", "detersivo", "devoto", "diametro", "dicembre", "diedro", "difeso", "diffuso", "digerire", "digitale",
16173"diluvio", "dinamico", "dinnanzi", "dipinto", "diploma", "dipolo", "diradare", "dire", "dirotto", "dirupo",
16174"disagio", "discreto", "disfare", "disgelo", "disposto", "distanza", "disumano", "dito", "divano", "divelto",
16175"dividere", "divorato", "doblone", "docente", "doganale", "dogma", "dolce", "domato", "domenica", "dominare",
16176"dondolo", "dono", "dormire", "dote", "dottore", "dovuto", "dozzina", "drago", "druido", "dubbio",
16177"dubitare", "ducale", "duna", "duomo", "duplice", "duraturo", "ebano", "eccesso", "ecco", "eclissi",
16178"economia", "edera", "edicola", "edile", "editoria", "educare", "egemonia", "egli", "egoismo", "egregio",
16179"elaborato", "elargire", "elegante", "elencato", "eletto", "elevare", "elfico", "elica", "elmo", "elsa",
16180"eluso", "emanato", "emblema", "emesso", "emiro", "emotivo", "emozione", "empirico", "emulo", "endemico",
16181"enduro", "energia", "enfasi", "enoteca", "entrare", "enzima", "epatite", "epilogo", "episodio", "epocale",
16182"eppure", "equatore", "erario", "erba", "erboso", "erede", "eremita", "erigere", "ermetico", "eroe",
16183"erosivo", "errante", "esagono", "esame", "esanime", "esaudire", "esca", "esempio", "esercito", "esibito",
16184"esigente", "esistere", "esito", "esofago", "esortato", "esoso", "espanso", "espresso", "essenza", "esso",
16185"esteso", "estimare", "estonia", "estroso", "esultare", "etilico", "etnico", "etrusco", "etto", "euclideo",
16186"europa", "evaso", "evidenza", "evitato", "evoluto", "evviva", "fabbrica", "faccenda", "fachiro", "falco",
16187"famiglia", "fanale", "fanfara", "fango", "fantasma", "fare", "farfalla", "farinoso", "farmaco", "fascia",
16188"fastoso", "fasullo", "faticare", "fato", "favoloso", "febbre", "fecola", "fede", "fegato", "felpa",
16189"feltro", "femmina", "fendere", "fenomeno", "fermento", "ferro", "fertile", "fessura", "festivo", "fetta",
16190"feudo", "fiaba", "fiducia", "fifa", "figurato", "filo", "finanza", "finestra", "finire", "fiore",
16191"fiscale", "fisico", "fiume", "flacone", "flamenco", "flebo", "flemma", "florido", "fluente", "fluoro",
16192"fobico", "focaccia", "focoso", "foderato", "foglio", "folata", "folclore", "folgore", "fondente", "fonetico",
16193"fonia", "fontana", "forbito", "forchetta", "foresta", "formica", "fornaio", "foro", "fortezza", "forzare",
16194"fosfato", "fosso", "fracasso", "frana", "frassino", "fratello", "freccetta", "frenata", "fresco", "frigo",
16195"frollino", "fronde", "frugale", "frutta", "fucilata", "fucsia", "fuggente", "fulmine", "fulvo", "fumante",
16196"fumetto", "fumoso", "fune", "funzione", "fuoco", "furbo", "furgone", "furore", "fuso", "futile",
16197"gabbiano", "gaffe", "galateo", "gallina", "galoppo", "gambero", "gamma", "garanzia", "garbo", "garofano",
16198"garzone", "gasdotto", "gasolio", "gastrico", "gatto", "gaudio", "gazebo", "gazzella", "geco", "gelatina",
16199"gelso", "gemello", "gemmato", "gene", "genitore", "gennaio", "genotipo", "gergo", "ghepardo", "ghiaccio",
16200"ghisa", "giallo", "gilda", "ginepro", "giocare", "gioiello", "giorno", "giove", "girato", "girone",
16201"gittata", "giudizio", "giurato", "giusto", "globulo", "glutine", "gnomo", "gobba", "golf", "gomito",
16202"gommone", "gonfio", "gonna", "governo", "gracile", "grado", "grafico", "grammo", "grande", "grattare",
16203"gravoso", "grazia", "greca", "gregge", "grifone", "grigio", "grinza", "grotta", "gruppo", "guadagno",
16204"guaio", "guanto", "guardare", "gufo", "guidare", "ibernato", "icona", "identico", "idillio", "idolo",
16205"idra", "idrico", "idrogeno", "igiene", "ignaro", "ignorato", "ilare", "illeso", "illogico", "illudere",
16206"imballo", "imbevuto", "imbocco", "imbuto", "immane", "immerso", "immolato", "impacco", "impeto", "impiego",
16207"importo", "impronta", "inalare", "inarcare", "inattivo", "incanto", "incendio", "inchino", "incisivo", "incluso",
16208"incontro", "incrocio", "incubo", "indagine", "india", "indole", "inedito", "infatti", "infilare", "inflitto",
16209"ingaggio", "ingegno", "inglese", "ingordo", "ingrosso", "innesco", "inodore", "inoltrare", "inondato", "insano",
16210"insetto", "insieme", "insonnia", "insulina", "intasato", "intero", "intonaco", "intuito", "inumidire", "invalido",
16211"invece", "invito", "iperbole", "ipnotico", "ipotesi", "ippica", "iride", "irlanda", "ironico", "irrigato",
16212"irrorare", "isolato", "isotopo", "isterico", "istituto", "istrice", "italia", "iterare", "labbro", "labirinto",
16213"lacca", "lacerato", "lacrima", "lacuna", "laddove", "lago", "lampo", "lancetta", "lanterna", "lardoso",
16214"larga", "laringe", "lastra", "latenza", "latino", "lattuga", "lavagna", "lavoro", "legale", "leggero",
16215"lembo", "lentezza", "lenza", "leone", "lepre", "lesivo", "lessato", "lesto", "letterale", "leva",
16216"levigato", "libero", "lido", "lievito", "lilla", "limatura", "limitare", "limpido", "lineare", "lingua",
16217"liquido", "lira", "lirica", "lisca", "lite", "litigio", "livrea", "locanda", "lode", "logica",
16218"lombare", "londra", "longevo", "loquace", "lorenzo", "loto", "lotteria", "luce", "lucidato", "lumaca",
16219"luminoso", "lungo", "lupo", "luppolo", "lusinga", "lusso", "lutto", "macabro", "macchina", "macero",
16220"macinato", "madama", "magico", "maglia", "magnete", "magro", "maiolica", "malafede", "malgrado", "malinteso",
16221"malsano", "malto", "malumore", "mana", "mancia", "mandorla", "mangiare", "manifesto", "mannaro", "manovra",
16222"mansarda", "mantide", "manubrio", "mappa", "maratona", "marcire", "maretta", "marmo", "marsupio", "maschera",
16223"massaia", "mastino", "materasso", "matricola", "mattone", "maturo", "mazurca", "meandro", "meccanico", "mecenate",
16224"medesimo", "meditare", "mega", "melassa", "melis", "melodia", "meninge", "meno", "mensola", "mercurio",
16225"merenda", "merlo", "meschino", "mese", "messere", "mestolo", "metallo", "metodo", "mettere", "miagolare",
16226"mica", "micelio", "michele", "microbo", "midollo", "miele", "migliore", "milano", "milite", "mimosa",
16227"minerale", "mini", "minore", "mirino", "mirtillo", "miscela", "missiva", "misto", "misurare", "mitezza",
16228"mitigare", "mitra", "mittente", "mnemonico", "modello", "modifica", "modulo", "mogano", "mogio", "mole",
16229"molosso", "monastero", "monco", "mondina", "monetario", "monile", "monotono", "monsone", "montato", "monviso",
16230"mora", "mordere", "morsicato", "mostro", "motivato", "motosega", "motto", "movenza", "movimento", "mozzo",
16231"mucca", "mucosa", "muffa", "mughetto", "mugnaio", "mulatto", "mulinello", "multiplo", "mummia", "munto",
16232"muovere", "murale", "musa", "muscolo", "musica", "mutevole", "muto", "nababbo", "nafta", "nanometro",
16233"narciso", "narice", "narrato", "nascere", "nastrare", "naturale", "nautica", "naviglio", "nebulosa", "necrosi",
16234"negativo", "negozio", "nemmeno", "neofita", "neretto", "nervo", "nessuno", "nettuno", "neutrale", "neve",
16235"nevrotico", "nicchia", "ninfa", "nitido", "nobile", "nocivo", "nodo", "nome", "nomina", "nordico",
16236"normale", "norvegese", "nostrano", "notare", "notizia", "notturno", "novella", "nucleo", "nulla", "numero",
16237"nuovo", "nutrire", "nuvola", "nuziale", "oasi", "obbedire", "obbligo", "obelisco", "oblio", "obolo",
16238"obsoleto", "occasione", "occhio", "occidente", "occorrere", "occultare", "ocra", "oculato", "odierno", "odorare",
16239"offerta", "offrire", "offuscato", "oggetto", "oggi", "ognuno", "olandese", "olfatto", "oliato", "oliva",
16240"ologramma", "oltre", "omaggio", "ombelico", "ombra", "omega", "omissione", "ondoso", "onere", "onice",
16241"onnivoro", "onorevole", "onta", "operato", "opinione", "opposto", "oracolo", "orafo", "ordine", "orecchino",
16242"orefice", "orfano", "organico", "origine", "orizzonte", "orma", "ormeggio", "ornativo", "orologio", "orrendo",
16243"orribile", "ortensia", "ortica", "orzata", "orzo", "osare", "oscurare", "osmosi", "ospedale", "ospite",
16244"ossa", "ossidare", "ostacolo", "oste", "otite", "otre", "ottagono", "ottimo", "ottobre", "ovale",
16245"ovest", "ovino", "oviparo", "ovocito", "ovunque", "ovviare", "ozio", "pacchetto", "pace", "pacifico",
16246"padella", "padrone", "paese", "paga", "pagina", "palazzina", "palesare", "pallido", "palo", "palude",
16247"pandoro", "pannello", "paolo", "paonazzo", "paprica", "parabola", "parcella", "parere", "pargolo", "pari",
16248"parlato", "parola", "partire", "parvenza", "parziale", "passivo", "pasticca", "patacca", "patologia", "pattume",
16249"pavone", "peccato", "pedalare", "pedonale", "peggio", "peloso", "penare", "pendice", "penisola", "pennuto",
16250"penombra", "pensare", "pentola", "pepe", "pepita", "perbene", "percorso", "perdonato", "perforare", "pergamena",
16251"periodo", "permesso", "perno", "perplesso", "persuaso", "pertugio", "pervaso", "pesatore", "pesista", "peso",
16252"pestifero", "petalo", "pettine", "petulante", "pezzo", "piacere", "pianta", "piattino", "piccino", "picozza",
16253"piega", "pietra", "piffero", "pigiama", "pigolio", "pigro", "pila", "pilifero", "pillola", "pilota",
16254"pimpante", "pineta", "pinna", "pinolo", "pioggia", "piombo", "piramide", "piretico", "pirite", "pirolisi",
16255"pitone", "pizzico", "placebo", "planare", "plasma", "platano", "plenario", "pochezza", "poderoso", "podismo",
16256"poesia", "poggiare", "polenta", "poligono", "pollice", "polmonite", "polpetta", "polso", "poltrona", "polvere",
16257"pomice", "pomodoro", "ponte", "popoloso", "porfido", "poroso", "porpora", "porre", "portata", "posa",
16258"positivo", "possesso", "postulato", "potassio", "potere", "pranzo", "prassi", "pratica", "precluso", "predica",
16259"prefisso", "pregiato", "prelievo", "premere", "prenotare", "preparato", "presenza", "pretesto", "prevalso", "prima",
16260"principe", "privato", "problema", "procura", "produrre", "profumo", "progetto", "prolunga", "promessa", "pronome",
16261"proposta", "proroga", "proteso", "prova", "prudente", "prugna", "prurito", "psiche", "pubblico", "pudica",
16262"pugilato", "pugno", "pulce", "pulito", "pulsante", "puntare", "pupazzo", "pupilla", "puro", "quadro",
16263"qualcosa", "quasi", "querela", "quota", "raccolto", "raddoppio", "radicale", "radunato", "raffica", "ragazzo",
16264"ragione", "ragno", "ramarro", "ramingo", "ramo", "randagio", "rantolare", "rapato", "rapina", "rappreso",
16265"rasatura", "raschiato", "rasente", "rassegna", "rastrello", "rata", "ravveduto", "reale", "recepire", "recinto",
16266"recluta", "recondito", "recupero", "reddito", "redimere", "regalato", "registro", "regola", "regresso", "relazione",
16267"remare", "remoto", "renna", "replica", "reprimere", "reputare", "resa", "residente", "responso", "restauro",
16268"rete", "retina", "retorica", "rettifica", "revocato", "riassunto", "ribadire", "ribelle", "ribrezzo", "ricarica",
16269"ricco", "ricevere", "riciclato", "ricordo", "ricreduto", "ridicolo", "ridurre", "rifasare", "riflesso", "riforma",
16270"rifugio", "rigare", "rigettato", "righello", "rilassato", "rilevato", "rimanere", "rimbalzo", "rimedio", "rimorchio",
16271"rinascita", "rincaro", "rinforzo", "rinnovo", "rinomato", "rinsavito", "rintocco", "rinuncia", "rinvenire", "riparato",
16272"ripetuto", "ripieno", "riportare", "ripresa", "ripulire", "risata", "rischio", "riserva", "risibile", "riso",
16273"rispetto", "ristoro", "risultato", "risvolto", "ritardo", "ritegno", "ritmico", "ritrovo", "riunione", "riva",
16274"riverso", "rivincita", "rivolto", "rizoma", "roba", "robotico", "robusto", "roccia", "roco", "rodaggio",
16275"rodere", "roditore", "rogito", "rollio", "romantico", "rompere", "ronzio", "rosolare", "rospo", "rotante",
16276"rotondo", "rotula", "rovescio", "rubizzo", "rubrica", "ruga", "rullino", "rumine", "rumoroso", "ruolo",
16277"rupe", "russare", "rustico", "sabato", "sabbiare", "sabotato", "sagoma", "salasso", "saldatura", "salgemma",
16278"salivare", "salmone", "salone", "saltare", "saluto", "salvo", "sapere", "sapido", "saporito", "saraceno",
16279"sarcasmo", "sarto", "sassoso", "satellite", "satira", "satollo", "saturno", "savana", "savio", "saziato",
16280"sbadiglio", "sbalzo", "sbancato", "sbarra", "sbattere", "sbavare", "sbendare", "sbirciare", "sbloccato", "sbocciato",
16281"sbrinare", "sbruffone", "sbuffare", "scabroso", "scadenza", "scala", "scambiare", "scandalo", "scapola", "scarso",
16282"scatenare", "scavato", "scelto", "scenico", "scettro", "scheda", "schiena", "sciarpa", "scienza", "scindere",
16283"scippo", "sciroppo", "scivolo", "sclerare", "scodella", "scolpito", "scomparto", "sconforto", "scoprire", "scorta",
16284"scossone", "scozzese", "scriba", "scrollare", "scrutinio", "scuderia", "scultore", "scuola", "scuro", "scusare",
16285"sdebitare", "sdoganare", "seccatura", "secondo", "sedano", "seggiola", "segnalato", "segregato", "seguito", "selciato",
16286"selettivo", "sella", "selvaggio", "semaforo", "sembrare", "seme", "seminato", "sempre", "senso", "sentire",
16287"sepolto", "sequenza", "serata", "serbato", "sereno", "serio", "serpente", "serraglio", "servire", "sestina",
16288"setola", "settimana", "sfacelo", "sfaldare", "sfamato", "sfarzoso", "sfaticato", "sfera", "sfida", "sfilato",
16289"sfinge", "sfocato", "sfoderare", "sfogo", "sfoltire", "sforzato", "sfratto", "sfruttato", "sfuggito", "sfumare",
16290"sfuso", "sgabello", "sgarbato", "sgonfiare", "sgorbio", "sgrassato", "sguardo", "sibilo", "siccome", "sierra",
16291"sigla", "signore", "silenzio", "sillaba", "simbolo", "simpatico", "simulato", "sinfonia", "singolo", "sinistro",
16292"sino", "sintesi", "sinusoide", "sipario", "sisma", "sistole", "situato", "slitta", "slogatura", "sloveno",
16293"smarrito", "smemorato", "smentito", "smeraldo", "smilzo", "smontare", "smottato", "smussato", "snellire", "snervato",
16294"snodo", "sobbalzo", "sobrio", "soccorso", "sociale", "sodale", "soffitto", "sogno", "soldato", "solenne",
16295"solido", "sollazzo", "solo", "solubile", "solvente", "somatico", "somma", "sonda", "sonetto", "sonnifero",
16296"sopire", "soppeso", "sopra", "sorgere", "sorpasso", "sorriso", "sorso", "sorteggio", "sorvolato", "sospiro",
16297"sosta", "sottile", "spada", "spalla", "spargere", "spatola", "spavento", "spazzola", "specie", "spedire",
16298"spegnere", "spelatura", "speranza", "spessore", "spettrale", "spezzato", "spia", "spigoloso", "spillato", "spinoso",
16299"spirale", "splendido", "sportivo", "sposo", "spranga", "sprecare", "spronato", "spruzzo", "spuntino", "squillo",
16300"sradicare", "srotolato", "stabile", "stacco", "staffa", "stagnare", "stampato", "stantio", "starnuto", "stasera",
16301"statuto", "stelo", "steppa", "sterzo", "stiletto", "stima", "stirpe", "stivale", "stizzoso", "stonato",
16302"storico", "strappo", "stregato", "stridulo", "strozzare", "strutto", "stuccare", "stufo", "stupendo", "subentro",
16303"succoso", "sudore", "suggerito", "sugo", "sultano", "suonare", "superbo", "supporto", "surgelato", "surrogato",
16304"sussurro", "sutura", "svagare", "svedese", "sveglio", "svelare", "svenuto", "svezia", "sviluppo", "svista",
16305"svizzera", "svolta", "svuotare", "tabacco", "tabulato", "tacciare", "taciturno", "tale", "talismano", "tampone",
16306"tannino", "tara", "tardivo", "targato", "tariffa", "tarpare", "tartaruga", "tasto", "tattico", "taverna",
16307"tavolata", "tazza", "teca", "tecnico", "telefono", "temerario", "tempo", "temuto", "tendone", "tenero",
16308"tensione", "tentacolo", "teorema", "terme", "terrazzo", "terzetto", "tesi", "tesserato", "testato", "tetro",
16309"tettoia", "tifare", "tigella", "timbro", "tinto", "tipico", "tipografo", "tiraggio", "tiro", "titanio",
16310"titolo", "titubante", "tizio", "tizzone", "toccare", "tollerare", "tolto", "tombola", "tomo", "tonfo",
16311"tonsilla", "topazio", "topologia", "toppa", "torba", "tornare", "torrone", "tortora", "toscano", "tossire",
16312"tostatura", "totano", "trabocco", "trachea", "trafila", "tragedia", "tralcio", "tramonto", "transito", "trapano",
16313"trarre", "trasloco", "trattato", "trave", "treccia", "tremolio", "trespolo", "tributo", "tricheco", "trifoglio",
16314"trillo", "trincea", "trio", "tristezza", "triturato", "trivella", "tromba", "trono", "troppo", "trottola",
16315"trovare", "truccato", "tubatura", "tuffato", "tulipano", "tumulto", "tunisia", "turbare", "turchino", "tuta",
16316"tutela", "ubicato", "uccello", "uccisore", "udire", "uditivo", "uffa", "ufficio", "uguale", "ulisse",
16317"ultimato", "umano", "umile", "umorismo", "uncinetto", "ungere", "ungherese", "unicorno", "unificato", "unisono",
16318"unitario", "unte", "uovo", "upupa", "uragano", "urgenza", "urlo", "usanza", "usato", "uscito",
16319"usignolo", "usuraio", "utensile", "utilizzo", "utopia", "vacante", "vaccinato", "vagabondo", "vagliato", "valanga",
16320"valgo", "valico", "valletta", "valoroso", "valutare", "valvola", "vampata", "vangare", "vanitoso", "vano",
16321"vantaggio", "vanvera", "vapore", "varano", "varcato", "variante", "vasca", "vedetta", "vedova", "veduto",
16322"vegetale", "veicolo", "velcro", "velina", "velluto", "veloce", "venato", "vendemmia", "vento", "verace",
16323"verbale", "vergogna", "verifica", "vero", "verruca", "verticale", "vescica", "vessillo", "vestale", "veterano",
16324"vetrina", "vetusto", "viandante", "vibrante", "vicenda", "vichingo", "vicinanza", "vidimare", "vigilia", "vigneto",
16325"vigore", "vile", "villano", "vimini", "vincitore", "viola", "vipera", "virgola", "virologo", "virulento",
16326"viscoso", "visione", "vispo", "vissuto", "visura", "vita", "vitello", "vittima", "vivanda", "vivido",
16327"viziare", "voce", "voga", "volatile", "volere", "volpe", "voragine", "vulcano", "zampogna", "zanna",
16328"zappato", "zattera", "zavorra", "zefiro", "zelante", "zelo", "zenzero", "zerbino", "zibetto", "zinco",
16329"zircone", "zitto", "zolla", "zotico", "zucchero", "zufolo", "zulu", "zuppa"]
dc55c6b0 16330</script>
ab78acc6 16331 <script>/*
3af2954a
IC
16332 * Copyright (c) 2013 Pavol Rusnak
16333 *
16334 * Permission is hereby granted, free of charge, to any person obtaining a copy of
16335 * this software and associated documentation files (the "Software"), to deal in
16336 * the Software without restriction, including without limitation the rights to
16337 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
16338 * of the Software, and to permit persons to whom the Software is furnished to do
16339 * so, subject to the following conditions:
16340 *
16341 * The above copyright notice and this permission notice shall be included in all
16342 * copies or substantial portions of the Software.
16343 *
16344 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16345 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16346 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16347 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
16348 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
16349 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16350 */
16351
16352/*
16353 * Javascript port from python by Ian Coleman
16354 *
80c4dd2a
IC
16355 * Requires code from sjcl
16356 * https://github.com/bitwiseshiftleft/sjcl
3af2954a
IC
16357 */
16358
16359var Mnemonic = function(language) {
16360
16361 var PBKDF2_ROUNDS = 2048;
16362 var RADIX = 2048;
16363
16364 var self = this;
16365 var wordlist = [];
16366
80c4dd2a
IC
16367 var hmacSHA512 = function(key) {
16368 var hasher = new sjcl.misc.hmac(key, sjcl.hash.sha512);
16369 this.encrypt = function() {
16370 return hasher.encrypt.apply(hasher, arguments);
16371 };
16372 };
16373
3af2954a
IC
16374 function init() {
16375 wordlist = WORDLISTS[language];
16376 if (wordlist.length != RADIX) {
16377 err = 'Wordlist should contain ' + RADIX + ' words, but it contains ' + wordlist.length + ' words.';
16378 throw err;
16379 }
16380 }
16381
16382 self.generate = function(strength) {
16383 strength = strength || 128;
16384 var r = strength % 32;
16385 if (r > 0) {
16386 throw 'Strength should be divisible by 32, but it is not (' + r + ').';
16387 }
16388 var hasStrongCrypto = 'crypto' in window && window['crypto'] !== null;
16389 if (!hasStrongCrypto) {
16390 throw 'Mnemonic should be generated with strong randomness, but crypto.getRandomValues is unavailable';
16391 }
16392 var buffer = new Uint8Array(strength / 8);
16393 var data = crypto.getRandomValues(buffer);
16394 return self.toMnemonic(data);
16395 }
16396
80c4dd2a
IC
16397 self.toMnemonic = function(byteArray) {
16398 if (byteArray.length % 4 > 0) {
16399 throw 'Data length in bits should be divisible by 32, but it is not (' + byteArray.length + ' bytes = ' + byteArray.length*8 + ' bits).'
3af2954a
IC
16400 }
16401
16402 //h = hashlib.sha256(data).hexdigest()
80c4dd2a
IC
16403 var data = byteArrayToWordArray(byteArray);
16404 var hash = sjcl.hash.sha256.hash(data);
16405 var h = sjcl.codec.hex.fromBits(hash);
3af2954a
IC
16406
16407 // b is a binary string, eg '00111010101100...'
16408 //b = bin(int(binascii.hexlify(data), 16))[2:].zfill(len(data) * 8) + \
16409 // bin(int(h, 16))[2:].zfill(256)[:len(data) * 8 / 32]
16410 //
16411 // a = bin(int(binascii.hexlify(data), 16))[2:].zfill(len(data) * 8)
16412 // c = bin(int(h, 16))[2:].zfill(256)
16413 // d = c[:len(data) * 8 / 32]
80c4dd2a
IC
16414 var a = byteArrayToBinaryString(byteArray);
16415 var c = zfill(hexStringToBinaryString(h), 256);
16416 var d = c.substring(0, byteArray.length * 8 / 32);
3af2954a
IC
16417 // b = line1 + line2
16418 var b = a + d;
16419
16420 var result = [];
16421 var blen = b.length / 11;
16422 for (var i=0; i<blen; i++) {
16423 var idx = parseInt(b.substring(i * 11, (i + 1) * 11), 2);
16424 result.push(wordlist[idx]);
16425 }
0515eeec 16426 return self.joinWords(result);
3af2954a
IC
16427 }
16428
16429 self.check = function(mnemonic) {
0515eeec 16430 var mnemonic = self.splitWords(mnemonic);
18abe53b 16431 if (mnemonic.length == 0 || mnemonic.length % 3 > 0) {
3af2954a
IC
16432 return false
16433 }
16434 // idx = map(lambda x: bin(self.wordlist.index(x))[2:].zfill(11), mnemonic)
16435 var idx = [];
16436 for (var i=0; i<mnemonic.length; i++) {
16437 var word = mnemonic[i];
16438 var wordIndex = wordlist.indexOf(word);
16439 if (wordIndex == -1) {
16440 return false;
16441 }
16442 var binaryIndex = zfill(wordIndex.toString(2), 11);
16443 idx.push(binaryIndex);
16444 }
16445 var b = idx.join('');
16446 var l = b.length;
16447 //d = b[:l / 33 * 32]
16448 //h = b[-l / 33:]
16449 var d = b.substring(0, l / 33 * 32);
16450 var h = b.substring(l - l / 33, l);
16451 //nd = binascii.unhexlify(hex(int(d, 2))[2:].rstrip('L').zfill(l / 33 * 8))
80c4dd2a 16452 var nd = binaryStringToWordArray(d);
3af2954a 16453 //nh = bin(int(hashlib.sha256(nd).hexdigest(), 16))[2:].zfill(256)[:l / 33]
80c4dd2a
IC
16454 var ndHash = sjcl.hash.sha256.hash(nd);
16455 var ndHex = sjcl.codec.hex.fromBits(ndHash);
16456 var ndBstr = zfill(hexStringToBinaryString(ndHex), 256);
3af2954a
IC
16457 var nh = ndBstr.substring(0,l/33);
16458 return h == nh;
16459 }
16460
16461 self.toSeed = function(mnemonic, passphrase) {
16462 passphrase = passphrase || '';
0515eeec 16463 mnemonic = self.joinWords(self.splitWords(self.normalizeString(mnemonic))); // removes blanks
3af2954a
IC
16464 passphrase = self.normalizeString(passphrase)
16465 passphrase = "mnemonic" + passphrase;
80c4dd2a
IC
16466 var mnemonicBits = sjcl.codec.utf8String.toBits(mnemonic);
16467 var passphraseBits = sjcl.codec.utf8String.toBits(passphrase);
16468 var result = sjcl.misc.pbkdf2(mnemonicBits, passphraseBits, PBKDF2_ROUNDS, 512, hmacSHA512);
16469 var hashHex = sjcl.codec.hex.fromBits(result);
16470 return hashHex;
3af2954a
IC
16471 }
16472
0515eeec
IC
16473 self.splitWords = function(mnemonic) {
16474 return mnemonic.split(/\s/g).filter(function(x) { return x.length; });
16475 }
16476
16477 self.joinWords = function(words) {
16478 // Set space correctly depending on the language
16479 // see https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md#japanese
16480 var space = " ";
16481 if (language == "japanese") {
16482 space = "\u3000"; // ideographic space
16483 }
16484 return words.join(space);
16485 }
16486
3af2954a
IC
16487 self.normalizeString = function(str) {
16488 if (typeof str.normalize == "function") {
16489 return str.normalize("NFKD");
16490 }
16491 else {
16492 // TODO decide how to handle this in the future.
16493 // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
16494 return str;
16495 }
16496 }
16497
80c4dd2a
IC
16498 function byteArrayToWordArray(data) {
16499 var a = [];
16500 for (var i=0; i<data.length/4; i++) {
16501 v = 0;
16502 v += data[i*4 + 0] << 8 * 3;
16503 v += data[i*4 + 1] << 8 * 2;
16504 v += data[i*4 + 2] << 8 * 1;
16505 v += data[i*4 + 3] << 8 * 0;
16506 a.push(v);
16507 }
16508 return a;
16509 }
16510
3af2954a
IC
16511 function byteArrayToBinaryString(data) {
16512 var bin = "";
16513 for (var i=0; i<data.length; i++) {
16514 bin += zfill(data[i].toString(2), 8);
16515 }
16516 return bin;
16517 }
16518
80c4dd2a
IC
16519 function hexStringToBinaryString(hexString) {
16520 binaryString = "";
16521 for (var i=0; i<hexString.length; i++) {
16522 binaryString += zfill(parseInt(hexString[i], 16).toString(2),4);
16523 }
16524 return binaryString;
16525 }
16526
16527 function binaryStringToWordArray(binary) {
16528 var aLen = binary.length / 32;
16529 var a = [];
16530 for (var i=0; i<aLen; i++) {
16531 var valueStr = binary.substring(0,32);
3af2954a 16532 var value = parseInt(valueStr, 2);
80c4dd2a
IC
16533 a.push(value);
16534 binary = binary.slice(32);
3af2954a 16535 }
80c4dd2a 16536 return a;
3af2954a
IC
16537 }
16538
16539 // Pad a numeric string on the left with zero digits until the given width
16540 // is reached.
16541 // Note this differs to the python implementation because it does not
16542 // handle numbers starting with a sign.
16543 function zfill(source, length) {
16544 source = source.toString();
16545 while (source.length < length) {
16546 source = '0' + source;
16547 }
16548 return source;
16549 }
16550
16551 init();
ebd8d4e8 16552
3af2954a 16553}
dc55c6b0 16554</script>
95f04905
IC
16555 <script>/*
16556 JavaScript BigInteger library version 0.9.1
16557 http://silentmatt.com/biginteger/
18abe53b 16558
95f04905
IC
16559 Copyright (c) 2009 Matthew Crumley <email@matthewcrumley.com>
16560 Copyright (c) 2010,2011 by John Tobey <John.Tobey@gmail.com>
16561 Licensed under the MIT license.
c6624d51 16562
95f04905
IC
16563 Support for arbitrary internal representation base was added by
16564 Vitaly Magerya.
16565*/
18abe53b 16566
95f04905
IC
16567/*
16568 File: biginteger.js
18abe53b 16569
95f04905 16570 Exports:
18abe53b 16571
95f04905
IC
16572 <BigInteger>
16573*/
16574(function(exports) {
16575"use strict";
16576/*
16577 Class: BigInteger
16578 An arbitrarily-large integer.
18abe53b 16579
95f04905
IC
16580 <BigInteger> objects should be considered immutable. None of the "built-in"
16581 methods modify *this* or their arguments. All properties should be
16582 considered private.
18abe53b 16583
95f04905
IC
16584 All the methods of <BigInteger> instances can be called "statically". The
16585 static versions are convenient if you don't already have a <BigInteger>
16586 object.
18abe53b 16587
95f04905 16588 As an example, these calls are equivalent.
18abe53b 16589
95f04905
IC
16590 > BigInteger(4).multiply(5); // returns BigInteger(20);
16591 > BigInteger.multiply(4, 5); // returns BigInteger(20);
18abe53b 16592
95f04905
IC
16593 > var a = 42;
16594 > var a = BigInteger.toJSValue("0b101010"); // Not completely useless...
16595*/
c6624d51 16596
95f04905 16597var CONSTRUCT = {}; // Unique token to call "private" version of constructor
c6624d51
IC
16598
16599/*
16600 Constructor: BigInteger()
16601 Convert a value to a <BigInteger>.
16602
16603 Although <BigInteger()> is the constructor for <BigInteger> objects, it is
16604 best not to call it as a constructor. If *n* is a <BigInteger> object, it is
16605 simply returned as-is. Otherwise, <BigInteger()> is equivalent to <parse>
16606 without a radix argument.
16607
16608 > var n0 = BigInteger(); // Same as <BigInteger.ZERO>
16609 > var n1 = BigInteger("123"); // Create a new <BigInteger> with value 123
16610 > var n2 = BigInteger(123); // Create a new <BigInteger> with value 123
16611 > var n3 = BigInteger(n2); // Return n2, unchanged
16612
16613 The constructor form only takes an array and a sign. *n* must be an
16614 array of numbers in little-endian order, where each digit is between 0
16615 and BigInteger.base. The second parameter sets the sign: -1 for
16616 negative, +1 for positive, or 0 for zero. The array is *not copied and
16617 may be modified*. If the array contains only zeros, the sign parameter
16618 is ignored and is forced to zero.
16619
16620 > new BigInteger([5], -1): create a new BigInteger with value -5
16621
16622 Parameters:
16623
16624 n - Value to convert to a <BigInteger>.
16625
16626 Returns:
16627
16628 A <BigInteger> value.
16629
16630 See Also:
16631
16632 <parse>, <BigInteger>
16633*/
16634function BigInteger(n, s, token) {
16635 if (token !== CONSTRUCT) {
16636 if (n instanceof BigInteger) {
16637 return n;
16638 }
16639 else if (typeof n === "undefined") {
16640 return ZERO;
16641 }
16642 return BigInteger.parse(n);
16643 }
16644
16645 n = n || []; // Provide the nullary constructor for subclasses.
16646 while (n.length && !n[n.length - 1]) {
16647 --n.length;
16648 }
16649 this._d = n;
16650 this._s = n.length ? (s || 1) : 0;
16651}
16652
16653BigInteger._construct = function(n, s) {
16654 return new BigInteger(n, s, CONSTRUCT);
16655};
16656
16657// Base-10 speedup hacks in parse, toString, exp10 and log functions
16658// require base to be a power of 10. 10^7 is the largest such power
16659// that won't cause a precision loss when digits are multiplied.
16660var BigInteger_base = 10000000;
16661var BigInteger_base_log10 = 7;
16662
16663BigInteger.base = BigInteger_base;
16664BigInteger.base_log10 = BigInteger_base_log10;
16665
16666var ZERO = new BigInteger([], 0, CONSTRUCT);
16667// Constant: ZERO
16668// <BigInteger> 0.
16669BigInteger.ZERO = ZERO;
16670
16671var ONE = new BigInteger([1], 1, CONSTRUCT);
16672// Constant: ONE
16673// <BigInteger> 1.
16674BigInteger.ONE = ONE;
16675
16676var M_ONE = new BigInteger(ONE._d, -1, CONSTRUCT);
16677// Constant: M_ONE
16678// <BigInteger> -1.
16679BigInteger.M_ONE = M_ONE;
16680
16681// Constant: _0
16682// Shortcut for <ZERO>.
16683BigInteger._0 = ZERO;
16684
16685// Constant: _1
16686// Shortcut for <ONE>.
16687BigInteger._1 = ONE;
16688
16689/*
16690 Constant: small
16691 Array of <BigIntegers> from 0 to 36.
16692
16693 These are used internally for parsing, but useful when you need a "small"
16694 <BigInteger>.
16695
16696 See Also:
16697
16698 <ZERO>, <ONE>, <_0>, <_1>
16699*/
16700BigInteger.small = [
16701 ZERO,
16702 ONE,
16703 /* Assuming BigInteger_base > 36 */
16704 new BigInteger( [2], 1, CONSTRUCT),
16705 new BigInteger( [3], 1, CONSTRUCT),
16706 new BigInteger( [4], 1, CONSTRUCT),
16707 new BigInteger( [5], 1, CONSTRUCT),
16708 new BigInteger( [6], 1, CONSTRUCT),
16709 new BigInteger( [7], 1, CONSTRUCT),
16710 new BigInteger( [8], 1, CONSTRUCT),
16711 new BigInteger( [9], 1, CONSTRUCT),
16712 new BigInteger([10], 1, CONSTRUCT),
16713 new BigInteger([11], 1, CONSTRUCT),
16714 new BigInteger([12], 1, CONSTRUCT),
16715 new BigInteger([13], 1, CONSTRUCT),
16716 new BigInteger([14], 1, CONSTRUCT),
16717 new BigInteger([15], 1, CONSTRUCT),
16718 new BigInteger([16], 1, CONSTRUCT),
16719 new BigInteger([17], 1, CONSTRUCT),
16720 new BigInteger([18], 1, CONSTRUCT),
16721 new BigInteger([19], 1, CONSTRUCT),
16722 new BigInteger([20], 1, CONSTRUCT),
16723 new BigInteger([21], 1, CONSTRUCT),
16724 new BigInteger([22], 1, CONSTRUCT),
16725 new BigInteger([23], 1, CONSTRUCT),
16726 new BigInteger([24], 1, CONSTRUCT),
16727 new BigInteger([25], 1, CONSTRUCT),
16728 new BigInteger([26], 1, CONSTRUCT),
16729 new BigInteger([27], 1, CONSTRUCT),
16730 new BigInteger([28], 1, CONSTRUCT),
16731 new BigInteger([29], 1, CONSTRUCT),
16732 new BigInteger([30], 1, CONSTRUCT),
16733 new BigInteger([31], 1, CONSTRUCT),
16734 new BigInteger([32], 1, CONSTRUCT),
16735 new BigInteger([33], 1, CONSTRUCT),
16736 new BigInteger([34], 1, CONSTRUCT),
16737 new BigInteger([35], 1, CONSTRUCT),
16738 new BigInteger([36], 1, CONSTRUCT)
16739];
16740
16741// Used for parsing/radix conversion
16742BigInteger.digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
16743
16744/*
16745 Method: toString
16746 Convert a <BigInteger> to a string.
16747
16748 When *base* is greater than 10, letters are upper case.
16749
16750 Parameters:
16751
16752 base - Optional base to represent the number in (default is base 10).
16753 Must be between 2 and 36 inclusive, or an Error will be thrown.
16754
16755 Returns:
16756
16757 The string representation of the <BigInteger>.
16758*/
16759BigInteger.prototype.toString = function(base) {
16760 base = +base || 10;
16761 if (base < 2 || base > 36) {
16762 throw new Error("illegal radix " + base + ".");
16763 }
16764 if (this._s === 0) {
16765 return "0";
16766 }
16767 if (base === 10) {
16768 var str = this._s < 0 ? "-" : "";
16769 str += this._d[this._d.length - 1].toString();
16770 for (var i = this._d.length - 2; i >= 0; i--) {
16771 var group = this._d[i].toString();
16772 while (group.length < BigInteger_base_log10) group = '0' + group;
16773 str += group;
16774 }
16775 return str;
16776 }
16777 else {
16778 var numerals = BigInteger.digits;
16779 base = BigInteger.small[base];
16780 var sign = this._s;
16781
16782 var n = this.abs();
16783 var digits = [];
16784 var digit;
16785
16786 while (n._s !== 0) {
16787 var divmod = n.divRem(base);
16788 n = divmod[0];
16789 digit = divmod[1];
16790 // TODO: This could be changed to unshift instead of reversing at the end.
16791 // Benchmark both to compare speeds.
16792 digits.push(numerals[digit.valueOf()]);
16793 }
16794 return (sign < 0 ? "-" : "") + digits.reverse().join("");
16795 }
16796};
16797
16798// Verify strings for parsing
16799BigInteger.radixRegex = [
16800 /^$/,
16801 /^$/,
16802 /^[01]*$/,
16803 /^[012]*$/,
16804 /^[0-3]*$/,
16805 /^[0-4]*$/,
16806 /^[0-5]*$/,
16807 /^[0-6]*$/,
16808 /^[0-7]*$/,
16809 /^[0-8]*$/,
16810 /^[0-9]*$/,
16811 /^[0-9aA]*$/,
16812 /^[0-9abAB]*$/,
16813 /^[0-9abcABC]*$/,
16814 /^[0-9a-dA-D]*$/,
16815 /^[0-9a-eA-E]*$/,
16816 /^[0-9a-fA-F]*$/,
16817 /^[0-9a-gA-G]*$/,
16818 /^[0-9a-hA-H]*$/,
16819 /^[0-9a-iA-I]*$/,
16820 /^[0-9a-jA-J]*$/,
16821 /^[0-9a-kA-K]*$/,
16822 /^[0-9a-lA-L]*$/,
16823 /^[0-9a-mA-M]*$/,
16824 /^[0-9a-nA-N]*$/,
16825 /^[0-9a-oA-O]*$/,
16826 /^[0-9a-pA-P]*$/,
16827 /^[0-9a-qA-Q]*$/,
16828 /^[0-9a-rA-R]*$/,
16829 /^[0-9a-sA-S]*$/,
16830 /^[0-9a-tA-T]*$/,
16831 /^[0-9a-uA-U]*$/,
16832 /^[0-9a-vA-V]*$/,
16833 /^[0-9a-wA-W]*$/,
16834 /^[0-9a-xA-X]*$/,
16835 /^[0-9a-yA-Y]*$/,
16836 /^[0-9a-zA-Z]*$/
16837];
16838
16839/*
16840 Function: parse
16841 Parse a string into a <BigInteger>.
16842
16843 *base* is optional but, if provided, must be from 2 to 36 inclusive. If
16844 *base* is not provided, it will be guessed based on the leading characters
16845 of *s* as follows:
16846
16847 - "0x" or "0X": *base* = 16
16848 - "0c" or "0C": *base* = 8
16849 - "0b" or "0B": *base* = 2
16850 - else: *base* = 10
16851
16852 If no base is provided, or *base* is 10, the number can be in exponential
16853 form. For example, these are all valid:
16854
16855 > BigInteger.parse("1e9"); // Same as "1000000000"
16856 > BigInteger.parse("1.234*10^3"); // Same as 1234
16857 > BigInteger.parse("56789 * 10 ** -2"); // Same as 567
16858
16859 If any characters fall outside the range defined by the radix, an exception
16860 will be thrown.
16861
16862 Parameters:
16863
16864 s - The string to parse.
16865 base - Optional radix (default is to guess based on *s*).
16866
16867 Returns:
16868
16869 a <BigInteger> instance.
16870*/
16871BigInteger.parse = function(s, base) {
16872 // Expands a number in exponential form to decimal form.
16873 // expandExponential("-13.441*10^5") === "1344100";
16874 // expandExponential("1.12300e-1") === "0.112300";
16875 // expandExponential(1000000000000000000000000000000) === "1000000000000000000000000000000";
16876 function expandExponential(str) {
16877 str = str.replace(/\s*[*xX]\s*10\s*(\^|\*\*)\s*/, "e");
16878
16879 return str.replace(/^([+\-])?(\d+)\.?(\d*)[eE]([+\-]?\d+)$/, function(x, s, n, f, c) {
16880 c = +c;
16881 var l = c < 0;
16882 var i = n.length + c;
16883 x = (l ? n : f).length;
16884 c = ((c = Math.abs(c)) >= x ? c - x + l : 0);
16885 var z = (new Array(c + 1)).join("0");
16886 var r = n + f;
16887 return (s || "") + (l ? r = z + r : r += z).substr(0, i += l ? z.length : 0) + (i < r.length ? "." + r.substr(i) : "");
16888 });
16889 }
16890
16891 s = s.toString();
16892 if (typeof base === "undefined" || +base === 10) {
16893 s = expandExponential(s);
16894 }
16895
16896 var prefixRE;
16897 if (typeof base === "undefined") {
16898 prefixRE = '0[xcb]';
16899 }
16900 else if (base == 16) {
16901 prefixRE = '0x';
16902 }
16903 else if (base == 8) {
16904 prefixRE = '0c';
16905 }
16906 else if (base == 2) {
16907 prefixRE = '0b';
16908 }
16909 else {
16910 prefixRE = '';
16911 }
16912 var parts = new RegExp('^([+\\-]?)(' + prefixRE + ')?([0-9a-z]*)(?:\\.\\d*)?$', 'i').exec(s);
16913 if (parts) {
16914 var sign = parts[1] || "+";
16915 var baseSection = parts[2] || "";
16916 var digits = parts[3] || "";
16917
16918 if (typeof base === "undefined") {
16919 // Guess base
16920 if (baseSection === "0x" || baseSection === "0X") { // Hex
16921 base = 16;
16922 }
16923 else if (baseSection === "0c" || baseSection === "0C") { // Octal
16924 base = 8;
16925 }
16926 else if (baseSection === "0b" || baseSection === "0B") { // Binary
16927 base = 2;
16928 }
16929 else {
16930 base = 10;
16931 }
16932 }
16933 else if (base < 2 || base > 36) {
16934 throw new Error("Illegal radix " + base + ".");
16935 }
16936
16937 base = +base;
16938
16939 // Check for digits outside the range
16940 if (!(BigInteger.radixRegex[base].test(digits))) {
16941 throw new Error("Bad digit for radix " + base);
16942 }
16943
16944 // Strip leading zeros, and convert to array
16945 digits = digits.replace(/^0+/, "").split("");
16946 if (digits.length === 0) {
16947 return ZERO;
16948 }
16949
16950 // Get the sign (we know it's not zero)
16951 sign = (sign === "-") ? -1 : 1;
16952
16953 // Optimize 10
16954 if (base == 10) {
16955 var d = [];
16956 while (digits.length >= BigInteger_base_log10) {
16957 d.push(parseInt(digits.splice(digits.length-BigInteger.base_log10, BigInteger.base_log10).join(''), 10));
16958 }
16959 d.push(parseInt(digits.join(''), 10));
16960 return new BigInteger(d, sign, CONSTRUCT);
16961 }
16962
16963 // Do the conversion
16964 var d = ZERO;
16965 base = BigInteger.small[base];
16966 var small = BigInteger.small;
16967 for (var i = 0; i < digits.length; i++) {
16968 d = d.multiply(base).add(small[parseInt(digits[i], 36)]);
16969 }
16970 return new BigInteger(d._d, sign, CONSTRUCT);
16971 }
16972 else {
16973 throw new Error("Invalid BigInteger format: " + s);
16974 }
16975};
16976
16977/*
16978 Function: add
16979 Add two <BigIntegers>.
16980
16981 Parameters:
16982
16983 n - The number to add to *this*. Will be converted to a <BigInteger>.
16984
16985 Returns:
16986
16987 The numbers added together.
16988
16989 See Also:
16990
16991 <subtract>, <multiply>, <quotient>, <next>
16992*/
16993BigInteger.prototype.add = function(n) {
16994 if (this._s === 0) {
16995 return BigInteger(n);
16996 }
16997
16998 n = BigInteger(n);
16999 if (n._s === 0) {
17000 return this;
17001 }
17002 if (this._s !== n._s) {
17003 n = n.negate();
17004 return this.subtract(n);
17005 }
17006
17007 var a = this._d;
17008 var b = n._d;
17009 var al = a.length;
17010 var bl = b.length;
17011 var sum = new Array(Math.max(al, bl) + 1);
17012 var size = Math.min(al, bl);
17013 var carry = 0;
17014 var digit;
17015
17016 for (var i = 0; i < size; i++) {
17017 digit = a[i] + b[i] + carry;
17018 sum[i] = digit % BigInteger_base;
17019 carry = (digit / BigInteger_base) | 0;
17020 }
17021 if (bl > al) {
17022 a = b;
17023 al = bl;
17024 }
17025 for (i = size; carry && i < al; i++) {
17026 digit = a[i] + carry;
17027 sum[i] = digit % BigInteger_base;
17028 carry = (digit / BigInteger_base) | 0;
17029 }
17030 if (carry) {
17031 sum[i] = carry;
17032 }
17033
17034 for ( ; i < al; i++) {
17035 sum[i] = a[i];
17036 }
17037
17038 return new BigInteger(sum, this._s, CONSTRUCT);
17039};
17040
17041/*
17042 Function: negate
17043 Get the additive inverse of a <BigInteger>.
17044
17045 Returns:
17046
17047 A <BigInteger> with the same magnatude, but with the opposite sign.
17048
17049 See Also:
17050
17051 <abs>
17052*/
17053BigInteger.prototype.negate = function() {
17054 return new BigInteger(this._d, (-this._s) | 0, CONSTRUCT);
17055};
17056
17057/*
17058 Function: abs
17059 Get the absolute value of a <BigInteger>.
17060
17061 Returns:
17062
17063 A <BigInteger> with the same magnatude, but always positive (or zero).
17064
17065 See Also:
17066
17067 <negate>
17068*/
17069BigInteger.prototype.abs = function() {
17070 return (this._s < 0) ? this.negate() : this;
17071};
17072
17073/*
17074 Function: subtract
17075 Subtract two <BigIntegers>.
17076
17077 Parameters:
17078
17079 n - The number to subtract from *this*. Will be converted to a <BigInteger>.
17080
17081 Returns:
17082
17083 The *n* subtracted from *this*.
17084
17085 See Also:
17086
17087 <add>, <multiply>, <quotient>, <prev>
17088*/
17089BigInteger.prototype.subtract = function(n) {
17090 if (this._s === 0) {
17091 return BigInteger(n).negate();
17092 }
17093
17094 n = BigInteger(n);
17095 if (n._s === 0) {
17096 return this;
17097 }
17098 if (this._s !== n._s) {
17099 n = n.negate();
17100 return this.add(n);
17101 }
17102
17103 var m = this;
17104 // negative - negative => -|a| - -|b| => -|a| + |b| => |b| - |a|
17105 if (this._s < 0) {
17106 m = new BigInteger(n._d, 1, CONSTRUCT);
17107 n = new BigInteger(this._d, 1, CONSTRUCT);
17108 }
17109
17110 // Both are positive => a - b
17111 var sign = m.compareAbs(n);
17112 if (sign === 0) {
17113 return ZERO;
17114 }
17115 else if (sign < 0) {
17116 // swap m and n
17117 var t = n;
17118 n = m;
17119 m = t;
17120 }
17121
17122 // a > b
17123 var a = m._d;
17124 var b = n._d;
17125 var al = a.length;
17126 var bl = b.length;
17127 var diff = new Array(al); // al >= bl since a > b
17128 var borrow = 0;
17129 var i;
17130 var digit;
17131
17132 for (i = 0; i < bl; i++) {
17133 digit = a[i] - borrow - b[i];
17134 if (digit < 0) {
17135 digit += BigInteger_base;
17136 borrow = 1;
17137 }
17138 else {
17139 borrow = 0;
17140 }
17141 diff[i] = digit;
17142 }
17143 for (i = bl; i < al; i++) {
17144 digit = a[i] - borrow;
17145 if (digit < 0) {
17146 digit += BigInteger_base;
17147 }
17148 else {
17149 diff[i++] = digit;
17150 break;
17151 }
17152 diff[i] = digit;
17153 }
17154 for ( ; i < al; i++) {
17155 diff[i] = a[i];
17156 }
17157
17158 return new BigInteger(diff, sign, CONSTRUCT);
17159};
17160
17161(function() {
17162 function addOne(n, sign) {
17163 var a = n._d;
17164 var sum = a.slice();
17165 var carry = true;
17166 var i = 0;
17167
17168 while (true) {
17169 var digit = (a[i] || 0) + 1;
17170 sum[i] = digit % BigInteger_base;
17171 if (digit <= BigInteger_base - 1) {
17172 break;
17173 }
17174 ++i;
17175 }
17176
17177 return new BigInteger(sum, sign, CONSTRUCT);
17178 }
17179
17180 function subtractOne(n, sign) {
17181 var a = n._d;
17182 var sum = a.slice();
17183 var borrow = true;
17184 var i = 0;
17185
17186 while (true) {
17187 var digit = (a[i] || 0) - 1;
17188 if (digit < 0) {
17189 sum[i] = digit + BigInteger_base;
17190 }
17191 else {
17192 sum[i] = digit;
17193 break;
17194 }
17195 ++i;
17196 }
17197
17198 return new BigInteger(sum, sign, CONSTRUCT);
17199 }
17200
17201 /*
17202 Function: next
17203 Get the next <BigInteger> (add one).
17204
17205 Returns:
17206
17207 *this* + 1.
17208
17209 See Also:
17210
17211 <add>, <prev>
17212 */
17213 BigInteger.prototype.next = function() {
17214 switch (this._s) {
17215 case 0:
17216 return ONE;
17217 case -1:
17218 return subtractOne(this, -1);
17219 // case 1:
17220 default:
17221 return addOne(this, 1);
17222 }
17223 };
17224
17225 /*
17226 Function: prev
17227 Get the previous <BigInteger> (subtract one).
17228
17229 Returns:
17230
17231 *this* - 1.
17232
17233 See Also:
17234
17235 <next>, <subtract>
17236 */
17237 BigInteger.prototype.prev = function() {
17238 switch (this._s) {
17239 case 0:
17240 return M_ONE;
17241 case -1:
17242 return addOne(this, -1);
17243 // case 1:
17244 default:
17245 return subtractOne(this, 1);
17246 }
17247 };
17248})();
17249
17250/*
17251 Function: compareAbs
17252 Compare the absolute value of two <BigIntegers>.
17253
17254 Calling <compareAbs> is faster than calling <abs> twice, then <compare>.
17255
17256 Parameters:
17257
17258 n - The number to compare to *this*. Will be converted to a <BigInteger>.
17259
17260 Returns:
17261
17262 -1, 0, or +1 if *|this|* is less than, equal to, or greater than *|n|*.
17263
17264 See Also:
17265
17266 <compare>, <abs>
17267*/
17268BigInteger.prototype.compareAbs = function(n) {
17269 if (this === n) {
17270 return 0;
17271 }
17272
17273 if (!(n instanceof BigInteger)) {
17274 if (!isFinite(n)) {
17275 return(isNaN(n) ? n : -1);
17276 }
17277 n = BigInteger(n);
17278 }
17279
17280 if (this._s === 0) {
17281 return (n._s !== 0) ? -1 : 0;
17282 }
17283 if (n._s === 0) {
17284 return 1;
17285 }
17286
17287 var l = this._d.length;
17288 var nl = n._d.length;
17289 if (l < nl) {
17290 return -1;
17291 }
17292 else if (l > nl) {
17293 return 1;
17294 }
17295
17296 var a = this._d;
17297 var b = n._d;
17298 for (var i = l-1; i >= 0; i--) {
17299 if (a[i] !== b[i]) {
17300 return a[i] < b[i] ? -1 : 1;
17301 }
17302 }
17303
17304 return 0;
17305};
17306
17307/*
17308 Function: compare
17309 Compare two <BigIntegers>.
17310
17311 Parameters:
17312
17313 n - The number to compare to *this*. Will be converted to a <BigInteger>.
17314
17315 Returns:
17316
17317 -1, 0, or +1 if *this* is less than, equal to, or greater than *n*.
17318
17319 See Also:
17320
17321 <compareAbs>, <isPositive>, <isNegative>, <isUnit>
17322*/
17323BigInteger.prototype.compare = function(n) {
17324 if (this === n) {
17325 return 0;
17326 }
17327
17328 n = BigInteger(n);
17329
17330 if (this._s === 0) {
17331 return -n._s;
17332 }
17333
17334 if (this._s === n._s) { // both positive or both negative
17335 var cmp = this.compareAbs(n);
17336 return cmp * this._s;
17337 }
17338 else {
17339 return this._s;
17340 }
17341};
17342
17343/*
17344 Function: isUnit
17345 Return true iff *this* is either 1 or -1.
17346
17347 Returns:
17348
17349 true if *this* compares equal to <BigInteger.ONE> or <BigInteger.M_ONE>.
17350
17351 See Also:
17352
17353 <isZero>, <isNegative>, <isPositive>, <compareAbs>, <compare>,
17354 <BigInteger.ONE>, <BigInteger.M_ONE>
17355*/
17356BigInteger.prototype.isUnit = function() {
17357 return this === ONE ||
17358 this === M_ONE ||
17359 (this._d.length === 1 && this._d[0] === 1);
17360};
17361
17362/*
17363 Function: multiply
17364 Multiply two <BigIntegers>.
17365
17366 Parameters:
17367
17368 n - The number to multiply *this* by. Will be converted to a
17369 <BigInteger>.
17370
17371 Returns:
17372
17373 The numbers multiplied together.
17374
17375 See Also:
17376
17377 <add>, <subtract>, <quotient>, <square>
17378*/
17379BigInteger.prototype.multiply = function(n) {
17380 // TODO: Consider adding Karatsuba multiplication for large numbers
17381 if (this._s === 0) {
17382 return ZERO;
17383 }
17384
17385 n = BigInteger(n);
17386 if (n._s === 0) {
17387 return ZERO;
17388 }
17389 if (this.isUnit()) {
17390 if (this._s < 0) {
17391 return n.negate();
17392 }
17393 return n;
17394 }
17395 if (n.isUnit()) {
17396 if (n._s < 0) {
17397 return this.negate();
17398 }
17399 return this;
17400 }
17401 if (this === n) {
17402 return this.square();
17403 }
17404
17405 var r = (this._d.length >= n._d.length);
17406 var a = (r ? this : n)._d; // a will be longer than b
17407 var b = (r ? n : this)._d;
17408 var al = a.length;
17409 var bl = b.length;
17410
17411 var pl = al + bl;
17412 var partial = new Array(pl);
17413 var i;
17414 for (i = 0; i < pl; i++) {
17415 partial[i] = 0;
17416 }
17417
17418 for (i = 0; i < bl; i++) {
17419 var carry = 0;
17420 var bi = b[i];
17421 var jlimit = al + i;
17422 var digit;
17423 for (var j = i; j < jlimit; j++) {
17424 digit = partial[j] + bi * a[j - i] + carry;
17425 carry = (digit / BigInteger_base) | 0;
17426 partial[j] = (digit % BigInteger_base) | 0;
17427 }
17428 if (carry) {
17429 digit = partial[j] + carry;
17430 carry = (digit / BigInteger_base) | 0;
17431 partial[j] = digit % BigInteger_base;
17432 }
17433 }
17434 return new BigInteger(partial, this._s * n._s, CONSTRUCT);
17435};
17436
17437// Multiply a BigInteger by a single-digit native number
17438// Assumes that this and n are >= 0
17439// This is not really intended to be used outside the library itself
17440BigInteger.prototype.multiplySingleDigit = function(n) {
17441 if (n === 0 || this._s === 0) {
17442 return ZERO;
17443 }
17444 if (n === 1) {
17445 return this;
17446 }
17447
17448 var digit;
17449 if (this._d.length === 1) {
17450 digit = this._d[0] * n;
17451 if (digit >= BigInteger_base) {
17452 return new BigInteger([(digit % BigInteger_base)|0,
17453 (digit / BigInteger_base)|0], 1, CONSTRUCT);
17454 }
17455 return new BigInteger([digit], 1, CONSTRUCT);
17456 }
17457
17458 if (n === 2) {
17459 return this.add(this);
17460 }
17461 if (this.isUnit()) {
17462 return new BigInteger([n], 1, CONSTRUCT);
17463 }
17464
17465 var a = this._d;
17466 var al = a.length;
17467
17468 var pl = al + 1;
17469 var partial = new Array(pl);
17470 for (var i = 0; i < pl; i++) {
17471 partial[i] = 0;
17472 }
17473
17474 var carry = 0;
17475 for (var j = 0; j < al; j++) {
17476 digit = n * a[j] + carry;
17477 carry = (digit / BigInteger_base) | 0;
17478 partial[j] = (digit % BigInteger_base) | 0;
17479 }
17480 if (carry) {
17481 partial[j] = carry;
17482 }
17483
17484 return new BigInteger(partial, 1, CONSTRUCT);
17485};
17486
17487/*
17488 Function: square
17489 Multiply a <BigInteger> by itself.
17490
17491 This is slightly faster than regular multiplication, since it removes the
17492 duplicated multiplcations.
17493
17494 Returns:
17495
17496 > this.multiply(this)
17497
17498 See Also:
17499 <multiply>
17500*/
17501BigInteger.prototype.square = function() {
17502 // Normally, squaring a 10-digit number would take 100 multiplications.
17503 // Of these 10 are unique diagonals, of the remaining 90 (100-10), 45 are repeated.
17504 // This procedure saves (N*(N-1))/2 multiplications, (e.g., 45 of 100 multiplies).
17505 // Based on code by Gary Darby, Intellitech Systems Inc., www.DelphiForFun.org
17506
17507 if (this._s === 0) {
17508 return ZERO;
17509 }
17510 if (this.isUnit()) {
17511 return ONE;
17512 }
17513
17514 var digits = this._d;
17515 var length = digits.length;
17516 var imult1 = new Array(length + length + 1);
17517 var product, carry, k;
17518 var i;
17519
17520 // Calculate diagonal
17521 for (i = 0; i < length; i++) {
17522 k = i * 2;
17523 product = digits[i] * digits[i];
17524 carry = (product / BigInteger_base) | 0;
17525 imult1[k] = product % BigInteger_base;
17526 imult1[k + 1] = carry;
17527 }
17528
17529 // Calculate repeating part
17530 for (i = 0; i < length; i++) {
17531 carry = 0;
17532 k = i * 2 + 1;
17533 for (var j = i + 1; j < length; j++, k++) {
17534 product = digits[j] * digits[i] * 2 + imult1[k] + carry;
17535 carry = (product / BigInteger_base) | 0;
17536 imult1[k] = product % BigInteger_base;
17537 }
17538 k = length + i;
17539 var digit = carry + imult1[k];
17540 carry = (digit / BigInteger_base) | 0;
17541 imult1[k] = digit % BigInteger_base;
17542 imult1[k + 1] += carry;
17543 }
17544
17545 return new BigInteger(imult1, 1, CONSTRUCT);
17546};
17547
17548/*
17549 Function: quotient
17550 Divide two <BigIntegers> and truncate towards zero.
17551
17552 <quotient> throws an exception if *n* is zero.
17553
17554 Parameters:
17555
17556 n - The number to divide *this* by. Will be converted to a <BigInteger>.
17557
17558 Returns:
17559
17560 The *this* / *n*, truncated to an integer.
17561
17562 See Also:
17563
17564 <add>, <subtract>, <multiply>, <divRem>, <remainder>
17565*/
17566BigInteger.prototype.quotient = function(n) {
17567 return this.divRem(n)[0];
17568};
17569
17570/*
17571 Function: divide
17572 Deprecated synonym for <quotient>.
17573*/
17574BigInteger.prototype.divide = BigInteger.prototype.quotient;
17575
17576/*
17577 Function: remainder
17578 Calculate the remainder of two <BigIntegers>.
17579
17580 <remainder> throws an exception if *n* is zero.
17581
17582 Parameters:
17583
17584 n - The remainder after *this* is divided *this* by *n*. Will be
17585 converted to a <BigInteger>.
17586
17587 Returns:
17588
17589 *this* % *n*.
17590
17591 See Also:
17592
17593 <divRem>, <quotient>
17594*/
17595BigInteger.prototype.remainder = function(n) {
17596 return this.divRem(n)[1];
17597};
17598
17599/*
17600 Function: divRem
17601 Calculate the integer quotient and remainder of two <BigIntegers>.
17602
17603 <divRem> throws an exception if *n* is zero.
17604
17605 Parameters:
17606
17607 n - The number to divide *this* by. Will be converted to a <BigInteger>.
17608
17609 Returns:
17610
17611 A two-element array containing the quotient and the remainder.
17612
17613 > a.divRem(b)
17614
17615 is exactly equivalent to
17616
17617 > [a.quotient(b), a.remainder(b)]
17618
17619 except it is faster, because they are calculated at the same time.
17620
17621 See Also:
17622
17623 <quotient>, <remainder>
17624*/
17625BigInteger.prototype.divRem = function(n) {
17626 n = BigInteger(n);
17627 if (n._s === 0) {
17628 throw new Error("Divide by zero");
17629 }
17630 if (this._s === 0) {
17631 return [ZERO, ZERO];
17632 }
17633 if (n._d.length === 1) {
17634 return this.divRemSmall(n._s * n._d[0]);
17635 }
17636
17637 // Test for easy cases -- |n1| <= |n2|
17638 switch (this.compareAbs(n)) {
17639 case 0: // n1 == n2
17640 return [this._s === n._s ? ONE : M_ONE, ZERO];
17641 case -1: // |n1| < |n2|
17642 return [ZERO, this];
17643 }
17644
17645 var sign = this._s * n._s;
17646 var a = n.abs();
17647 var b_digits = this._d;
17648 var b_index = b_digits.length;
17649 var digits = n._d.length;
17650 var quot = [];
17651 var guess;
17652
17653 var part = new BigInteger([], 0, CONSTRUCT);
17654
17655 while (b_index) {
17656 part._d.unshift(b_digits[--b_index]);
17657 part = new BigInteger(part._d, 1, CONSTRUCT);
17658
17659 if (part.compareAbs(n) < 0) {
17660 quot.push(0);
17661 continue;
17662 }
17663 if (part._s === 0) {
17664 guess = 0;
17665 }
17666 else {
17667 var xlen = part._d.length, ylen = a._d.length;
17668 var highx = part._d[xlen-1]*BigInteger_base + part._d[xlen-2];
17669 var highy = a._d[ylen-1]*BigInteger_base + a._d[ylen-2];
17670 if (part._d.length > a._d.length) {
17671 // The length of part._d can either match a._d length,
17672 // or exceed it by one.
17673 highx = (highx+1)*BigInteger_base;
17674 }
17675 guess = Math.ceil(highx/highy);
17676 }
17677 do {
17678 var check = a.multiplySingleDigit(guess);
17679 if (check.compareAbs(part) <= 0) {
17680 break;
17681 }
17682 guess--;
17683 } while (guess);
17684
17685 quot.push(guess);
17686 if (!guess) {
17687 continue;
17688 }
17689 var diff = part.subtract(check);
17690 part._d = diff._d.slice();
17691 }
17692
17693 return [new BigInteger(quot.reverse(), sign, CONSTRUCT),
17694 new BigInteger(part._d, this._s, CONSTRUCT)];
17695};
17696
17697// Throws an exception if n is outside of (-BigInteger.base, -1] or
17698// [1, BigInteger.base). It's not necessary to call this, since the
17699// other division functions will call it if they are able to.
17700BigInteger.prototype.divRemSmall = function(n) {
17701 var r;
17702 n = +n;
17703 if (n === 0) {
17704 throw new Error("Divide by zero");
17705 }
17706
17707 var n_s = n < 0 ? -1 : 1;
17708 var sign = this._s * n_s;
17709 n = Math.abs(n);
17710
17711 if (n < 1 || n >= BigInteger_base) {
17712 throw new Error("Argument out of range");
17713 }
17714
17715 if (this._s === 0) {
17716 return [ZERO, ZERO];
17717 }
17718
17719 if (n === 1 || n === -1) {
17720 return [(sign === 1) ? this.abs() : new BigInteger(this._d, sign, CONSTRUCT), ZERO];
17721 }
17722
17723 // 2 <= n < BigInteger_base
17724
17725 // divide a single digit by a single digit
17726 if (this._d.length === 1) {
17727 var q = new BigInteger([(this._d[0] / n) | 0], 1, CONSTRUCT);
17728 r = new BigInteger([(this._d[0] % n) | 0], 1, CONSTRUCT);
17729 if (sign < 0) {
17730 q = q.negate();
17731 }
17732 if (this._s < 0) {
17733 r = r.negate();
17734 }
17735 return [q, r];
17736 }
17737
17738 var digits = this._d.slice();
17739 var quot = new Array(digits.length);
17740 var part = 0;
17741 var diff = 0;
17742 var i = 0;
17743 var guess;
17744
17745 while (digits.length) {
17746 part = part * BigInteger_base + digits[digits.length - 1];
17747 if (part < n) {
17748 quot[i++] = 0;
17749 digits.pop();
17750 diff = BigInteger_base * diff + part;
17751 continue;
17752 }
17753 if (part === 0) {
17754 guess = 0;
17755 }
17756 else {
17757 guess = (part / n) | 0;
17758 }
17759
17760 var check = n * guess;
17761 diff = part - check;
17762 quot[i++] = guess;
17763 if (!guess) {
17764 digits.pop();
17765 continue;
17766 }
17767
17768 digits.pop();
17769 part = diff;
17770 }
17771
17772 r = new BigInteger([diff], 1, CONSTRUCT);
17773 if (this._s < 0) {
17774 r = r.negate();
17775 }
17776 return [new BigInteger(quot.reverse(), sign, CONSTRUCT), r];
17777};
17778
17779/*
17780 Function: isEven
17781 Return true iff *this* is divisible by two.
17782
17783 Note that <BigInteger.ZERO> is even.
17784
17785 Returns:
17786
17787 true if *this* is even, false otherwise.
17788
17789 See Also:
17790
17791 <isOdd>
17792*/
17793BigInteger.prototype.isEven = function() {
17794 var digits = this._d;
17795 return this._s === 0 || digits.length === 0 || (digits[0] % 2) === 0;
17796};
17797
17798/*
17799 Function: isOdd
17800 Return true iff *this* is not divisible by two.
17801
17802 Returns:
17803
17804 true if *this* is odd, false otherwise.
17805
17806 See Also:
17807
17808 <isEven>
17809*/
17810BigInteger.prototype.isOdd = function() {
17811 return !this.isEven();
17812};
17813
17814/*
17815 Function: sign
17816 Get the sign of a <BigInteger>.
17817
17818 Returns:
17819
17820 * -1 if *this* < 0
17821 * 0 if *this* == 0
17822 * +1 if *this* > 0
17823
17824 See Also:
17825
17826 <isZero>, <isPositive>, <isNegative>, <compare>, <BigInteger.ZERO>
17827*/
17828BigInteger.prototype.sign = function() {
17829 return this._s;
17830};
17831
17832/*
17833 Function: isPositive
17834 Return true iff *this* > 0.
17835
17836 Returns:
17837
17838 true if *this*.compare(<BigInteger.ZERO>) == 1.
17839
17840 See Also:
17841
17842 <sign>, <isZero>, <isNegative>, <isUnit>, <compare>, <BigInteger.ZERO>
17843*/
17844BigInteger.prototype.isPositive = function() {
17845 return this._s > 0;
17846};
17847
17848/*
17849 Function: isNegative
17850 Return true iff *this* < 0.
17851
17852 Returns:
17853
17854 true if *this*.compare(<BigInteger.ZERO>) == -1.
17855
17856 See Also:
17857
17858 <sign>, <isPositive>, <isZero>, <isUnit>, <compare>, <BigInteger.ZERO>
17859*/
17860BigInteger.prototype.isNegative = function() {
17861 return this._s < 0;
17862};
17863
17864/*
17865 Function: isZero
17866 Return true iff *this* == 0.
17867
17868 Returns:
17869
17870 true if *this*.compare(<BigInteger.ZERO>) == 0.
17871
17872 See Also:
17873
17874 <sign>, <isPositive>, <isNegative>, <isUnit>, <BigInteger.ZERO>
17875*/
17876BigInteger.prototype.isZero = function() {
17877 return this._s === 0;
17878};
17879
17880/*
17881 Function: exp10
17882 Multiply a <BigInteger> by a power of 10.
17883
17884 This is equivalent to, but faster than
17885
17886 > if (n >= 0) {
17887 > return this.multiply(BigInteger("1e" + n));
17888 > }
17889 > else { // n <= 0
17890 > return this.quotient(BigInteger("1e" + -n));
17891 > }
17892
17893 Parameters:
17894
17895 n - The power of 10 to multiply *this* by. *n* is converted to a
17896 javascipt number and must be no greater than <BigInteger.MAX_EXP>
17897 (0x7FFFFFFF), or an exception will be thrown.
17898
17899 Returns:
17900
17901 *this* * (10 ** *n*), truncated to an integer if necessary.
17902
17903 See Also:
17904
17905 <pow>, <multiply>
17906*/
17907BigInteger.prototype.exp10 = function(n) {
17908 n = +n;
17909 if (n === 0) {
17910 return this;
17911 }
17912 if (Math.abs(n) > Number(MAX_EXP)) {
17913 throw new Error("exponent too large in BigInteger.exp10");
17914 }
17915 // Optimization for this == 0. This also keeps us from having to trim zeros in the positive n case
17916 if (this._s === 0) {
17917 return ZERO;
17918 }
17919 if (n > 0) {
17920 var k = new BigInteger(this._d.slice(), this._s, CONSTRUCT);
17921
17922 for (; n >= BigInteger_base_log10; n -= BigInteger_base_log10) {
17923 k._d.unshift(0);
17924 }
17925 if (n == 0)
17926 return k;
17927 k._s = 1;
17928 k = k.multiplySingleDigit(Math.pow(10, n));
17929 return (this._s < 0 ? k.negate() : k);
17930 } else if (-n >= this._d.length*BigInteger_base_log10) {
17931 return ZERO;
17932 } else {
17933 var k = new BigInteger(this._d.slice(), this._s, CONSTRUCT);
17934
17935 for (n = -n; n >= BigInteger_base_log10; n -= BigInteger_base_log10) {
17936 k._d.shift();
17937 }
17938 return (n == 0) ? k : k.divRemSmall(Math.pow(10, n))[0];
17939 }
17940};
17941
17942/*
17943 Function: pow
17944 Raise a <BigInteger> to a power.
17945
17946 In this implementation, 0**0 is 1.
17947
17948 Parameters:
17949
17950 n - The exponent to raise *this* by. *n* must be no greater than
17951 <BigInteger.MAX_EXP> (0x7FFFFFFF), or an exception will be thrown.
17952
17953 Returns:
17954
17955 *this* raised to the *nth* power.
17956
17957 See Also:
17958
17959 <modPow>
17960*/
17961BigInteger.prototype.pow = function(n) {
17962 if (this.isUnit()) {
17963 if (this._s > 0) {
17964 return this;
17965 }
17966 else {
17967 return BigInteger(n).isOdd() ? this : this.negate();
17968 }
17969 }
17970
17971 n = BigInteger(n);
17972 if (n._s === 0) {
17973 return ONE;
17974 }
17975 else if (n._s < 0) {
17976 if (this._s === 0) {
17977 throw new Error("Divide by zero");
17978 }
17979 else {
17980 return ZERO;
17981 }
17982 }
17983 if (this._s === 0) {
17984 return ZERO;
17985 }
17986 if (n.isUnit()) {
17987 return this;
17988 }
17989
17990 if (n.compareAbs(MAX_EXP) > 0) {
17991 throw new Error("exponent too large in BigInteger.pow");
17992 }
17993 var x = this;
17994 var aux = ONE;
17995 var two = BigInteger.small[2];
17996
17997 while (n.isPositive()) {
17998 if (n.isOdd()) {
17999 aux = aux.multiply(x);
18000 if (n.isUnit()) {
18001 return aux;
18002 }
18003 }
18004 x = x.square();
18005 n = n.quotient(two);
18006 }
18007
18008 return aux;
18009};
18010
18011/*
18012 Function: modPow
18013 Raise a <BigInteger> to a power (mod m).
18014
18015 Because it is reduced by a modulus, <modPow> is not limited by
18016 <BigInteger.MAX_EXP> like <pow>.
18017
18018 Parameters:
18019
18020 exponent - The exponent to raise *this* by. Must be positive.
18021 modulus - The modulus.
18022
18023 Returns:
18024
18025 *this* ^ *exponent* (mod *modulus*).
18026
18027 See Also:
18028
18029 <pow>, <mod>
18030*/
18031BigInteger.prototype.modPow = function(exponent, modulus) {
18032 var result = ONE;
18033 var base = this;
18034
18035 while (exponent.isPositive()) {
18036 if (exponent.isOdd()) {
18037 result = result.multiply(base).remainder(modulus);
18038 }
18039
18040 exponent = exponent.quotient(BigInteger.small[2]);
18041 if (exponent.isPositive()) {
18042 base = base.square().remainder(modulus);
18043 }
18044 }
18045
18046 return result;
18047};
18048
18049/*
18050 Function: log
18051 Get the natural logarithm of a <BigInteger> as a native JavaScript number.
18052
18053 This is equivalent to
18054
18055 > Math.log(this.toJSValue())
18056
18057 but handles values outside of the native number range.
18058
18059 Returns:
18060
18061 log( *this* )
18062
18063 See Also:
18064
18065 <toJSValue>
18066*/
18067BigInteger.prototype.log = function() {
18068 switch (this._s) {
18069 case 0: return -Infinity;
18070 case -1: return NaN;
18071 default: // Fall through.
18072 }
18073
18074 var l = this._d.length;
18075
18076 if (l*BigInteger_base_log10 < 30) {
18077 return Math.log(this.valueOf());
18078 }
18079
18080 var N = Math.ceil(30/BigInteger_base_log10);
18081 var firstNdigits = this._d.slice(l - N);
18082 return Math.log((new BigInteger(firstNdigits, 1, CONSTRUCT)).valueOf()) + (l - N) * Math.log(BigInteger_base);
18083};
18084
18085/*
18086 Function: valueOf
18087 Convert a <BigInteger> to a native JavaScript integer.
18088
18089 This is called automatically by JavaScipt to convert a <BigInteger> to a
18090 native value.
18091
18092 Returns:
18093
18094 > parseInt(this.toString(), 10)
18095
18096 See Also:
18097
18098 <toString>, <toJSValue>
18099*/
18100BigInteger.prototype.valueOf = function() {
18101 return parseInt(this.toString(), 10);
18102};
18103
18104/*
18105 Function: toJSValue
18106 Convert a <BigInteger> to a native JavaScript integer.
18107
18108 This is the same as valueOf, but more explicitly named.
18109
18110 Returns:
18111
18112 > parseInt(this.toString(), 10)
18113
18114 See Also:
18115
18116 <toString>, <valueOf>
18117*/
18118BigInteger.prototype.toJSValue = function() {
18119 return parseInt(this.toString(), 10);
18120};
18121
18122var MAX_EXP = BigInteger(0x7FFFFFFF);
18123// Constant: MAX_EXP
18124// The largest exponent allowed in <pow> and <exp10> (0x7FFFFFFF or 2147483647).
18125BigInteger.MAX_EXP = MAX_EXP;
18126
18127(function() {
18128 function makeUnary(fn) {
18129 return function(a) {
18130 return fn.call(BigInteger(a));
18131 };
18132 }
18133
18134 function makeBinary(fn) {
18135 return function(a, b) {
18136 return fn.call(BigInteger(a), BigInteger(b));
18137 };
18138 }
18139
18140 function makeTrinary(fn) {
18141 return function(a, b, c) {
18142 return fn.call(BigInteger(a), BigInteger(b), BigInteger(c));
18143 };
18144 }
18145
18146 (function() {
18147 var i, fn;
18148 var unary = "toJSValue,isEven,isOdd,sign,isZero,isNegative,abs,isUnit,square,negate,isPositive,toString,next,prev,log".split(",");
18149 var binary = "compare,remainder,divRem,subtract,add,quotient,divide,multiply,pow,compareAbs".split(",");
18150 var trinary = ["modPow"];
18151
18152 for (i = 0; i < unary.length; i++) {
18153 fn = unary[i];
18154 BigInteger[fn] = makeUnary(BigInteger.prototype[fn]);
18155 }
18156
18157 for (i = 0; i < binary.length; i++) {
18158 fn = binary[i];
18159 BigInteger[fn] = makeBinary(BigInteger.prototype[fn]);
18160 }
18161
18162 for (i = 0; i < trinary.length; i++) {
18163 fn = trinary[i];
18164 BigInteger[fn] = makeTrinary(BigInteger.prototype[fn]);
18165 }
18166
18167 BigInteger.exp10 = function(x, n) {
18168 return BigInteger(x).exp10(n);
18169 };
18170 })();
18171})();
18172
18173exports.BigInteger = BigInteger;
18174})(typeof exports !== 'undefined' ? exports : this);
95f04905
IC
18175</script>
18176 <script>(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.zxcvbn = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
18177var adjacency_graphs;adjacency_graphs={qwerty:{"!":["`~",null,null,"2@","qQ",null],'"':[";:","[{","]}",null,null,"/?"],"#":["2@",null,null,"4$","eE","wW"],$:["3#",null,null,"5%","rR","eE"],"%":["4$",null,null,"6^","tT","rR"],"&":["6^",null,null,"8*","uU","yY"],"'":[";:","[{","]}",null,null,"/?"],"(":["8*",null,null,"0)","oO","iI"],")":["9(",null,null,"-_","pP","oO"],"*":["7&",null,null,"9(","iI","uU"],"+":["-_",null,null,null,"]}","[{"],",":["mM","kK","lL",".>",null,null],"-":["0)",null,null,"=+","[{","pP"],".":[",<","lL",";:","/?",null,null],"/":[".>",";:","'\"",null,null,null],0:["9(",null,null,"-_","pP","oO"],1:["`~",null,null,"2@","qQ",null],2:["1!",null,null,"3#","wW","qQ"],3:["2@",null,null,"4$","eE","wW"],4:["3#",null,null,"5%","rR","eE"],5:["4$",null,null,"6^","tT","rR"],6:["5%",null,null,"7&","yY","tT"],7:["6^",null,null,"8*","uU","yY"],8:["7&",null,null,"9(","iI","uU"],9:["8*",null,null,"0)","oO","iI"],":":["lL","pP","[{","'\"","/?",".>"],";":["lL","pP","[{","'\"","/?",".>"],"<":["mM","kK","lL",".>",null,null],"=":["-_",null,null,null,"]}","[{"],">":[",<","lL",";:","/?",null,null],"?":[".>",";:","'\"",null,null,null],"@":["1!",null,null,"3#","wW","qQ"],A:[null,"qQ","wW","sS","zZ",null],B:["vV","gG","hH","nN",null,null],C:["xX","dD","fF","vV",null,null],D:["sS","eE","rR","fF","cC","xX"],E:["wW","3#","4$","rR","dD","sS"],F:["dD","rR","tT","gG","vV","cC"],G:["fF","tT","yY","hH","bB","vV"],H:["gG","yY","uU","jJ","nN","bB"],I:["uU","8*","9(","oO","kK","jJ"],J:["hH","uU","iI","kK","mM","nN"],K:["jJ","iI","oO","lL",",<","mM"],L:["kK","oO","pP",";:",".>",",<"],M:["nN","jJ","kK",",<",null,null],N:["bB","hH","jJ","mM",null,null],O:["iI","9(","0)","pP","lL","kK"],P:["oO","0)","-_","[{",";:","lL"],Q:[null,"1!","2@","wW","aA",null],R:["eE","4$","5%","tT","fF","dD"],S:["aA","wW","eE","dD","xX","zZ"],T:["rR","5%","6^","yY","gG","fF"],U:["yY","7&","8*","iI","jJ","hH"],V:["cC","fF","gG","bB",null,null],W:["qQ","2@","3#","eE","sS","aA"],X:["zZ","sS","dD","cC",null,null],Y:["tT","6^","7&","uU","hH","gG"],Z:[null,"aA","sS","xX",null,null],"[":["pP","-_","=+","]}","'\"",";:"],"\\":["]}",null,null,null,null,null],"]":["[{","=+",null,"\\|",null,"'\""],"^":["5%",null,null,"7&","yY","tT"],_:["0)",null,null,"=+","[{","pP"],"`":[null,null,null,"1!",null,null],a:[null,"qQ","wW","sS","zZ",null],b:["vV","gG","hH","nN",null,null],c:["xX","dD","fF","vV",null,null],d:["sS","eE","rR","fF","cC","xX"],e:["wW","3#","4$","rR","dD","sS"],f:["dD","rR","tT","gG","vV","cC"],g:["fF","tT","yY","hH","bB","vV"],h:["gG","yY","uU","jJ","nN","bB"],i:["uU","8*","9(","oO","kK","jJ"],j:["hH","uU","iI","kK","mM","nN"],k:["jJ","iI","oO","lL",",<","mM"],l:["kK","oO","pP",";:",".>",",<"],m:["nN","jJ","kK",",<",null,null],n:["bB","hH","jJ","mM",null,null],o:["iI","9(","0)","pP","lL","kK"],p:["oO","0)","-_","[{",";:","lL"],q:[null,"1!","2@","wW","aA",null],r:["eE","4$","5%","tT","fF","dD"],s:["aA","wW","eE","dD","xX","zZ"],t:["rR","5%","6^","yY","gG","fF"],u:["yY","7&","8*","iI","jJ","hH"],v:["cC","fF","gG","bB",null,null],w:["qQ","2@","3#","eE","sS","aA"],x:["zZ","sS","dD","cC",null,null],y:["tT","6^","7&","uU","hH","gG"],z:[null,"aA","sS","xX",null,null],"{":["pP","-_","=+","]}","'\"",";:"],"|":["]}",null,null,null,null,null],"}":["[{","=+",null,"\\|",null,"'\""],"~":[null,null,null,"1!",null,null]},dvorak:{"!":["`~",null,null,"2@","'\"",null],'"':[null,"1!","2@",",<","aA",null],"#":["2@",null,null,"4$",".>",",<"],$:["3#",null,null,"5%","pP",".>"],"%":["4$",null,null,"6^","yY","pP"],"&":["6^",null,null,"8*","gG","fF"],"'":[null,"1!","2@",",<","aA",null],"(":["8*",null,null,"0)","rR","cC"],")":["9(",null,null,"[{","lL","rR"],"*":["7&",null,null,"9(","cC","gG"],"+":["/?","]}",null,"\\|",null,"-_"],",":["'\"","2@","3#",".>","oO","aA"],"-":["sS","/?","=+",null,null,"zZ"],".":[",<","3#","4$","pP","eE","oO"],"/":["lL","[{","]}","=+","-_","sS"],0:["9(",null,null,"[{","lL","rR"],1:["`~",null,null,"2@","'\"",null],2:["1!",null,null,"3#",",<","'\""],3:["2@",null,null,"4$",".>",",<"],4:["3#",null,null,"5%","pP",".>"],5:["4$",null,null,"6^","yY","pP"],6:["5%",null,null,"7&","fF","yY"],7:["6^",null,null,"8*","gG","fF"],8:["7&",null,null,"9(","cC","gG"],9:["8*",null,null,"0)","rR","cC"],":":[null,"aA","oO","qQ",null,null],";":[null,"aA","oO","qQ",null,null],"<":["'\"","2@","3#",".>","oO","aA"],"=":["/?","]}",null,"\\|",null,"-_"],">":[",<","3#","4$","pP","eE","oO"],"?":["lL","[{","]}","=+","-_","sS"],"@":["1!",null,null,"3#",",<","'\""],A:[null,"'\"",",<","oO",";:",null],B:["xX","dD","hH","mM",null,null],C:["gG","8*","9(","rR","tT","hH"],D:["iI","fF","gG","hH","bB","xX"],E:["oO",".>","pP","uU","jJ","qQ"],F:["yY","6^","7&","gG","dD","iI"],G:["fF","7&","8*","cC","hH","dD"],H:["dD","gG","cC","tT","mM","bB"],I:["uU","yY","fF","dD","xX","kK"],J:["qQ","eE","uU","kK",null,null],K:["jJ","uU","iI","xX",null,null],L:["rR","0)","[{","/?","sS","nN"],M:["bB","hH","tT","wW",null,null],N:["tT","rR","lL","sS","vV","wW"],O:["aA",",<",".>","eE","qQ",";:"],P:[".>","4$","5%","yY","uU","eE"],Q:[";:","oO","eE","jJ",null,null],R:["cC","9(","0)","lL","nN","tT"],S:["nN","lL","/?","-_","zZ","vV"],T:["hH","cC","rR","nN","wW","mM"],U:["eE","pP","yY","iI","kK","jJ"],V:["wW","nN","sS","zZ",null,null],W:["mM","tT","nN","vV",null,null],X:["kK","iI","dD","bB",null,null],Y:["pP","5%","6^","fF","iI","uU"],Z:["vV","sS","-_",null,null,null],"[":["0)",null,null,"]}","/?","lL"],"\\":["=+",null,null,null,null,null],"]":["[{",null,null,null,"=+","/?"],"^":["5%",null,null,"7&","fF","yY"],_:["sS","/?","=+",null,null,"zZ"],"`":[null,null,null,"1!",null,null],a:[null,"'\"",",<","oO",";:",null],b:["xX","dD","hH","mM",null,null],c:["gG","8*","9(","rR","tT","hH"],d:["iI","fF","gG","hH","bB","xX"],e:["oO",".>","pP","uU","jJ","qQ"],f:["yY","6^","7&","gG","dD","iI"],g:["fF","7&","8*","cC","hH","dD"],h:["dD","gG","cC","tT","mM","bB"],i:["uU","yY","fF","dD","xX","kK"],j:["qQ","eE","uU","kK",null,null],k:["jJ","uU","iI","xX",null,null],l:["rR","0)","[{","/?","sS","nN"],m:["bB","hH","tT","wW",null,null],n:["tT","rR","lL","sS","vV","wW"],o:["aA",",<",".>","eE","qQ",";:"],p:[".>","4$","5%","yY","uU","eE"],q:[";:","oO","eE","jJ",null,null],r:["cC","9(","0)","lL","nN","tT"],s:["nN","lL","/?","-_","zZ","vV"],t:["hH","cC","rR","nN","wW","mM"],u:["eE","pP","yY","iI","kK","jJ"],v:["wW","nN","sS","zZ",null,null],w:["mM","tT","nN","vV",null,null],x:["kK","iI","dD","bB",null,null],y:["pP","5%","6^","fF","iI","uU"],z:["vV","sS","-_",null,null,null],"{":["0)",null,null,"]}","/?","lL"],"|":["=+",null,null,null,null,null],"}":["[{",null,null,null,"=+","/?"],"~":[null,null,null,"1!",null,null]},keypad:{"*":["/",null,null,null,"-","+","9","8"],"+":["9","*","-",null,null,null,null,"6"],"-":["*",null,null,null,null,null,"+","9"],".":["0","2","3",null,null,null,null,null],"/":[null,null,null,null,"*","9","8","7"],0:[null,"1","2","3",".",null,null,null],1:[null,null,"4","5","2","0",null,null],2:["1","4","5","6","3",".","0",null],3:["2","5","6",null,null,null,".","0"],4:[null,null,"7","8","5","2","1",null],5:["4","7","8","9","6","3","2","1"],6:["5","8","9","+",null,null,"3","2"],7:[null,null,null,"/","8","5","4",null],8:["7",null,"/","*","9","6","5","4"],9:["8","/","*","-","+",null,"6","5"]},mac_keypad:{"*":["/",null,null,null,null,null,"-","9"],"+":["6","9","-",null,null,null,null,"3"],"-":["9","/","*",null,null,null,"+","6"],".":["0","2","3",null,null,null,null,null],"/":["=",null,null,null,"*","-","9","8"],0:[null,"1","2","3",".",null,null,null],1:[null,null,"4","5","2","0",null,null],2:["1","4","5","6","3",".","0",null],3:["2","5","6","+",null,null,".","0"],4:[null,null,"7","8","5","2","1",null],5:["4","7","8","9","6","3","2","1"],6:["5","8","9","-","+",null,"3","2"],7:[null,null,null,"=","8","5","4",null],8:["7",null,"=","/","9","6","5","4"],9:["8","=","/","*","-","+","6","5"],"=":[null,null,null,null,"/","9","8","7"]}},module.exports=adjacency_graphs;
18178
18179},{}],2:[function(require,module,exports){
18180var feedback,scoring;scoring=require("./scoring"),feedback={default_feedback:{warning:"",suggestions:["Use a few words, avoid common phrases","No need for symbols, digits, or uppercase letters"]},get_feedback:function(e,s){var a,t,r,n,o,i;if(0===s.length)return this.default_feedback;if(e>2)return{warning:"",suggestions:[]};for(n=s[0],i=s.slice(1),t=0,r=i.length;t<r;t++)o=i[t],o.token.length>n.token.length&&(n=o);return feedback=this.get_match_feedback(n,1===s.length),a="Add another word or two. Uncommon words are better.",null!=feedback?(feedback.suggestions.unshift(a),null==feedback.warning&&(feedback.warning="")):feedback={warning:"",suggestions:[a]},feedback},get_match_feedback:function(e,s){var a,t;switch(e.pattern){case"dictionary":return this.get_dictionary_match_feedback(e,s);case"spatial":return a=e.graph.toUpperCase(),t=1===e.turns?"Straight rows of keys are easy to guess":"Short keyboard patterns are easy to guess",{warning:t,suggestions:["Use a longer keyboard pattern with more turns"]};case"repeat":return t=1===e.base_token.length?'Repeats like "aaa" are easy to guess':'Repeats like "abcabcabc" are only slightly harder to guess than "abc"',{warning:t,suggestions:["Avoid repeated words and characters"]};case"sequence":return{warning:"Sequences like abc or 6543 are easy to guess",suggestions:["Avoid sequences"]};case"regex":if("recent_year"===e.regex_name)return{warning:"Recent years are easy to guess",suggestions:["Avoid recent years","Avoid years that are associated with you"]};break;case"date":return{warning:"Dates are often easy to guess",suggestions:["Avoid dates and years that are associated with you"]}}},get_dictionary_match_feedback:function(e,s){var a,t,r,n,o;return n="passwords"===e.dictionary_name?!s||e.l33t||e.reversed?e.guesses_log10<=4?"This is similar to a commonly used password":void 0:e.rank<=10?"This is a top-10 common password":e.rank<=100?"This is a top-100 common password":"This is a very common password":"english"===e.dictionary_name?s?"A word by itself is easy to guess":void 0:"surnames"===(a=e.dictionary_name)||"male_names"===a||"female_names"===a?s?"Names and surnames by themselves are easy to guess":"Common names and surnames are easy to guess":"",r=[],o=e.token,o.match(scoring.START_UPPER)?r.push("Capitalization doesn't help very much"):o.match(scoring.ALL_UPPER)&&o.toLowerCase()!==o&&r.push("All-uppercase is almost as easy to guess as all-lowercase"),e.reversed&&e.token.length>=4&&r.push("Reversed words aren't much harder to guess"),e.l33t&&r.push("Predictable substitutions like '@' instead of 'a' don't help very much"),t={warning:n,suggestions:r}}},module.exports=feedback;
18181
18182},{"./scoring":6}],3:[function(require,module,exports){
18183var frequency_lists;frequency_lists={passwords:"123456,password,12345678,qwerty,123456789,12345,1234,111111,1234567,dragon,123123,baseball,abc123,football,monkey,letmein,shadow,master,696969,mustang,666666,qwertyuiop,123321,1234567890,pussy,superman,654321,1qaz2wsx,7777777,fuckyou,qazwsx,jordan,123qwe,000000,killer,trustno1,hunter,harley,zxcvbnm,asdfgh,buster,batman,soccer,tigger,charlie,sunshine,iloveyou,fuckme,ranger,hockey,computer,starwars,asshole,pepper,klaster,112233,zxcvbn,freedom,princess,maggie,pass,ginger,11111111,131313,fuck,love,cheese,159753,summer,chelsea,dallas,biteme,matrix,yankees,6969,corvette,austin,access,thunder,merlin,secret,diamond,hello,hammer,fucker,1234qwer,silver,gfhjkm,internet,samantha,golfer,scooter,test,orange,cookie,q1w2e3r4t5,maverick,sparky,phoenix,mickey,bigdog,snoopy,guitar,whatever,chicken,camaro,mercedes,peanut,ferrari,falcon,cowboy,welcome,sexy,samsung,steelers,smokey,dakota,arsenal,boomer,eagles,tigers,marina,nascar,booboo,gateway,yellow,porsche,monster,spider,diablo,hannah,bulldog,junior,london,purple,compaq,lakers,iceman,qwer1234,hardcore,cowboys,money,banana,ncc1701,boston,tennis,q1w2e3r4,coffee,scooby,123654,nikita,yamaha,mother,barney,brandy,chester,fuckoff,oliver,player,forever,rangers,midnight,chicago,bigdaddy,redsox,angel,badboy,fender,jasper,slayer,rabbit,natasha,marine,bigdick,wizard,marlboro,raiders,prince,casper,fishing,flower,jasmine,iwantu,panties,adidas,winter,winner,gandalf,password1,enter,ghbdtn,1q2w3e4r,golden,cocacola,jordan23,winston,madison,angels,panther,blowme,sexsex,bigtits,spanky,bitch,sophie,asdfasdf,horny,thx1138,toyota,tiger,dick,canada,12344321,blowjob,8675309,muffin,liverpoo,apples,qwerty123,passw0rd,abcd1234,pokemon,123abc,slipknot,qazxsw,123456a,scorpion,qwaszx,butter,startrek,rainbow,asdfghjkl,razz,newyork,redskins,gemini,cameron,qazwsxedc,florida,liverpool,turtle,sierra,viking,booger,butthead,doctor,rocket,159357,dolphins,captain,bandit,jaguar,packers,pookie,peaches,789456,asdf,dolphin,helpme,blue,theman,maxwell,qwertyui,shithead,lovers,maddog,giants,nirvana,metallic,hotdog,rosebud,mountain,warrior,stupid,elephant,suckit,success,bond007,jackass,alexis,porn,lucky,scorpio,samson,q1w2e3,azerty,rush2112,driver,freddy,1q2w3e4r5t,sydney,gators,dexter,red123,123456q,12345a,bubba,creative,voodoo,golf,trouble,america,nissan,gunner,garfield,bullshit,asdfghjk,5150,fucking,apollo,1qazxsw2,2112,eminem,legend,airborne,bear,beavis,apple,brooklyn,godzilla,skippy,4815162342,buddy,qwert,kitten,magic,shelby,beaver,phantom,asdasd,xavier,braves,darkness,blink182,copper,platinum,qweqwe,tomcat,01012011,girls,bigboy,102030,animal,police,online,11223344,voyager,lifehack,12qwaszx,fish,sniper,315475,trinity,blazer,heaven,lover,snowball,playboy,loveme,bubbles,hooters,cricket,willow,donkey,topgun,nintendo,saturn,destiny,pakistan,pumpkin,digital,sergey,redwings,explorer,tits,private,runner,therock,guinness,lasvegas,beatles,789456123,fire,cassie,christin,qwerty1,celtic,asdf1234,andrey,broncos,007007,babygirl,eclipse,fluffy,cartman,michigan,carolina,testing,alexande,birdie,pantera,cherry,vampire,mexico,dickhead,buffalo,genius,montana,beer,minecraft,maximus,flyers,lovely,stalker,metallica,doggie,snickers,speedy,bronco,lol123,paradise,yankee,horses,magnum,dreams,147258369,lacrosse,ou812,goober,enigma,qwertyu,scotty,pimpin,bollocks,surfer,cock,poohbear,genesis,star,asd123,qweasdzxc,racing,hello1,hawaii,eagle1,viper,poopoo,einstein,boobies,12345q,bitches,drowssap,simple,badger,alaska,action,jester,drummer,111222,spitfire,forest,maryjane,champion,diesel,svetlana,friday,hotrod,147258,chevy,lucky1,westside,security,google,badass,tester,shorty,thumper,hitman,mozart,zaq12wsx,boobs,reddog,010203,lizard,a123456,123456789a,ruslan,eagle,1232323q,scarface,qwerty12,147852,a12345,buddha,porno,420420,spirit,money1,stargate,qwe123,naruto,mercury,liberty,12345qwert,semperfi,suzuki,popcorn,spooky,marley,scotland,kitty,cherokee,vikings,simpsons,rascal,qweasd,hummer,loveyou,michael1,patches,russia,jupiter,penguin,passion,cumshot,vfhbyf,honda,vladimir,sandman,passport,raider,bastard,123789,infinity,assman,bulldogs,fantasy,sucker,1234554321,horney,domino,budlight,disney,ironman,usuckballz1,softball,brutus,redrum,bigred,mnbvcxz,fktrcfylh,karina,marines,digger,kawasaki,cougar,fireman,oksana,monday,cunt,justice,nigger,super,wildcats,tinker,logitech,dancer,swordfis,avalon,everton,alexandr,motorola,patriots,hentai,madonna,pussy1,ducati,colorado,connor,juventus,galore,smooth,freeuser,warcraft,boogie,titanic,wolverin,elizabet,arizona,valentin,saints,asdfg,accord,test123,password123,christ,yfnfif,stinky,slut,spiderma,naughty,chopper,hello123,ncc1701d,extreme,skyline,poop,zombie,pearljam,123qweasd,froggy,awesome,vision,pirate,fylhtq,dreamer,bullet,predator,empire,123123a,kirill,charlie1,panthers,penis,skipper,nemesis,rasdzv3,peekaboo,rolltide,cardinal,psycho,danger,mookie,happy1,wanker,chevelle,manutd,goblue,9379992,hobbes,vegeta,fyfcnfcbz,852456,picard,159951,windows,loverboy,victory,vfrcbv,bambam,serega,123654789,turkey,tweety,galina,hiphop,rooster,changeme,berlin,taurus,suckme,polina,electric,avatar,134679,maksim,raptor,alpha1,hendrix,newport,bigcock,brazil,spring,a1b2c3,madmax,alpha,britney,sublime,darkside,bigman,wolfpack,classic,hercules,ronaldo,letmein1,1q2w3e,741852963,spiderman,blizzard,123456789q,cheyenne,cjkysirj,tiger1,wombat,bubba1,pandora,zxc123,holiday,wildcat,devils,horse,alabama,147852369,caesar,12312,buddy1,bondage,pussycat,pickle,shaggy,catch22,leather,chronic,a1b2c3d4,admin,qqq111,qaz123,airplane,kodiak,freepass,billybob,sunset,katana,phpbb,chocolat,snowman,angel1,stingray,firebird,wolves,zeppelin,detroit,pontiac,gundam,panzer,vagina,outlaw,redhead,tarheels,greenday,nastya,01011980,hardon,engineer,dragon1,hellfire,serenity,cobra,fireball,lickme,darkstar,1029384756,01011,mustang1,flash,124578,strike,beauty,pavilion,01012000,bobafett,dbrnjhbz,bigmac,bowling,chris1,ytrewq,natali,pyramid,rulez,welcome1,dodgers,apache,swimming,whynot,teens,trooper,fuckit,defender,precious,135790,packard,weasel,popeye,lucifer,cancer,icecream,142536,raven,swordfish,presario,viktor,rockstar,blonde,james1,wutang,spike,pimp,atlanta,airforce,thailand,casino,lennon,mouse,741852,hacker,bluebird,hawkeye,456123,theone,catfish,sailor,goldfish,nfnmzyf,tattoo,pervert,barbie,maxima,nipples,machine,trucks,wrangler,rocks,tornado,lights,cadillac,bubble,pegasus,madman,longhorn,browns,target,666999,eatme,qazwsx123,microsoft,dilbert,christia,baller,lesbian,shooter,xfiles,seattle,qazqaz,cthutq,amateur,prelude,corona,freaky,malibu,123qweasdzxc,assassin,246810,atlantis,integra,pussies,iloveu,lonewolf,dragons,monkey1,unicorn,software,bobcat,stealth,peewee,openup,753951,srinivas,zaqwsx,valentina,shotgun,trigger,veronika,bruins,coyote,babydoll,joker,dollar,lestat,rocky1,hottie,random,butterfly,wordpass,smiley,sweety,snake,chipper,woody,samurai,devildog,gizmo,maddie,soso123aljg,mistress,freedom1,flipper,express,hjvfirf,moose,cessna,piglet,polaris,teacher,montreal,cookies,wolfgang,scully,fatboy,wicked,balls,tickle,bunny,dfvgbh,foobar,transam,pepsi,fetish,oicu812,basketba,toshiba,hotstuff,sunday,booty,gambit,31415926,impala,stephani,jessica1,hooker,lancer,knicks,shamrock,fuckyou2,stinger,314159,redneck,deftones,squirt,siemens,blaster,trucker,subaru,renegade,ibanez,manson,swinger,reaper,blondie,mylove,galaxy,blahblah,enterpri,travel,1234abcd,babylon5,indiana,skeeter,master1,sugar,ficken,smoke,bigone,sweetpea,fucked,trfnthbyf,marino,escort,smitty,bigfoot,babes,larisa,trumpet,spartan,valera,babylon,asdfghj,yankees1,bigboobs,stormy,mister,hamlet,aardvark,butterfl,marathon,paladin,cavalier,manchester,skater,indigo,hornet,buckeyes,01011990,indians,karate,hesoyam,toronto,diamonds,chiefs,buckeye,1qaz2wsx3edc,highland,hotsex,charger,redman,passwor,maiden,drpepper,storm,pornstar,garden,12345678910,pencil,sherlock,timber,thuglife,insane,pizza,jungle,jesus1,aragorn,1a2b3c,hamster,david1,triumph,techno,lollol,pioneer,catdog,321654,fktrctq,morpheus,141627,pascal,shadow1,hobbit,wetpussy,erotic,consumer,blabla,justme,stones,chrissy,spartak,goforit,burger,pitbull,adgjmptw,italia,barcelona,hunting,colors,kissme,virgin,overlord,pebbles,sundance,emerald,doggy,racecar,irina,element,1478963,zipper,alpine,basket,goddess,poison,nipple,sakura,chichi,huskers,13579,pussys,q12345,ultimate,ncc1701e,blackie,nicola,rommel,matthew1,caserta,omega,geronimo,sammy1,trojan,123qwe123,philips,nugget,tarzan,chicks,aleksandr,bassman,trixie,portugal,anakin,dodger,bomber,superfly,madness,q1w2e3r4t5y6,loser,123asd,fatcat,ybrbnf,soldier,warlock,wrinkle1,desire,sexual,babe,seminole,alejandr,951753,11235813,westham,andrei,concrete,access14,weed,letmein2,ladybug,naked,christop,trombone,tintin,bluesky,rhbcnbyf,qazxswedc,onelove,cdtnkfyf,whore,vfvjxrf,titans,stallion,truck,hansolo,blue22,smiles,beagle,panama,kingkong,flatron,inferno,mongoose,connect,poiuyt,snatch,qawsed,juice,blessed,rocker,snakes,turbo,bluemoon,sex4me,finger,jamaica,a1234567,mulder,beetle,fuckyou1,passat,immortal,plastic,123454321,anthony1,whiskey,dietcoke,suck,spunky,magic1,monitor,cactus,exigen,planet,ripper,teen,spyder,apple1,nolimit,hollywoo,sluts,sticky,trunks,1234321,14789632,pickles,sailing,bonehead,ghbdtnbr,delta,charlott,rubber,911911,112358,molly1,yomama,hongkong,jumper,william1,ilovesex,faster,unreal,cumming,memphis,1123581321,nylons,legion,sebastia,shalom,pentium,geheim,werewolf,funtime,ferret,orion,curious,555666,niners,cantona,sprite,philly,pirates,abgrtyu,lollipop,eternity,boeing,super123,sweets,cooldude,tottenha,green1,jackoff,stocking,7895123,moomoo,martini,biscuit,drizzt,colt45,fossil,makaveli,snapper,satan666,maniac,salmon,patriot,verbatim,nasty,shasta,asdzxc,shaved,blackcat,raistlin,qwerty12345,punkrock,cjkywt,01012010,4128,waterloo,crimson,twister,oxford,musicman,seinfeld,biggie,condor,ravens,megadeth,wolfman,cosmos,sharks,banshee,keeper,foxtrot,gn56gn56,skywalke,velvet,black1,sesame,dogs,squirrel,privet,sunrise,wolverine,sucks,legolas,grendel,ghost,cats,carrot,frosty,lvbnhbq,blades,stardust,frog,qazwsxed,121314,coolio,brownie,groovy,twilight,daytona,vanhalen,pikachu,peanuts,licker,hershey,jericho,intrepid,ninja,1234567a,zaq123,lobster,goblin,punisher,strider,shogun,kansas,amadeus,seven7,jason1,neptune,showtime,muscle,oldman,ekaterina,rfrfirf,getsome,showme,111222333,obiwan,skittles,danni,tanker,maestro,tarheel,anubis,hannibal,anal,newlife,gothic,shark,fighter,blue123,blues,123456z,princes,slick,chaos,thunder1,sabine,1q2w3e4r5t6y,python,test1,mirage,devil,clover,tequila,chelsea1,surfing,delete,potato,chubby,panasonic,sandiego,portland,baggins,fusion,sooners,blackdog,buttons,californ,moscow,playtime,mature,1a2b3c4d,dagger,dima,stimpy,asdf123,gangster,warriors,iverson,chargers,byteme,swallow,liquid,lucky7,dingdong,nymets,cracker,mushroom,456852,crusader,bigguy,miami,dkflbvbh,bugger,nimrod,tazman,stranger,newpass,doodle,powder,gotcha,guardian,dublin,slapshot,septembe,147896325,pepsi1,milano,grizzly,woody1,knights,photos,2468,nookie,charly,rammstein,brasil,123321123,scruffy,munchkin,poopie,123098,kittycat,latino,walnut,1701,thegame,viper1,1passwor,kolobok,picasso,robert1,barcelon,bananas,trance,auburn,coltrane,eatshit,goodluck,starcraft,wheels,parrot,postal,blade,wisdom,pink,gorilla,katerina,pass123,andrew1,shaney14,dumbass,osiris,fuck_inside,oakland,discover,ranger1,spanking,lonestar,bingo,meridian,ping,heather1,dookie,stonecol,megaman,192837465,rjntyjr,ledzep,lowrider,25802580,richard1,firefly,griffey,racerx,paradox,ghjcnj,gangsta,zaq1xsw2,tacobell,weezer,sirius,halflife,buffett,shiloh,123698745,vertigo,sergei,aliens,sobaka,keyboard,kangaroo,sinner,soccer1,0.0.000,bonjour,socrates,chucky,hotboy,sprint,0007,sarah1,scarlet,celica,shazam,formula1,sommer,trebor,qwerasdf,jeep,mailcreated5240,bollox,asshole1,fuckface,honda1,rebels,vacation,lexmark,penguins,12369874,ragnarok,formula,258456,tempest,vfhecz,tacoma,qwertz,colombia,flames,rockon,duck,prodigy,wookie,dodgeram,mustangs,123qaz,sithlord,smoker,server,bang,incubus,scoobydo,oblivion,molson,kitkat,titleist,rescue,zxcv1234,carpet,1122,bigballs,tardis,jimbob,xanadu,blueeyes,shaman,mersedes,pooper,pussy69,golfing,hearts,mallard,12312312,kenwood,patrick1,dogg,cowboys1,oracle,123zxc,nuttertools,102938,topper,1122334455,shemale,sleepy,gremlin,yourmom,123987,gateway1,printer,monkeys,peterpan,mikey,kingston,cooler,analsex,jimbo,pa55word,asterix,freckles,birdman,frank1,defiant,aussie,stud,blondes,tatyana,445566,aspirine,mariners,jackal,deadhead,katrin,anime,rootbeer,frogger,polo,scooter1,hallo,noodles,thomas1,parola,shaolin,celine,11112222,plymouth,creampie,justdoit,ohyeah,fatass,assfuck,amazon,1234567q,kisses,magnus,camel,nopass,bosco,987456,6751520,harley1,putter,champs,massive,spidey,lightnin,camelot,letsgo,gizmodo,aezakmi,bones,caliente,12121,goodtime,thankyou,raiders1,brucelee,redalert,aquarius,456654,catherin,smokin,pooh,mypass,astros,roller,porkchop,sapphire,qwert123,kevin1,a1s2d3f4,beckham,atomic,rusty1,vanilla,qazwsxedcrfv,hunter1,kaktus,cxfcnmt,blacky,753159,elvis1,aggies,blackjac,bangkok,scream,123321q,iforgot,power1,kasper,abc12,buster1,slappy,shitty,veritas,chevrole,amber1,01012001,vader,amsterdam,jammer,primus,spectrum,eduard,granny,horny1,sasha1,clancy,usa123,satan,diamond1,hitler,avenger,1221,spankme,123456qwerty,simba,smudge,scrappy,labrador,john316,syracuse,front242,falcons,husker,candyman,commando,gator,pacman,delta1,pancho,krishna,fatman,clitoris,pineappl,lesbians,8j4ye3uz,barkley,vulcan,punkin,boner,celtics,monopoly,flyboy,romashka,hamburg,123456aa,lick,gangbang,223344,area51,spartans,aaa111,tricky,snuggles,drago,homerun,vectra,homer1,hermes,topcat,cuddles,infiniti,1234567890q,cosworth,goose,phoenix1,killer1,ivanov,bossman,qawsedrf,peugeot,exigent,doberman,durango,brandon1,plumber,telefon,horndog,laguna,rbhbkk,dawg,webmaster,breeze,beast,porsche9,beefcake,leopard,redbull,oscar1,topdog,godsmack,theking,pics,omega1,speaker,viktoria,fuckers,bowler,starbuck,gjkbyf,valhalla,anarchy,blacks,herbie,kingpin,starfish,nokia,loveit,achilles,906090,labtec,ncc1701a,fitness,jordan1,brando,arsenal1,bull,kicker,napass,desert,sailboat,bohica,tractor,hidden,muppet,jackson1,jimmy1,terminator,phillies,pa55w0rd,terror,farside,swingers,legacy,frontier,butthole,doughboy,jrcfyf,tuesday,sabbath,daniel1,nebraska,homers,qwertyuio,azamat,fallen,agent007,striker,camels,iguana,looker,pinkfloy,moloko,qwerty123456,dannyboy,luckydog,789654,pistol,whocares,charmed,skiing,select,franky,puppy,daniil,vladik,vette,vfrcbvrf,ihateyou,nevada,moneys,vkontakte,mandingo,puppies,666777,mystic,zidane,kotenok,dilligaf,budman,bunghole,zvezda,123457,triton,golfball,technics,trojans,panda,laptop,rookie,01011991,15426378,aberdeen,gustav,jethro,enterprise,igor,stripper,filter,hurrican,rfnthbyf,lespaul,gizmo1,butch,132435,dthjybrf,1366613,excalibu,963852,nofear,momoney,possum,cutter,oilers,moocow,cupcake,gbpltw,batman1,splash,svetik,super1,soleil,bogdan,melissa1,vipers,babyboy,tdutybq,lancelot,ccbill,keystone,passwort,flamingo,firefox,dogman,vortex,rebel,noodle,raven1,zaphod,killme,pokemon1,coolman,danila,designer,skinny,kamikaze,deadman,gopher,doobie,warhammer,deeznuts,freaks,engage,chevy1,steve1,apollo13,poncho,hammers,azsxdc,dracula,000007,sassy,bitch1,boots,deskjet,12332,macdaddy,mighty,rangers1,manchest,sterlin,casey1,meatball,mailman,sinatra,cthulhu,summer1,bubbas,cartoon,bicycle,eatpussy,truelove,sentinel,tolkien,breast,capone,lickit,summit,123456k,peter1,daisy1,kitty1,123456789z,crazy1,jamesbon,texas1,sexygirl,362436,sonic,billyboy,redhot,microsof,microlab,daddy1,rockets,iloveyo,fernand,gordon24,danie,cutlass,polska,star69,titties,pantyhos,01011985,thekid,aikido,gofish,mayday,1234qwe,coke,anfield,sony,lansing,smut,scotch,sexx,catman,73501505,hustler,saun,dfkthbz,passwor1,jenny1,azsxdcfv,cheers,irish1,gabrie,tinman,orioles,1225,charlton,fortuna,01011970,airbus,rustam,xtreme,bigmoney,zxcasd,retard,grumpy,huskies,boxing,4runner,kelly1,ultima,warlord,fordf150,oranges,rotten,asdfjkl,superstar,denali,sultan,bikini,saratoga,thor,figaro,sixers,wildfire,vladislav,128500,sparta,mayhem,greenbay,chewie,music1,number1,cancun,fabie,mellon,poiuytrewq,cloud9,crunch,bigtime,chicken1,piccolo,bigbird,321654987,billy1,mojo,01011981,maradona,sandro,chester1,bizkit,rjirfrgbde,789123,rightnow,jasmine1,hyperion,treasure,meatloaf,armani,rovers,jarhead,01011986,cruise,coconut,dragoon,utopia,davids,cosmo,rfhbyf,reebok,1066,charli,giorgi,sticks,sayang,pass1234,exodus,anaconda,zaqxsw,illini,woofwoof,emily1,sandy1,packer,poontang,govols,jedi,tomato,beaner,cooter,creamy,lionking,happy123,albatros,poodle,kenworth,dinosaur,greens,goku,happyday,eeyore,tsunami,cabbage,holyshit,turkey50,memorex,chaser,bogart,orgasm,tommy1,volley,whisper,knopka,ericsson,walleye,321123,pepper1,katie1,chickens,tyler1,corrado,twisted,100000,zorro,clemson,zxcasdqwe,tootsie,milana,zenith,fktrcfylhf,shania,frisco,polniypizdec0211,crazybab,junebug,fugazi,rereirf,vfvekz,1001,sausage,vfczyz,koshka,clapton,justin1,anhyeuem,condom,fubar,hardrock,skywalker,tundra,cocks,gringo,150781,canon,vitalik,aspire,stocks,samsung1,applepie,abc12345,arjay,gandalf1,boob,pillow,sparkle,gmoney,rockhard,lucky13,samiam,everest,hellyeah,bigsexy,skorpion,rfrnec,hedgehog,australi,candle,slacker,dicks,voyeur,jazzman,america1,bobby1,br0d3r,wolfie,vfksirf,1qa2ws3ed,13243546,fright,yosemite,temp,karolina,fart,barsik,surf,cheetah,baddog,deniska,starship,bootie,milena,hithere,kume,greatone,dildo,50cent,0.0.0.000,albion,amanda1,midget,lion,maxell,football1,cyclone,freeporn,nikola,bonsai,kenshin,slider,balloon,roadkill,killbill,222333,jerkoff,78945612,dinamo,tekken,rambler,goliath,cinnamon,malaka,backdoor,fiesta,packers1,rastaman,fletch,sojdlg123aljg,stefano,artemis,calico,nyjets,damnit,robotech,duchess,rctybz,hooter,keywest,18436572,hal9000,mechanic,pingpong,operator,presto,sword,rasputin,spank,bristol,faggot,shado,963852741,amsterda,321456,wibble,carrera,alibaba,majestic,ramses,duster,route66,trident,clipper,steeler,wrestlin,divine,kipper,gotohell,kingfish,snake1,passwords,buttman,pompey,viagra,zxcvbnm1,spurs,332211,slutty,lineage2,oleg,macross,pooter,brian1,qwert1,charles1,slave,jokers,yzerman,swimmer,ne1469,nwo4life,solnce,seamus,lolipop,pupsik,moose1,ivanova,secret1,matador,love69,420247,ktyjxrf,subway,cinder,vermont,pussie,chico,florian,magick,guiness,allsop,ghetto,flash1,a123456789,typhoon,dfkthf,depeche,skydive,dammit,seeker,fuckthis,crysis,kcj9wx5n,umbrella,r2d2c3po,123123q,snoopdog,critter,theboss,ding,162534,splinter,kinky,cyclops,jayhawk,456321,caramel,qwer123,underdog,caveman,onlyme,grapes,feather,hotshot,fuckher,renault,george1,sex123,pippen,000001,789987,floppy,cunts,megapass,1000,pornos,usmc,kickass,great1,quattro,135246,wassup,helloo,p0015123,nicole1,chivas,shannon1,bullseye,java,fishes,blackhaw,jamesbond,tunafish,juggalo,dkflbckfd,123789456,dallas1,translator,122333,beanie,alucard,gfhjkm123,supersta,magicman,ashley1,cohiba,xbox360,caligula,12131415,facial,7753191,dfktynbyf,cobra1,cigars,fang,klingon,bob123,safari,looser,10203,deepthroat,malina,200000,tazmania,gonzo,goalie,jacob1,monaco,cruiser,misfit,vh5150,tommyboy,marino13,yousuck,sharky,vfhufhbnf,horizon,absolut,brighton,123456r,death1,kungfu,maxx,forfun,mamapapa,enter1,budweise,banker,getmoney,kostya,qazwsx12,bigbear,vector,fallout,nudist,gunners,royals,chainsaw,scania,trader,blueboy,walrus,eastside,kahuna,qwerty1234,love123,steph,01011989,cypress,champ,undertaker,ybrjkfq,europa,snowboar,sabres,moneyman,chrisbln,minime,nipper,groucho,whitey,viewsonic,penthous,wolf359,fabric,flounder,coolguy,whitesox,passme,smegma,skidoo,thanatos,fucku2,snapple,dalejr,mondeo,thesims,mybaby,panasoni,sinbad,thecat,topher,frodo,sneakers,q123456,z1x2c3,alfa,chicago1,taylor1,ghjcnjnfr,cat123,olivier,cyber,titanium,0420,madison1,jabroni,dang,hambone,intruder,holly1,gargoyle,sadie1,static,poseidon,studly,newcastl,sexxxx,poppy,johannes,danzig,beastie,musica,buckshot,sunnyday,adonis,bluedog,bonkers,2128506,chrono,compute,spawn,01011988,turbo1,smelly,wapbbs,goldstar,ferrari1,778899,quantum,pisces,boomboom,gunnar,1024,test1234,florida1,nike,superman1,multiplelo,custom,motherlode,1qwerty,westwood,usnavy,apple123,daewoo,korn,stereo,sasuke,sunflowe,watcher,dharma,555777,mouse1,assholes,babyblue,123qwerty,marius,walmart,snoop,starfire,tigger1,paintbal,knickers,aaliyah,lokomotiv,theend,winston1,sapper,rover,erotica,scanner,racer,zeus,sexy69,doogie,bayern,joshua1,newbie,scott1,losers,droopy,outkast,martin1,dodge1,wasser,ufkbyf,rjycnfynby,thirteen,12345z,112211,hotred,deejay,hotpussy,192837,jessic,philippe,scout,panther1,cubbies,havefun,magpie,fghtkm,avalanch,newyork1,pudding,leonid,harry1,cbr600,audia4,bimmer,fucku,01011984,idontknow,vfvfgfgf,1357,aleksey,builder,01011987,zerocool,godfather,mylife,donuts,allmine,redfish,777888,sascha,nitram,bounce,333666,smokes,1x2zkg8w,rodman,stunner,zxasqw12,hoosier,hairy,beretta,insert,123456s,rtyuehe,francesc,tights,cheese1,micron,quartz,hockey1,gegcbr,searay,jewels,bogey,paintball,celeron,padres,bing,syncmaster,ziggy,simon1,beaches,prissy,diehard,orange1,mittens,aleksandra,queens,02071986,biggles,thongs,southpark,artur,twinkle,gretzky,rabota,cambiami,monalisa,gollum,chuckles,spike1,gladiator,whisky,spongebob,sexy1,03082006,mazafaka,meathead,4121,ou8122,barefoot,12345678q,cfitymrf,bigass,a1s2d3,kosmos,blessing,titty,clevelan,terrapin,ginger1,johnboy,maggot,clarinet,deeznutz,336699,stumpy,stoney,footbal,traveler,volvo,bucket,snapon,pianoman,hawkeyes,futbol,casanova,tango,goodboy,scuba,honey1,sexyman,warthog,mustard,abc1234,nickel,10203040,meowmeow,1012,boricua,prophet,sauron,12qwas,reefer,andromeda,crystal1,joker1,90210,goofy,loco,lovesex,triangle,whatsup,mellow,bengals,monster1,maste,01011910,lover1,love1,123aaa,sunshin,smeghead,hokies,sting,welder,rambo,cerberus,bunny1,rockford,monke,1q2w3e4r5,goldwing,gabriell,buzzard,crjhgbjy,james007,rainman,groove,tiberius,purdue,nokia6300,hayabusa,shou,jagger,diver,zigzag,poochie,usarmy,phish,redwood,redwing,12345679,salamander,silver1,abcd123,sputnik,boobie,ripple,eternal,12qw34er,thegreat,allstar,slinky,gesperrt,mishka,whiskers,pinhead,overkill,sweet1,rhfcjnrf,montgom240,sersolution,jamie1,starman,proxy,swords,nikolay,bacardi,rasta,badgirl,rebecca1,wildman,penny1,spaceman,1007,10101,logan1,hacked,bulldog1,helmet,windsor,buffy1,runescape,trapper,123451,banane,dbrnjh,ripken,12345qwe,frisky,shun,fester,oasis,lightning,ib6ub9,cicero,kool,pony,thedog,784512,01011992,megatron,illusion,edward1,napster,11223,squash,roadking,woohoo,19411945,hoosiers,01091989,tracker,bagira,midway,leavemealone,br549,14725836,235689,menace,rachel1,feng,laser,stoned,realmadrid,787898,balloons,tinkerbell,5551212,maria1,pobeda,heineken,sonics,moonlight,optimus,comet,orchid,02071982,jaybird,kashmir,12345678a,chuang,chunky,peach,mortgage,rulezzz,saleen,chuckie,zippy,fishing1,gsxr750,doghouse,maxim,reader,shai,buddah,benfica,chou,salomon,meister,eraser,blackbir,bigmike,starter,pissing,angus,deluxe,eagles1,hardcock,135792468,mian,seahawks,godfathe,bookworm,gregor,intel,talisman,blackjack,babyface,hawaiian,dogfood,zhong,01011975,sancho,ludmila,medusa,mortimer,123456654321,roadrunn,just4me,stalin,01011993,handyman,alphabet,pizzas,calgary,clouds,password2,cgfhnfr,f**k,cubswin,gong,lexus,max123,xxx123,digital1,gfhjkm1,7779311,missy1,michae,beautifu,gator1,1005,pacers,buddie,chinook,heckfy,dutchess,sally1,breasts,beowulf,darkman,jenn,tiffany1,zhei,quan,qazwsx1,satana,shang,idontkno,smiths,puddin,nasty1,teddybea,valkyrie,passwd,chao,boxster,killers,yoda,cheater,inuyasha,beast1,wareagle,foryou,dragonball,mermaid,bhbirf,teddy1,dolphin1,misty1,delphi,gromit,sponge,qazzaq,fytxrf,gameover,diao,sergi,beamer,beemer,kittykat,rancid,manowar,adam12,diggler,assword,austin1,wishbone,gonavy,sparky1,fisting,thedude,sinister,1213,venera,novell,salsero,jayden,fuckoff1,linda1,vedder,02021987,1pussy,redline,lust,jktymrf,02011985,dfcbkbq,dragon12,chrome,gamecube,titten,cong,bella1,leng,02081988,eureka,bitchass,147369,banner,lakota,123321a,mustafa,preacher,hotbox,02041986,z1x2c3v4,playstation,01011977,claymore,electra,checkers,zheng,qing,armagedon,02051986,wrestle,svoboda,bulls,nimbus,alenka,madina,newpass6,onetime,aa123456,bartman,02091987,silverad,electron,12345t,devil666,oliver1,skylar,rhtdtlrj,gobucks,johann,12011987,milkman,02101985,camper,thunderb,bigbutt,jammin,davide,cheeks,goaway,lighter,claudi,thumbs,pissoff,ghostrider,cocaine,teng,squall,lotus,hootie,blackout,doitnow,subzero,02031986,marine1,02021988,pothead,123456qw,skate,1369,peng,antoni,neng,miao,bcfields,1492,marika,794613,musashi,tulips,nong,piao,chai,ruan,southpar,02061985,nude,mandarin,654123,ninjas,cannabis,jetski,xerxes,zhuang,kleopatra,dickie,bilbo,pinky,morgan1,1020,1017,dieter,baseball1,tottenham,quest,yfnfkmz,dirtbike,1234567890a,mango,jackson5,ipswich,iamgod,02011987,tdutybz,modena,qiao,slippery,qweasd123,bluefish,samtron,toon,111333,iscool,02091986,petrov,fuzzy,zhou,1357924680,mollydog,deng,02021986,1236987,pheonix,zhun,ghblehjr,othello,starcraf,000111,sanfran,a11111,cameltoe,badman,vasilisa,jiang,1qaz2ws,luan,sveta,12qw12,akira,chuai,369963,cheech,beatle,pickup,paloma,01011983,caravan,elizaveta,gawker,banzai,pussey,mullet,seng,bingo1,bearcat,flexible,farscape,borussia,zhuai,templar,guitar1,toolman,yfcntymrf,chloe1,xiang,slave1,guai,nuggets,02081984,mantis,slim,scorpio1,fyutkbyf,thedoors,02081987,02061986,123qq123,zappa,fergie,7ugd5hip2j,huai,asdfzxcv,sunflower,pussyman,deadpool,bigtit,01011982,love12,lassie,skyler,gatorade,carpedie,jockey,mancity,spectre,02021984,cameron1,artemka,reng,02031984,iomega,jing,moritz,spice,rhino,spinner,heater,zhai,hover,talon,grease,qiong,corleone,ltybcrf,tian,cowboy1,hippie,chimera,ting,alex123,02021985,mickey1,corsair,sonoma,aaron1,xxxpass,bacchus,webmaste,chuo,xyz123,chrysler,spurs1,artem,shei,cosmic,01020304,deutsch,gabriel1,123455,oceans,987456321,binladen,latinas,a12345678,speedo,buttercu,02081989,21031988,merlot,millwall,ceng,kotaku,jiong,dragonba,2580,stonecold,snuffy,01011999,02011986,hellos,blaze,maggie1,slapper,istanbul,bonjovi,babylove,mazda,bullfrog,phoeni,meng,porsche1,nomore,02061989,bobdylan,capslock,orion1,zaraza,teddybear,ntktajy,myname,rong,wraith,mets,niao,02041984,smokie,chevrolet,dialog,gfhjkmgfhjkm,dotcom,vadim,monarch,athlon,mikey1,hamish,pian,liang,coolness,chui,thoma,ramones,ciccio,chippy,eddie1,house1,ning,marker,cougars,jackpot,barbados,reds,pdtplf,knockers,cobalt,amateurs,dipshit,napoli,kilroy,pulsar,jayhawks,daemon,alexey,weng,shuang,9293709b13,shiner,eldorado,soulmate,mclaren,golfer1,andromed,duan,50spanks,sexyboy,dogshit,02021983,shuo,kakashka,syzygy,111111a,yeahbaby,qiang,netscape,fulham,120676,gooner,zhui,rainbow6,laurent,dog123,halifax,freeway,carlitos,147963,eastwood,microphone,monkey12,1123,persik,coldbeer,geng,nuan,danny1,fgtkmcby,entropy,gadget,just4fun,sophi,baggio,carlito,1234567891,02021989,02041983,specialk,piramida,suan,bigblue,salasana,hopeful,mephisto,bailey1,hack,annie1,generic,violetta,spencer1,arcadia,02051983,hondas,9562876,trainer,jones1,smashing,liao,159632,iceberg,rebel1,snooker,temp123,zang,matteo,fastball,q2w3e4r5,bamboo,fuckyo,shutup,astro,buddyboy,nikitos,redbird,maxxxx,shitface,02031987,kuai,kissmyass,sahara,radiohea,1234asdf,wildcard,maxwell1,patric,plasma,heynow,bruno1,shao,bigfish,misfits,sassy1,sheng,02011988,02081986,testpass,nanook,cygnus,licking,slavik,pringles,xing,1022,ninja1,submit,dundee,tiburon,pinkfloyd,yummy,shuai,guang,chopin,obelix,insomnia,stroker,1a2s3d4f,1223,playboy1,lazarus,jorda,spider1,homerj,sleeper,02041982,darklord,cang,02041988,02041987,tripod,magician,jelly,telephon,15975,vsjasnel12,pasword,iverson3,pavlov,homeboy,gamecock,amigo,brodie,budapest,yjdsqgfhjkm,reckless,02011980,pang,tiger123,2469,mason1,orient,01011979,zong,cdtnbr,maksimka,1011,bushido,taxman,giorgio,sphinx,kazantip,02101984,concorde,verizon,lovebug,georg,sam123,seadoo,qazwsxedc123,jiao,jezebel,pharmacy,abnormal,jellybea,maxime,puffy,islander,bunnies,jiggaman,drakon,010180,pluto,zhjckfd,12365,classics,crusher,mordor,hooligan,strawberry,02081985,scrabble,hawaii50,1224,wg8e3wjf,cthtuf,premium,arrow,123456qwe,mazda626,ramrod,tootie,rhjrjlbk,ghost1,1211,bounty,niang,02071984,goat,killer12,sweetnes,porno1,masamune,426hemi,corolla,mariposa,hjccbz,doomsday,bummer,blue12,zhao,bird33,excalibur,samsun,kirsty,buttfuck,kfhbcf,zhuo,marcello,ozzy,02021982,dynamite,655321,master12,123465,lollypop,stepan,1qa2ws,spiker,goirish,callum,michael2,moonbeam,attila,henry1,lindros,andrea1,sporty,lantern,12365478,nextel,violin,volcom,998877,water1,imation,inspiron,dynamo,citadel,placebo,clowns,tiao,02061988,tripper,dabears,haggis,merlin1,02031985,anthrax,amerika,iloveme,vsegda,burrito,bombers,snowboard,forsaken,katarina,a1a2a3,woofer,tigger2,fullmoon,tiger2,spock,hannah1,snoopy1,sexxxy,sausages,stanislav,cobain,robotics,exotic,green123,mobydick,senators,pumpkins,fergus,asddsa,147741,258852,windsurf,reddevil,vfitymrf,nevermind,nang,woodland,4417,mick,shui,q1q2q3,wingman,69696,superb,zuan,ganesh,pecker,zephyr,anastasiya,icu812,larry1,02081982,broker,zalupa,mihail,vfibyf,dogger,7007,paddle,varvara,schalke,1z2x3c,presiden,yankees2,tuning,poopy,02051982,concord,vanguard,stiffy,rjhjktdf,felix1,wrench,firewall,boxer,bubba69,popper,02011984,temppass,gobears,cuan,tipper,fuckme1,kamila,thong,puss,bigcat,drummer1,02031982,sowhat,digimon,tigers1,rang,jingle,bian,uranus,soprano,mandy1,dusty1,fandango,aloha,pumpkin1,postman,02061980,dogcat,bombay,pussy123,onetwo,highheel,pippo,julie1,laura1,pepito,beng,smokey1,stylus,stratus,reload,duckie,karen1,jimbo1,225588,369258,krusty,snappy,asdf12,electro,111qqq,kuang,fishin,clit,abstr,christma,qqqqq1,1234560,carnage,guyver,boxers,kittens,zeng,1000000,qwerty11,toaster,cramps,yugioh,02061987,icehouse,zxcvbnm123,pineapple,namaste,harrypotter,mygirl,falcon1,earnhard,fender1,spikes,nutmeg,01081989,dogboy,02091983,369852,softail,mypassword,prowler,bigboss,1112,harvest,heng,jubilee,killjoy,basset,keng,zaqxswcde,redsox1,biao,titan,misfit99,robot,wifey,kidrock,02101987,gameboy,enrico,1z2x3c4v,broncos1,arrows,havana,banger,cookie1,chriss,123qw,platypus,cindy1,lumber,pinball,foxy,london1,1023,05051987,02041985,password12,superma,longbow,radiohead,nigga,12051988,spongebo,qwert12345,abrakadabra,dodgers1,02101989,chillin,niceguy,pistons,hookup,santafe,bigben,jets,1013,vikings1,mankind,viktoriya,beardog,hammer1,02071980,reddwarf,magelan,longjohn,jennife,gilles,carmex2,02071987,stasik,bumper,doofus,slamdunk,pixies,garion,steffi,alessandro,beerman,niceass,warrior1,honolulu,134679852,visa,johndeer,mother1,windmill,boozer,oatmeal,aptiva,busty,delight,tasty,slick1,bergkamp,badgers,guitars,puffin,02091981,nikki1,irishman,miller1,zildjian,123000,airwolf,magnet,anai,install,02041981,02061983,astra,romans,megan1,mudvayne,freebird,muscles,dogbert,02091980,02091984,snowflak,01011900,mang,joseph1,nygiants,playstat,junior1,vjcrdf,qwer12,webhompas,giraffe,pelican,jefferso,comanche,bruiser,monkeybo,kjkszpj,123456l,micro,albany,02051987,angel123,epsilon,aladin,death666,hounddog,josephin,altima,chilly,02071988,78945,ultra,02041979,gasman,thisisit,pavel,idunno,kimmie,05051985,paulie,ballin,medion,moondog,manolo,pallmall,climber,fishbone,genesis1,153624,toffee,tbone,clippers,krypton,jerry1,picturs,compass,111111q,02051988,1121,02081977,sairam,getout,333777,cobras,22041987,bigblock,severin,booster,norwich,whiteout,ctrhtn,123456m,02061984,hewlett,shocker,fuckinside,02031981,chase1,white1,versace,123456789s,basebal,iloveyou2,bluebell,08031986,anthon,stubby,foreve,undertak,werder,saiyan,mama123,medic,chipmunk,mike123,mazdarx7,qwe123qwe,bowwow,kjrjvjnbd,celeb,choochoo,demo,lovelife,02051984,colnago,lithium,02051989,15051981,zzzxxx,welcom,anastasi,fidelio,franc,26061987,roadster,stone55,drifter,hookem,hellboy,1234qw,cbr900rr,sinned,good123654,storm1,gypsy,zebra,zachary1,toejam,buceta,02021979,testing1,redfox,lineage,mike1,highbury,koroleva,nathan1,washingt,02061982,02091985,vintage,redbaron,dalshe,mykids,11051987,macbeth,julien,james123,krasotka,111000,10011986,987123,pipeline,tatarin,sensei,codered,komodo,frogman,7894561230,nascar24,juicy,01031988,redrose,mydick,pigeon,tkbpfdtnf,smirnoff,1215,spam,winner1,flyfish,moskva,81fukkc,21031987,olesya,starligh,summer99,13041988,fishhead,freesex,super12,06061986,azazel,scoobydoo,02021981,cabron,yogibear,sheba1,konstantin,tranny,chilli,terminat,ghbywtccf,slowhand,soccer12,cricket1,fuckhead,1002,seagull,achtung,blam,bigbob,bdsm,nostromo,survivor,cnfybckfd,lemonade,boomer1,rainbow1,rober,irinka,cocksuck,peaches1,itsme,sugar1,zodiac,upyours,dinara,135791,sunny1,chiara,johnson1,02041989,solitude,habibi,sushi,markiz,smoke1,rockies,catwoman,johnny1,qwerty7,bearcats,username,01011978,wanderer,ohshit,02101986,sigma,stephen1,paradigm,02011989,flanker,sanity,jsbach,spotty,bologna,fantasia,chevys,borabora,cocker,74108520,123ewq,12021988,01061990,gtnhjdbx,02071981,01011960,sundevil,3000gt,mustang6,gagging,maggi,armstron,yfnfkb,13041987,revolver,02021976,trouble1,madcat,jeremy1,jackass1,volkswag,30051985,corndog,pool6123,marines1,03041991,pizza1,piggy,sissy,02031979,sunfire,angelus,undead,24061986,14061991,wildbill,shinobi,45m2do5bs,123qwer,21011989,cleopatr,lasvega,hornets,amorcit,11081989,coventry,nirvana1,destin,sidekick,20061988,02081983,gbhfvblf,sneaky,bmw325,22021989,nfytxrf,sekret,kalina,zanzibar,hotone,qazws,wasabi,heidi1,highlander,blues1,hitachi,paolo,23041987,slayer1,simba1,02011981,tinkerbe,kieran,01121986,172839,boiler,1125,bluesman,waffle,asdfgh01,threesom,conan,1102,reflex,18011987,nautilus,everlast,fatty,vader1,01071986,cyborg,ghbdtn123,birddog,rubble,02071983,suckers,02021973,skyhawk,12qw12qw,dakota1,joebob,nokia6233,woodie,longdong,lamer,troll,ghjcnjgfhjkm,420000,boating,nitro,armada,messiah,1031,penguin1,02091989,americ,02071989,redeye,asdqwe123,07071987,monty1,goten,spikey,sonata,635241,tokiohotel,sonyericsson,citroen,compaq1,1812,umpire,belmont,jonny,pantera1,nudes,palmtree,14111986,fenway,bighead,razor,gryphon,andyod22,aaaaa1,taco,10031988,enterme,malachi,dogface,reptile,01041985,dindom,handball,marseille,candy1,19101987,torino,tigge,matthias,viewsoni,13031987,stinker,evangelion,24011985,123456123,rampage,sandrine,02081980,thecrow,astral,28041987,sprinter,private1,seabee,shibby,02101988,25081988,fearless,junkie,01091987,aramis,antelope,draven,fuck1,mazda6,eggman,02021990,barselona,buddy123,19061987,fyfnjkbq,nancy1,12121990,10071987,sluggo,kille,hotties,irishka,zxcasdqwe123,shamus,fairlane,honeybee,soccer10,13061986,fantomas,17051988,10051987,20111986,gladiato,karachi,gambler,gordo,01011995,biatch,matthe,25800852,papito,excite,buffalo1,bobdole,cheshire,player1,28021992,thewho,10101986,pinky1,mentor,tomahawk,brown1,03041986,bismillah,bigpoppa,ijrjkfl,01121988,runaway,08121986,skibum,studman,helper,squeak,holycow,manfred,harlem,glock,gideon,987321,14021985,yellow1,wizard1,margarit,success1,medved,sf49ers,lambda,pasadena,johngalt,quasar,1776,02031980,coldplay,amand,playa,bigpimp,04041991,capricorn,elefant,sweetness,bruce1,luca,dominik,10011990,biker,09051945,datsun,elcamino,trinitro,malice,audi,voyager1,02101983,joe123,carpente,spartan1,mario1,glamour,diaper,12121985,22011988,winter1,asimov,callisto,nikolai,pebble,02101981,vendetta,david123,boytoy,11061985,02031989,iloveyou1,stupid1,cayman,casper1,zippo,yamahar1,wildwood,foxylady,calibra,02041980,27061988,dungeon,leedsutd,30041986,11051990,bestbuy,antares,dominion,24680,01061986,skillet,enforcer,derparol,01041988,196969,29071983,f00tball,purple1,mingus,25031987,21031990,remingto,giggles,klaste,3x7pxr,01011994,coolcat,29051989,megane,20031987,02051980,04041988,synergy,0000007,macman,iforget,adgjmp,vjqgfhjkm,28011987,rfvfcenhf,16051989,25121987,16051987,rogue,mamamia,08051990,20091991,1210,carnival,bolitas,paris1,dmitriy,dimas,05051989,papillon,knuckles,29011985,hola,tophat,28021990,100500,cutiepie,devo,415263,ducks,ghjuhfvvf,asdqwe,22021986,freefall,parol,02011983,zarina,buste,vitamin,warez,bigones,17061988,baritone,jamess,twiggy,mischief,bitchy,hetfield,1003,dontknow,grinch,sasha_007,18061990,12031985,12031987,calimero,224466,letmei,15011987,acmilan,alexandre,02031977,08081988,whiteboy,21051991,barney1,02071978,money123,18091985,bigdawg,02031988,cygnusx1,zoloto,31011987,firefigh,blowfish,screamer,lfybbk,20051988,chelse,11121986,01031989,harddick,sexylady,30031988,02041974,auditt,pizdec,kojak,kfgjxrf,20091988,123456ru,wp2003wp,1204,15051990,slugger,kordell1,03031986,swinging,01011974,02071979,rockie,dimples,1234123,1dragon,trucking,rusty2,roger1,marijuana,kerouac,02051978,08031985,paco,thecure,keepout,kernel,noname123,13121985,francisc,bozo,02011982,22071986,02101979,obsidian,12345qw,spud,tabasco,02051985,jaguars,dfktynby,kokomo,popova,notused,sevens,4200,magneto,02051976,roswell,15101986,21101986,lakeside,bigbang,aspen,little1,14021986,loki,suckmydick,strawber,carlos1,nokian73,dirty1,joshu,25091987,16121987,02041975,advent,17011987,slimshady,whistler,10101990,stryker,22031984,15021985,01031985,blueball,26031988,ksusha,bahamut,robocop,w_pass,chris123,impreza,prozac,bookie,bricks,13021990,alice1,cassandr,11111q,john123,4ever,korova,02051973,142857,25041988,paramedi,eclipse1,salope,07091990,1124,darkangel,23021986,999666,nomad,02051981,smackdow,01021990,yoyoma,argentin,moonligh,57chevy,bootys,hardone,capricor,galant,spanker,dkflbr,24111989,magpies,krolik,21051988,cevthrb,cheddar,22041988,bigbooty,scuba1,qwedsa,duffman,bukkake,acura,johncena,sexxy,p@ssw0rd,258369,cherries,12345s,asgard,leopold,fuck123,mopar,lalakers,dogpound,matrix1,crusty,spanner,kestrel,fenris,universa,peachy,assasin,lemmein,eggplant,hejsan,canucks,wendy1,doggy1,aikman,tupac,turnip,godlike,fussball,golden1,19283746,april1,django,petrova,captain1,vincent1,ratman,taekwondo,chocha,serpent,perfect1,capetown,vampir,amore,gymnast,timeout,nbvjatq,blue32,ksenia,k.lvbkf,nazgul,budweiser,clutch,mariya,sylveste,02051972,beaker,cartman1,q11111,sexxx,forever1,loser1,marseill,magellan,vehpbr,sexgod,jktxrf,hallo123,132456,liverpool1,southpaw,seneca,camden,357159,camero,tenchi,johndoe,145236,roofer,741963,vlad,02041978,fktyrf,zxcv123,wingnut,wolfpac,notebook,pufunga7782,brandy1,biteme1,goodgirl,redhat,02031978,challeng,millenium,hoops,maveric,noname,angus1,gaell,onion,olympus,sabrina1,ricard,sixpack,gratis,gagged,camaross,hotgirls,flasher,02051977,bubba123,goldfing,moonshin,gerrard,volkov,sonyfuck,mandrake,258963,tracer,lakers1,asians,susan1,money12,helmut,boater,diablo2,1234zxcv,dogwood,bubbles1,happy2,randy1,aries,beach1,marcius2,navigator,goodie,hellokitty,fkbyjxrf,earthlink,lookout,jumbo,opendoor,stanley1,marie1,12345m,07071977,ashle,wormix,murzik,02081976,lakewood,bluejays,loveya,commande,gateway2,peppe,01011976,7896321,goth,oreo,slammer,rasmus,faith1,knight1,stone1,redskin,ironmaiden,gotmilk,destiny1,dejavu,1master,midnite,timosha,espresso,delfin,toriamos,oberon,ceasar,markie,1a2s3d,ghhh47hj7649,vjkjrj,daddyo,dougie,disco,auggie,lekker,therock1,ou8123,start1,noway,p4ssw0rd,shadow12,333444,saigon,2fast4u,capecod,23skidoo,qazxcv,beater,bremen,aaasss,roadrunner,peace1,12345qwer,02071975,platon,bordeaux,vbkfirf,135798642,test12,supernov,beatles1,qwert40,optimist,vanessa1,prince1,ilovegod,nightwish,natasha1,alchemy,bimbo,blue99,patches1,gsxr1000,richar,hattrick,hott,solaris,proton,nevets,enternow,beavis1,amigos,159357a,ambers,lenochka,147896,suckdick,shag,intercourse,blue1234,spiral,02061977,tosser,ilove,02031975,cowgirl,canuck,q2w3e4,munch,spoons,waterboy,123567,evgeniy,savior,zasada,redcar,mamacita,terefon,globus,doggies,htubcnhfwbz,1008,cuervo,suslik,azertyui,limewire,houston1,stratfor,steaua,coors,tennis1,12345qwerty,stigmata,derf,klondike,patrici,marijuan,hardball,odyssey,nineinch,boston1,pass1,beezer,sandr,charon,power123,a1234,vauxhall,875421,awesome1,reggae,boulder,funstuff,iriska,krokodil,rfntymrf,sterva,champ1,bball,peeper,m123456,toolbox,cabernet,sheepdog,magic32,pigpen,02041977,holein1,lhfrjy,banan,dabomb,natalie1,jennaj,montana1,joecool,funky,steven1,ringo,junio,sammy123,qqqwww,baltimor,footjob,geezer,357951,mash4077,cashmone,pancake,monic,grandam,bongo,yessir,gocubs,nastia,vancouve,barley,dragon69,watford,ilikepie,02071976,laddie,123456789m,hairball,toonarmy,pimpdadd,cvthnm,hunte,davinci,lback,sophie1,firenze,q1234567,admin1,bonanza,elway7,daman,strap,azert,wxcvbn,afrika,theforce,123456t,idefix,wolfen,houdini,scheisse,default,beech,maserati,02061976,sigmachi,dylan1,bigdicks,eskimo,mizzou,02101976,riccardo,egghead,111777,kronos,ghbrjk,chaos1,jomama,rfhnjirf,rodeo,dolemite,cafc91,nittany,pathfind,mikael,password9,vqsablpzla,purpl,gabber,modelsne,myxworld,hellsing,punker,rocknrol,fishon,fuck69,02041976,lolol,twinkie,tripleh,cirrus,redbone,killer123,biggun,allegro,gthcbr,smith1,wanking,bootsy,barry1,mohawk,koolaid,5329,futurama,samoht,klizma,996633,lobo,honeys,peanut1,556677,zxasqw,joemama,javelin,samm,223322,sandra1,flicks,montag,nataly,3006,tasha1,1235789,dogbone,poker1,p0o9i8u7,goodday,smoothie,toocool,max333,metroid,archange,vagabond,billabon,22061941,tyson1,02031973,darkange,skateboard,evolutio,morrowind,wizards,frodo1,rockin,cumslut,plastics,zaqwsxcde,5201314,doit,outback,bumble,dominiqu,persona,nevermore,alinka,02021971,forgetit,sexo,all4one,c2h5oh,petunia,sheeba,kenny1,elisabet,aolsucks,woodstoc,pumper,02011975,fabio,granada,scrapper,123459,minimoni,q123456789,breaker,1004,02091976,ncc74656,slimshad,friendster,austin31,wiseguy,donner,dilbert1,132465,blackbird,buffet,jellybean,barfly,behappy,01011971,carebear,fireblad,02051975,boxcar,cheeky,kiteboy,hello12,panda1,elvisp,opennow,doktor,alex12,02101977,pornking,flamengo,02091975,snowbird,lonesome,robin1,11111a,weed420,baracuda,bleach,12345abc,nokia1,metall,singapor,mariner,herewego,dingo,tycoon,cubs,blunts,proview,123456789d,kamasutra,lagnaf,vipergts,navyseal,starwar,masterbate,wildone,peterbil,cucumber,butkus,123qwert,climax,deniro,gotribe,cement,scooby1,summer69,harrier,shodan,newyear,02091977,starwars1,romeo1,sedona,harald,doubled,sasha123,bigguns,salami,awnyce,kiwi,homemade,pimping,azzer,bradley1,warhamme,linkin,dudeman,qwe321,pinnacle,maxdog,flipflop,lfitymrf,fucker1,acidburn,esquire,sperma,fellatio,jeepster,thedon,sexybitch,pookey,spliff,widget,vfntvfnbrf,trinity1,mutant,samuel1,meliss,gohome,1q2q3q,mercede,comein,grin,cartoons,paragon,henrik,rainyday,pacino,senna,bigdog1,alleycat,12345qaz,narnia,mustang2,tanya1,gianni,apollo11,wetter,clovis,escalade,rainbows,freddy1,smart1,daisydog,s123456,cocksucker,pushkin,lefty,sambo,fyutkjxtr,hiziad,boyz,whiplash,orchard,newark,adrenalin,1598753,bootsie,chelle,trustme,chewy,golfgti,tuscl,ambrosia,5wr2i7h8,penetration,shonuf,jughead,payday,stickman,gotham,kolokol,johnny5,kolbasa,stang,puppydog,charisma,gators1,mone,jakarta,draco,nightmar,01011973,inlove,laetitia,02091973,tarpon,nautica,meadow,0192837465,luckyone,14881488,chessie,goldeney,tarakan,69camaro,bungle,wordup,interne,fuckme2,515000,dragonfl,sprout,02081974,gerbil,bandit1,02071971,melanie1,phialpha,camber,kathy1,adriano,gonzo1,10293847,bigjohn,bismarck,7777777a,scamper,12348765,rabbits,222777,bynthytn,dima123,alexander1,mallorca,dragster,favorite6,beethove,burner,cooper1,fosters,hello2,normandy,777999,sebring,1michael,lauren1,blake1,killa,02091971,nounours,trumpet1,thumper1,playball,xantia,rugby1,rocknroll,guillaum,angela1,strelok,prosper,buttercup,masterp,dbnfkbr,cambridg,venom,treefrog,lumina,1234566,supra,sexybabe,freee,shen,frogs,driller,pavement,grace1,dicky,checker,smackdown,pandas,cannibal,asdffdsa,blue42,zyjxrf,nthvbyfnjh,melrose,neon,jabber,gamma,369258147,aprilia,atticus,benessere,catcher,skipper1,azertyuiop,sixty9,thierry,treetop,jello,melons,123456789qwe,tantra,buzzer,catnip,bouncer,computer1,sexyone,ananas,young1,olenka,sexman,mooses,kittys,sephiroth,contra,hallowee,skylark,sparkles,777333,1qazxsw23edc,lucas1,q1w2e3r,gofast,hannes,amethyst,ploppy,flower2,hotass,amatory,volleyba,dixie1,bettyboo,ticklish,02061974,frenchy,phish1,murphy1,trustno,02061972,leinad,mynameis,spooge,jupiter1,hyundai,frosch,junkmail,abacab,marbles,32167,casio,sunshine1,wayne1,longhair,caster,snicker,02101973,gannibal,skinhead,hansol,gatsby,segblue2,montecar,plato,gumby,kaboom,matty,bosco1,888999,jazzy,panter,jesus123,charlie2,giulia,candyass,sex69,travis1,farmboy,special1,02041973,letsdoit,password01,allison1,abcdefg1,notredam,ilikeit,789654123,liberty1,rugger,uptown,alcatraz,123456w,airman,007bond,navajo,kenobi,terrier,stayout,grisha,frankie1,fluff,1qazzaq1,1234561,virginie,1234568,tango1,werdna,octopus,fitter,dfcbkbcf,blacklab,115599,montrose,allen1,supernova,frederik,ilovepussy,justice1,radeon,playboy2,blubber,sliver,swoosh,motocros,lockdown,pearls,thebear,istheman,pinetree,biit,1234rewq,rustydog,tampabay,titts,babycake,jehovah,vampire1,streaming,collie,camil,fidelity,calvin1,stitch,gatit,restart,puppy1,budgie,grunt,capitals,hiking,dreamcas,zorro1,321678,riffraff,makaka,playmate,napalm,rollin,amstel,zxcvb123,samanth,rumble,fuckme69,jimmys,951357,pizzaman,1234567899,tralala,delpiero,alexi,yamato,itisme,1million,vfndtq,kahlua,londo,wonderboy,carrots,tazz,ratboy,rfgecnf,02081973,nico,fujitsu,tujhrf,sergbest,blobby,02051970,sonic1,1357911,smirnov,video1,panhead,bucky,02031974,44332211,duffer,cashmoney,left4dead,bagpuss,salman,01011972,titfuck,66613666,england1,malish,dresden,lemans,darina,zapper,123456as,123456qqq,met2002,02041972,redstar,blue23,1234509876,pajero,booyah,please1,tetsuo,semper,finder,hanuman,sunlight,123456n,02061971,treble,cupoi,password99,dimitri,3ip76k2,popcorn1,lol12345,stellar,nympho,shark1,keith1,saskia,bigtruck,revoluti,rambo1,asd222,feelgood,phat,gogators,bismark,cola,puck,furball,burnout,slonik,bowtie,mommy1,icecube,fabienn,mouser,papamama,rolex,giants1,blue11,trooper1,momdad,iklo,morten,rhubarb,gareth,123456d,blitz,canada1,r2d2,brest,tigercat,usmarine,lilbit,benny1,azrael,lebowski,12345r,madagaskar,begemot,loverman,dragonballz,italiano,mazda3,naughty1,onions,diver1,cyrano,capcom,asdfg123,forlife,fisherman,weare138,requiem,mufasa,alpha123,piercing,hellas,abracadabra,duckman,caracas,macintos,02011971,jordan2,crescent,fduecn,hogtied,eatmenow,ramjet,18121812,kicksass,whatthe,discus,rfhfvtkmrf,rufus1,sqdwfe,mantle,vegitto,trek,dan123,paladin1,rudeboy,liliya,lunchbox,riversid,acapulco,libero,dnsadm,maison,toomuch,boobear,hemlock,sextoy,pugsley,misiek,athome,migue,altoids,marcin,123450,rhfcfdbwf,jeter2,rhinos,rjhjkm,mercury1,ronaldinho,shampoo,makayla,kamilla,masterbating,tennesse,holger,john1,matchbox,hores,poptart,parlament,goodyear,asdfgh1,02081970,hardwood,alain,erection,hfytnrb,highlife,implants,benjami,dipper,jeeper,bendover,supersonic,babybear,laserjet,gotenks,bama,natedogg,aol123,pokemo,rabbit1,raduga,sopranos,cashflow,menthol,pharao,hacking,334455,ghjcnbnenrf,lizzy,muffin1,pooky,penis1,flyer,gramma,dipset,becca,ireland1,diana1,donjuan,pong,ziggy1,alterego,simple1,cbr900,logger,111555,claudia1,cantona7,matisse,ljxtymrf,victori,harle,mamas,encore,mangos,iceman1,diamon,alexxx,tiamat,5000,desktop,mafia,smurf,princesa,shojou,blueberr,welkom,maximka,123890,123q123,tammy1,bobmarley,clips,demon666,ismail,termite,laser1,missie,altair,donna1,bauhaus,trinitron,mogwai,flyers88,juniper,nokia5800,boroda,jingles,qwerasdfzxcv,shakur,777666,legos,mallrats,1qazxsw,goldeneye,tamerlan,julia1,backbone,spleen,49ers,shady,darkone,medic1,justi,giggle,cloudy,aisan,douche,parkour,bluejay,huskers1,redwine,1qw23er4,satchmo,1231234,nineball,stewart1,ballsack,probes,kappa,amiga,flipper1,dortmund,963258,trigun,1237895,homepage,blinky,screwy,gizzmo,belkin,chemist,coolhand,chachi,braves1,thebest,greedisgood,pro100,banana1,101091m,123456g,wonderfu,barefeet,8inches,1111qqqq,kcchiefs,qweasdzxc123,metal1,jennifer1,xian,asdasd123,pollux,cheerleaers,fruity,mustang5,turbos,shopper,photon,espana,hillbill,oyster,macaroni,gigabyte,jesper,motown,tuxedo,buster12,triplex,cyclones,estrell,mortis,holla,456987,fiddle,sapphic,jurassic,thebeast,ghjcnjq,baura,spock1,metallica1,karaoke,nemrac58,love1234,02031970,flvbybcnhfnjh,frisbee,diva,ajax,feathers,flower1,soccer11,allday,mierda,pearl1,amature,marauder,333555,redheads,womans,egorka,godbless,159263,nimitz,aaaa1111,sashka,madcow,socce,greywolf,baboon,pimpdaddy,123456789r,reloaded,lancia,rfhfylfi,dicker,placid,grimace,22446688,olemiss,whores,culinary,wannabe,maxi,1234567aa,amelie,riley1,trample,phantom1,baberuth,bramble,asdfqwer,vides,4you,abc123456,taichi,aztnm,smother,outsider,hakr,blackhawk,bigblack,girlie,spook,valeriya,gianluca,freedo,1q2q3q4q,handbag,lavalamp,cumm,pertinant,whatup,nokia123,redlight,patrik,111aaa,poppy1,dfytxrf,aviator,sweeps,kristin1,cypher,elway,yinyang,access1,poophead,tucson,noles1,monterey,waterfal,dank,dougal,918273,suede,minnesot,legman,bukowski,ganja,mammoth,riverrat,asswipe,daredevi,lian,arizona1,kamikadze,alex1234,smile1,angel2,55bgates,bellagio,0001,wanrltw,stiletto,lipton,arsena,biohazard,bbking,chappy,tetris,as123456,darthvad,lilwayne,nopassword,7412369,123456789987654321,natchez,glitter,14785236,mytime,rubicon,moto,pyon,wazzup,tbird,shane1,nightowl,getoff,beckham7,trueblue,hotgirl,nevermin,deathnote,13131,taffy,bigal,copenhag,apricot,gallaries,dtkjcbgtl,totoro,onlyone,civicsi,jesse1,baby123,sierra1,festus,abacus,sickboy,fishtank,fungus,charle,golfpro,teensex,mario66,seaside,aleksei,rosewood,blackberry,1020304050,bedlam,schumi,deerhunt,contour,darkelf,surveyor,deltas,pitchers,741258963,dipstick,funny1,lizzard,112233445566,jupiter2,softtail,titman,greenman,z1x2c3v4b5,smartass,12345677,notnow,myworld,nascar1,chewbacc,nosferatu,downhill,dallas22,kuan,blazers,whales,soldat,craving,powerman,yfcntyf,hotrats,cfvceyu,qweasdzx,princess1,feline,qqwwee,chitown,1234qaz,mastermind,114477,dingbat,care1839,standby,kismet,atreides,dogmeat,icarus,monkeyboy,alex1,mouses,nicetits,sealteam,chopper1,crispy,winter99,rrpass1,myporn,myspace1,corazo,topolino,ass123,lawman,muffy,orgy,1love,passord,hooyah,ekmzyf,pretzel,amonra,nestle,01011950,jimbeam,happyman,z12345,stonewal,helios,manunited,harcore,dick1,gaymen,2hot4u,light1,qwerty13,kakashi,pjkjnj,alcatel,taylo,allah,buddydog,ltkmaby,mongo,blonds,start123,audia6,123456v,civilwar,bellaco,turtles,mustan,deadspin,aaa123,fynjirf,lucky123,tortoise,amor,summe,waterski,zulu,drag0n,dtxyjcnm,gizmos,strife,interacial,pusyy,goose1,bear1,equinox,matri,jaguar1,tobydog,sammys,nachos,traktor,bryan1,morgoth,444555,dasani,miami1,mashka,xxxxxx1,ownage,nightwin,hotlips,passmast,cool123,skolko,eldiablo,manu,1357908642,screwyou,badabing,foreplay,hydro,kubrick,seductive,demon1,comeon,galileo,aladdin,metoo,happines,902100,mizuno,caddy,bizzare,girls1,redone,ohmygod,sable,bonovox,girlies,hamper,opus,gizmodo1,aaabbb,pizzahut,999888,rocky2,anton1,kikimora,peavey,ocelot,a1a2a3a4,2wsx3edc,jackie1,solace,sprocket,galary,chuck1,volvo1,shurik,poop123,locutus,virago,wdtnjxtr,tequier,bisexual,doodles,makeitso,fishy,789632145,nothing1,fishcake,sentry,libertad,oaktree,fivestar,adidas1,vegitta,mississi,spiffy,carme,neutron,vantage,agassi,boners,123456789v,hilltop,taipan,barrage,kenneth1,fister,martian,willem,lfybkf,bluestar,moonman,ntktdbpjh,paperino,bikers,daffy,benji,quake,dragonfly,suckcock,danilka,lapochka,belinea,calypso,asshol,camero1,abraxas,mike1234,womam,q1q2q3q4q5,youknow,maxpower,pic's,audi80,sonora,raymond1,tickler,tadpole,belair,crazyman,finalfantasy,999000,jonatha,paisley,kissmyas,morgana,monste,mantra,spunk,magic123,jonesy,mark1,alessand,741258,baddest,ghbdtnrfrltkf,zxccxz,tictac,augustin,racers,7grout,foxfire,99762000,openit,nathanie,1z2x3c4v5b,seadog,gangbanged,lovehate,hondacbr,harpoon,mamochka,fisherma,bismilla,locust,wally1,spiderman1,saffron,utjhubq,123456987,20spanks,safeway,pisser,bdfyjd,kristen1,bigdick1,magenta,vfhujif,anfisa,friday13,qaz123wsx,0987654321q,tyrant,guan,meggie,kontol,nurlan,ayanami,rocket1,yaroslav,websol76,mutley,hugoboss,websolutions,elpaso,gagarin,badboys,sephirot,918273645,newuser,qian,edcrfv,booger1,852258,lockout,timoxa94,mazda323,firedog,sokolova,skydiver,jesus777,1234567890z,soulfly,canary,malinka,guillerm,hookers,dogfart,surfer1,osprey,india123,rhjkbr,stoppedby,nokia5530,123456789o,blue1,werter,divers,3000,123456f,alpina,cali,whoknows,godspeed,986532,foreskin,fuzzy1,heyyou,didier,slapnuts,fresno,rosebud1,sandman1,bears1,blade1,honeybun,queen1,baronn,pakista,philipp,9111961,topsecret,sniper1,214365,slipper,letsfuck,pippen33,godawgs,mousey,qw123456,scrotum,loveis,lighthou,bp2002,nancy123,jeffrey1,susieq,buddy2,ralphie,trout1,willi,antonov,sluttey,rehbwf,marty1,darian,losangeles,letme1n,12345d,pusssy,godiva,ender,golfnut,leonidas,a1b2c3d4e5,puffer,general1,wizzard,lehjxrf,racer1,bigbucks,cool12,buddys,zinger,esprit,vbienrf,josep,tickling,froggie,987654321a,895623,daddys,crumbs,gucci,mikkel,opiate,tracy1,christophe,came11,777555,petrovich,humbug,dirtydog,allstate,horatio,wachtwoord,creepers,squirts,rotary,bigd,georgia1,fujifilm,2sweet,dasha,yorkie,slimjim,wiccan,kenzie,system1,skunk,b12345,getit,pommes,daredevil,sugars,bucker,piston,lionheart,1bitch,515051,catfight,recon,icecold,fantom,vodafone,kontakt,boris1,vfcnth,canine,01011961,valleywa,faraon,chickenwing101,qq123456,livewire,livelife,roosters,jeepers,ilya1234,coochie,pavlik,dewalt,dfhdfhf,architec,blackops,1qaz2wsx3edc4rfv,rhfcjnf,wsxedc,teaser,sebora,25252,rhino1,ankara,swifty,decimal,redleg,shanno,nermal,candies,smirnova,dragon01,photo1,ranetki,a1s2d3f4g5,axio,wertzu,maurizio,6uldv8,zxcvasdf,punkass,flowe,graywolf,peddler,3rjs1la7qe,mpegs,seawolf,ladyboy,pianos,piggies,vixen,alexus,orpheus,gdtrfb,z123456,macgyver,hugetits,ralph1,flathead,maurici,mailru,goofball,nissan1,nikon,stopit,odin,big1,smooch,reboot,famil,bullit,anthony7,gerhard,methos,124038,morena,eagle2,jessica2,zebras,getlost,gfynthf,123581321,sarajevo,indon,comets,tatjana,rfgbnjirf,joystick,batman12,123456c,sabre,beerme,victory1,kitties,1475369,badboy1,booboo1,comcast,slava,squid,saxophon,lionhear,qaywsx,bustle,nastena,roadway,loader,hillside,starlight,24681012,niggers,access99,bazooka,molly123,blackice,bandi,cocacol,nfhfrfy,timur,muschi,horse1,quant4307s,squerting,oscars,mygirls,flashman,tangerin,goofy1,p0o9i8,housewifes,newness,monkey69,escorpio,password11,hippo,warcraft3,qazxsw123,qpalzm,ribbit,ghbdtndctv,bogota,star123,258000,lincoln1,bigjim,lacoste,firestorm,legenda,indain,ludacris,milamber,1009,evangeli,letmesee,a111111,hooters1,bigred1,shaker,husky,a4tech,cnfkrth,argyle,rjhjdf,nataha,0o9i8u7y,gibson1,sooners1,glendale,archery,hoochie,stooge,aaaaaa1,scorpions,school1,vegas1,rapier,mike23,bassoon,groupd2013,macaco,baker1,labia,freewill,santiag,silverado,butch1,vflfufcrfh,monica1,rugrat,cornhole,aerosmit,bionicle,gfgfvfvf,daniel12,virgo,fmale,favorite2,detroit1,pokey,shredder,baggies,wednesda,cosmo1,mimosa,sparhawk,firehawk,romario,911turbo,funtimes,fhntvrf,nexus6,159753456,timothy1,bajingan,terry1,frenchie,raiden,1mustang,babemagnet,74123698,nadejda,truffles,rapture,douglas1,lamborghini,motocross,rjcvjc,748596,skeeter1,dante1,angel666,telecom,carsten,pietro,bmw318,astro1,carpediem,samir,orang,helium,scirocco,fuzzball,rushmore,rebelz,hotspur,lacrimosa,chevys10,madonna1,domenico,yfnfirf,jachin,shelby1,bloke,dawgs,dunhill,atlanta1,service1,mikado,devilman,angelit,reznor,euphoria,lesbain,checkmat,browndog,phreak,blaze1,crash1,farida,mutter,luckyme,horsemen,vgirl,jediknig,asdas,cesare,allnight,rockey,starlite,truck1,passfan,close-up,samue,cazzo,wrinkles,homely,eatme1,sexpot,snapshot,dima1995,asthma,thetruth,ducky,blender,priyanka,gaucho,dutchman,sizzle,kakarot,651550,passcode,justinbieber,666333,elodie,sanjay,110442,alex01,lotus1,2300mj,lakshmi,zoomer,quake3,12349876,teapot,12345687,ramada,pennywis,striper,pilot1,chingon,optima,nudity,ethan1,euclid,beeline,loyola,biguns,zaq12345,bravo1,disney1,buffa,assmunch,vivid,6661313,wellingt,aqwzsx,madala11,9874123,sigmar,pictere,tiptop,bettyboop,dinero,tahiti,gregory1,bionic,speed1,fubar1,lexus1,denis1,hawthorn,saxman,suntzu,bernhard,dominika,camaro1,hunter12,balboa,bmw2002,seville,diablo1,vfhbyjxrf,1234abc,carling,lockerroom,punani,darth,baron1,vaness,1password,libido,picher,232425,karamba,futyn007,daydream,11001001,dragon123,friends1,bopper,rocky123,chooch,asslover,shimmer,riddler,openme,tugboat,sexy123,midori,gulnara,christo,swatch,laker,offroad,puddles,hackers,mannheim,manager1,horseman,roman1,dancer1,komputer,pictuers,nokia5130,ejaculation,lioness,123456y,evilone,nastenka,pushok,javie,lilman,3141592,mjolnir,toulouse,pussy2,bigworm,smoke420,fullback,extensa,dreamcast,belize,delboy,willie1,casablanca,csyjxtr,ricky1,bonghit,salvator,basher,pussylover,rosie1,963258741,vivitron,cobra427,meonly,armageddon,myfriend,zardoz,qwedsazxc,kraken,fzappa,starfox,333999,illmatic,capoeira,weenie,ramzes,freedom2,toasty,pupkin,shinigami,fhvfutljy,nocturne,churchil,thumbnils,tailgate,neworder,sexymama,goarmy,cerebus,michelle1,vbifyz,surfsup,earthlin,dabulls,basketbal,aligator,mojojojo,saibaba,welcome2,wifes,wdtnjr,12345w,slasher,papabear,terran,footman,hocke,153759,texans,tom123,sfgiants,billabong,aassdd,monolith,xxx777,l3tm31n,ticktock,newone,hellno,japanees,contortionist,admin123,scout1,alabama1,divx1,rochard,privat,radar1,bigdad,fhctybq,tortuga,citrus,avanti,fantasy1,woodstock,s12345,fireman1,embalmer,woodwork,bonzai,konyor,newstart,jigga,panorama,goats,smithy,rugrats,hotmama,daedalus,nonstop,fruitbat,lisenok,quaker,violator,12345123,my3sons,cajun,fraggle,gayboy,oldfart,vulva,knickerless,orgasms,undertow,binky,litle,kfcnjxrf,masturbation,bunnie,alexis1,planner,transexual,sparty,leeloo,monies,fozzie,stinger1,landrove,anakonda,scoobie,yamaha1,henti,star12,rfhlbyfk,beyonce,catfood,cjytxrf,zealots,strat,fordtruc,archangel,silvi,sativa,boogers,miles1,bigjoe,tulip,petite,greentea,shitter,jonboy,voltron,morticia,evanescence,3edc4rfv,longshot,windows1,serge,aabbcc,starbucks,sinful,drywall,prelude1,www123,camel1,homebrew,marlins,123412,letmeinn,domini,swampy,plokij,fordf350,webcam,michele1,bolivi,27731828,wingzero,qawsedrftg,shinji,sverige,jasper1,piper1,cummer,iiyama,gocats,amour,alfarome,jumanji,mike69,fantasti,1monkey,w00t88,shawn1,lorien,1a2s3d4f5g,koleso,murph,natascha,sunkist,kennwort,emine,grinder,m12345,q1q2q3q4,cheeba,money2,qazwsxedc1,diamante,prosto,pdiddy,stinky1,gabby1,luckys,franci,pornographic,moochie,gfhjdjp,samdog,empire1,comicbookdb,emili,motdepasse,iphone,braveheart,reeses,nebula,sanjose,bubba2,kickflip,arcangel,superbow,porsche911,xyzzy,nigger1,dagobert,devil1,alatam,monkey2,barbara1,12345v,vfpfafrf,alessio,babemagn,aceman,arrakis,kavkaz,987789,jasons,berserk,sublime1,rogue1,myspace,buckwhea,csyekz,pussy4me,vette1,boots1,boingo,arnaud,budlite,redstorm,paramore,becky1,imtheman,chango,marley1,milkyway,666555,giveme,mahalo,lux2000,lucian,paddy,praxis,shimano,bigpenis,creeper,newproject2004,rammstei,j3qq4h7h2v,hfljcnm,lambchop,anthony2,bugman,gfhjkm12,dreamer1,stooges,cybersex,diamant,cowboyup,maximus1,sentra,615243,goethe,manhatta,fastcar,selmer,1213141516,yfnfitymrf,denni,chewey,yankee1,elektra,123456789p,trousers,fishface,topspin,orwell,vorona,sodapop,motherfu,ibilltes,forall,kookie,ronald1,balrog,maximilian,mypasswo,sonny1,zzxxcc,tkfkdg,magoo,mdogg,heeled,gitara,lesbos,marajade,tippy,morozova,enter123,lesbean,pounded,asd456,fialka,scarab,sharpie,spanky1,gstring,sachin,12345asd,princeto,hellohel,ursitesux,billows,1234kekc,kombat,cashew,duracell,kseniya,sevenof9,kostik,arthur1,corvet07,rdfhnbhf,songoku,tiberian,needforspeed,1qwert,dropkick,kevin123,panache,libra,a123456a,kjiflm,vfhnsirf,cntgfy,iamcool,narut,buffer,sk8ordie,urlaub,fireblade,blanked,marishka,gemini1,altec,gorillaz,chief1,revival47,ironman1,space1,ramstein,doorknob,devilmaycry,nemesis1,sosiska,pennstat,monday1,pioner,shevchenko,detectiv,evildead,blessed1,aggie,coffees,tical,scotts,bullwink,marsel,krypto,adrock,rjitxrf,asmodeus,rapunzel,theboys,hotdogs,deepthro,maxpayne,veronic,fyyeirf,otter,cheste,abbey1,thanos,bedrock,bartok,google1,xxxzzz,rodent,montecarlo,hernande,mikayla,123456789l,bravehea,12locked,ltymub,pegasus1,ameteur,saltydog,faisal,milfnew,momsuck,everques,ytngfhjkz,m0nkey,businessbabe,cooki,custard,123456ab,lbvjxrf,outlaws,753357,qwerty78,udacha,insider,chees,fuckmehard,shotokan,katya,seahorse,vtldtlm,turtle1,mike12,beebop,heathe,everton1,darknes,barnie,rbcekz,alisher,toohot,theduke,555222,reddog1,breezy,bulldawg,monkeyman,baylee,losangel,mastermi,apollo1,aurelie,zxcvb12345,cayenne,bastet,wsxzaq,geibcnbr,yello,fucmy69,redwall,ladybird,bitchs,cccccc1,rktjgfnhf,ghjdthrf,quest1,oedipus,linus,impalass,fartman,12345k,fokker,159753a,optiplex,bbbbbb1,realtor,slipkno,santacru,rowdy,jelena,smeller,3984240,ddddd1,sexyme,janet1,3698741,eatme69,cazzone,today1,poobear,ignatius,master123,newpass1,heather2,snoopdogg,blondinka,pass12,honeydew,fuckthat,890098890,lovem,goldrush,gecko,biker1,llama,pendejo,avalanche,fremont,snowman1,gandolf,chowder,1a2b3c4d5e,flyguy,magadan,1fuck,pingvin,nokia5230,ab1234,lothar,lasers,bignuts,renee1,royboy,skynet,12340987,1122334,dragrace,lovely1,22334455,booter,12345612,corvett,123456qq,capital1,videoes,funtik,wyvern,flange,sammydog,hulkster,13245768,not4you,vorlon,omegared,l58jkdjp!,filippo,123mudar,samadams,petrus,chris12,charlie123,123456789123,icetea,sunderla,adrian1,123qweas,kazanova,aslan,monkey123,fktyeirf,goodsex,123ab,lbtest,banaan,bluenose,837519,asd12345,waffenss,whateve,1a2a3a4a,trailers,vfhbirf,bhbcrf,klaatu,turk182,monsoon,beachbum,sunbeam,succes,clyde1,viking1,rawhide,bubblegum,princ,mackenzi,hershey1,222555,dima55,niggaz,manatee,aquila,anechka,pamel,bugsbunn,lovel,sestra,newport1,althor,hornyman,wakeup,zzz111,phishy,cerber,torrent,thething,solnishko,babel,buckeye1,peanu,ethernet,uncencored,baraka,665544,chris2,rb26dett,willy1,choppers,texaco,biggirl,123456b,anna2614,sukebe,caralho,callofduty,rt6ytere,jesus7,angel12,1money,timelord,allblack,pavlova,romanov,tequiero,yitbos,lookup,bulls23,snowflake,dickweed,barks,lever,irisha,firestar,fred1234,ghjnjnbg,danman,gatito,betty1,milhouse,kbctyjr,masterbaiting,delsol,papit,doggys,123698741,bdfyjdf,invictus,bloods,kayla1,yourmama,apple2,angelok,bigboy1,pontiac1,verygood,yeshua,twins2,porn4me,141516,rasta69,james2,bosshog,candys,adventur,stripe,djkjlz,dokken,austin316,skins,hogwarts,vbhevbh,navigato,desperado,xxx666,cneltyn,vasiliy,hazmat,daytek,eightbal,fred1,four20,74227422,fabia,aerosmith,manue,wingchun,boohoo,hombre,sanity72,goatboy,fuckm,partizan,avrora,utahjazz,submarin,pussyeat,heinlein,control1,costaric,smarty,chuan,triplets,snowy,snafu,teacher1,vangogh,vandal,evergree,cochise,qwerty99,pyramid1,saab900,sniffer,qaz741,lebron23,mark123,wolvie,blackbelt,yoshi,feeder,janeway,nutella,fuking,asscock,deepak,poppie,bigshow,housewife,grils,tonto,cynthia1,temptress,irakli,belle1,russell1,manders,frank123,seabass,gforce,songbird,zippy1,naught,brenda1,chewy1,hotshit,topaz,43046721,girfriend,marinka,jakester,thatsme,planeta,falstaff,patrizia,reborn,riptide,cherry1,shuan,nogard,chino,oasis1,qwaszx12,goodlife,davis1,1911a1,harrys,shitfuck,12345678900,russian7,007700,bulls1,porshe,danil,dolphi,river1,sabaka,gobigred,deborah1,volkswagen,miamo,alkaline,muffdive,1letmein,fkbyrf,goodguy,hallo1,nirvan,ozzie,cannonda,cvbhyjdf,marmite,germany1,joeblow,radio1,love11,raindrop,159852,jacko,newday,fathead,elvis123,caspe,citibank,sports1,deuce,boxter,fakepass,golfman,snowdog,birthday4,nonmembe,niklas,parsifal,krasota,theshit,1235813,maganda,nikita1,omicron,cassie1,columbo,buick,sigma1,thistle,bassin,rickster,apteka,sienna,skulls,miamor,coolgirl,gravis,1qazxc,virgini,hunter2,akasha,batma,motorcyc,bambino,tenerife,fordf250,zhuan,iloveporn,markiza,hotbabes,becool,fynjybyf,wapapapa,forme,mamont,pizda,dragonz,sharon1,scrooge,mrbill,pfloyd,leeroy,natedog,ishmael,777111,tecumseh,carajo,nfy.irf,0000000000o,blackcock,fedorov,antigone,feanor,novikova,bobert,peregrin,spartan117,pumkin,rayman,manuals,tooltime,555333,bonethug,marina1,bonnie1,tonyhawk,laracroft,mahalkita,18273645,terriers,gamer,hoser,littlema,molotok,glennwei,lemon1,caboose,tater,12345654321,brians,fritz1,mistral,jigsaw,fuckshit,hornyguy,southside,edthom,antonio1,bobmarle,pitures,ilikesex,crafty,nexus,boarder,fulcrum,astonvil,yanks1,yngwie,account1,zooropa,hotlegs,sammi,gumbo,rover1,perkele,maurolarastefy,lampard,357753,barracud,dmband,abcxyz,pathfinder,335577,yuliya,micky,jayman,asdfg12345,1596321,halcyon,rerfhtre,feniks,zaxscd,gotyoass,jaycee,samson1,jamesb,vibrate,grandpri,camino,colossus,davidb,mamo4ka,nicky1,homer123,pinguin,watermelon,shadow01,lasttime,glider,823762,helen1,pyramids,tulane,osama,rostov,john12,scoote,bhbyrf,gohan,galeries,joyful,bigpussy,tonka,mowgli,astalavista,zzz123,leafs,dalejr8,unicorn1,777000,primal,bigmama,okmijn,killzone,qaz12345,snookie,zxcvvcxz,davidc,epson,rockman,ceaser,beanbag,katten,3151020,duckhunt,segreto,matros,ragnar,699669,sexsexse,123123z,fuckyeah,bigbutts,gbcmrf,element1,marketin,saratov,elbereth,blaster1,yamahar6,grime,masha,juneau,1230123,pappy,lindsay1,mooner,seattle1,katzen,lucent,polly1,lagwagon,pixie,misiaczek,666666a,smokedog,lakers24,eyeball,ironhors,ametuer,volkodav,vepsrf,kimmy,gumby1,poi098,ovation,1q2w3,drinker,penetrating,summertime,1dallas,prima,modles,takamine,hardwork,macintosh,tahoe,passthie,chiks,sundown,flowers1,boromir,music123,phaedrus,albert1,joung,malakas,gulliver,parker1,balder,sonne,jessie1,domainlock2005,express1,vfkbyf,youandme,raketa,koala,dhjnvytyjub,nhfrnjh,testibil,ybrbnjc,987654321q,axeman,pintail,pokemon123,dogggg,shandy,thesaint,11122233,x72jhhu3z,theclash,raptors,zappa1,djdjxrf,hell666,friday1,vivaldi,pluto1,lance1,guesswho,jeadmi,corgan,skillz,skippy1,mango1,gymnastic,satori,362514,theedge,cxfcnkbdfz,sparkey,deicide,bagels,lololol,lemmings,r4e3w2q1,silve,staind,schnuffi,dazzle,basebal1,leroy1,bilbo1,luckie,qwerty2,goodfell,hermione,peaceout,davidoff,yesterda,killah,flippy,chrisb,zelda1,headless,muttley,fuckof,tittys,catdaddy,photog,beeker,reaver,ram1500,yorktown,bolero,tryagain,arman,chicco,learjet,alexei,jenna1,go2hell,12s3t4p55,momsanaladventure,mustang9,protoss,rooter,ginola,dingo1,mojave,erica1,1qazse4,marvin1,redwolf,sunbird,dangerou,maciek,girsl,hawks1,packard1,excellen,dashka,soleda,toonces,acetate,nacked,jbond007,alligator,debbie1,wellhung,monkeyma,supers,rigger,larsson,vaseline,rjnzhf,maripos,123456asd,cbr600rr,doggydog,cronic,jason123,trekker,flipmode,druid,sonyvaio,dodges,mayfair,mystuff,fun4me,samanta,sofiya,magics,1ranger,arcane,sixtynin,222444,omerta,luscious,gbyudby,bobcats,envision,chance1,seaweed,holdem,tomate,mensch,slicer,acura1,goochi,qweewq,punter,repoman,tomboy,never1,cortina,gomets,147896321,369852147,dogma,bhjxrf,loglatin,eragon,strato,gazelle,growler,885522,klaudia,payton34,fuckem,butchie,scorpi,lugano,123456789k,nichola,chipper1,spide,uhbujhbq,rsalinas,vfylfhby,longhorns,bugatti,everquest,!qaz2wsx,blackass,999111,snakeman,p455w0rd,fanatic,family1,pfqxbr,777vlad,mysecret,marat,phoenix2,october1,genghis,panties1,cooker,citron,ace123,1234569,gramps,blackcoc,kodiak1,hickory,ivanhoe,blackboy,escher,sincity,beaks,meandyou,spaniel,canon1,timmy1,lancaste,polaroid,edinburg,fuckedup,hotman,cueball,golfclub,gopack,bookcase,worldcup,dkflbvbhjdbx,twostep,17171717aa,letsplay,zolushka,stella1,pfkegf,kingtut,67camaro,barracuda,wiggles,gjhjkm,prancer,patata,kjifhf,theman1,romanova,sexyass,copper1,dobber,sokolov,pomidor,algernon,cadman,amoremio,william2,silly1,bobbys,hercule,hd764nw5d7e1vb1,defcon,deutschland,robinhood,alfalfa,machoman,lesbens,pandora1,easypay,tomservo,nadezhda,goonies,saab9000,jordyn,f15eagle,dbrecz,12qwerty,greatsex,thrawn,blunted,baywatch,doggystyle,loloxx,chevy2,january1,kodak,bushel,78963214,ub6ib9,zz8807zpl,briefs,hawker,224488,first1,bonzo,brent1,erasure,69213124,sidewind,soccer13,622521,mentos,kolibri,onepiece,united1,ponyboy,keksa12,wayer,mypussy,andrej,mischa,mille,bruno123,garter,bigpun,talgat,familia,jazzy1,mustang8,newjob,747400,bobber,blackbel,hatteras,ginge,asdfjkl;,camelot1,blue44,rebbyt34,ebony1,vegas123,myboys,aleksander,ijrjkflrf,lopata,pilsner,lotus123,m0nk3y,andreev,freiheit,balls1,drjynfrnt,mazda1,waterpolo,shibumi,852963,123bbb,cezer121,blondie1,volkova,rattler,kleenex,ben123,sanane,happydog,satellit,qazplm,qazwsxedcrfvtgb,meowmix,badguy,facefuck,spice1,blondy,major1,25000,anna123,654321a,sober1,deathrow,patterso,china1,naruto1,hawkeye1,waldo1,butchy,crayon,5tgb6yhn,klopik,crocodil,mothra,imhorny,pookie1,splatter,slippy,lizard1,router,buratino,yahweh,123698,dragon11,123qwe456,peepers,trucker1,ganjaman,1hxboqg2,cheyanne,storys,sebastie,zztop,maddison,4rfv3edc,darthvader,jeffro,iloveit,victor1,hotty,delphin,lifeisgood,gooseman,shifty,insertions,dude123,abrupt,123masha,boogaloo,chronos,stamford,pimpster,kthjxrf,getmein,amidala,flubber,fettish,grapeape,dantes,oralsex,jack1,foxcg33,winchest,francis1,getin,archon,cliffy,blueman,1basebal,sport1,emmitt22,porn123,bignasty,morga,123hfjdk147,ferrar,juanito,fabiol,caseydog,steveo,peternorth,paroll,kimchi,bootleg,gaijin,secre,acacia,eatme2,amarillo,monkey11,rfhfgep,tylers,a1a2a3a4a5,sweetass,blower,rodina,babushka,camilo,cimbom,tiffan,vfnbkmlf,ohbaby,gotigers,lindsey1,dragon13,romulus,qazxsw12,zxcvbn1,dropdead,hitman47,snuggle,eleven11,bloopers,357mag,avangard,bmw320,ginscoot,dshade,masterkey,voodoo1,rootedit,caramba,leahcim,hannover,8phrowz622,tim123,cassius,000000a,angelito,zzzzz1,badkarma,star1,malaga,glenwood,footlove,golf1,summer12,helpme1,fastcars,titan1,police1,polinka,k.jdm,marusya,augusto,shiraz,pantyhose,donald1,blaise,arabella,brigada,c3por2d2,peter01,marco1,hellow,dillweed,uzumymw,geraldin,loveyou2,toyota1,088011,gophers,indy500,slainte,5hsu75kpot,teejay,renat,racoon,sabrin,angie1,shiznit,harpua,sexyred,latex,tucker1,alexandru,wahoo,teamwork,deepblue,goodison,rundmc,r2d2c3p0,puppys,samba,ayrton,boobed,999777,topsecre,blowme1,123321z,loudog,random1,pantie,drevil,mandolin,121212q,hottub,brother1,failsafe,spade1,matvey,open1234,carmen1,priscill,schatzi,kajak,gooddog,trojans1,gordon1,kayak,calamity,argent,ufhvjybz,seviyi,penfold,assface,dildos,hawkwind,crowbar,yanks,ruffles,rastus,luv2epus,open123,aquafina,dawns,jared1,teufel,12345c,vwgolf,pepsi123,amores,passwerd,01478520,boliva,smutty,headshot,password3,davidd,zydfhm,gbgbcmrf,pornpass,insertion,ceckbr,test2,car123,checkit,dbnfkbq,niggas,nyyankee,muskrat,nbuhtyjr,gunner1,ocean1,fabienne,chrissy1,wendys,loveme89,batgirl,cerveza,igorek,steel1,ragman,boris123,novifarm,sexy12,qwerty777,mike01,giveitup,123456abc,fuckall,crevice,hackerz,gspot,eight8,assassins,texass,swallows,123458,baldur,moonshine,labatt,modem,sydney1,voland,dbnfkz,hotchick,jacker,princessa,dawgs1,holiday1,booper,reliant,miranda1,jamaica1,andre1,badnaamhere,barnaby,tiger7,david12,margaux,corsica,085tzzqi,universi,thewall,nevermor,martin6,qwerty77,cipher,apples1,0102030405,seraphim,black123,imzadi,gandon,ducati99,1shadow,dkflbvbhjdyf,44magnum,bigbad,feedme,samantha1,ultraman,redneck1,jackdog,usmc0311,fresh1,monique1,tigre,alphaman,cool1,greyhoun,indycar,crunchy,55chevy,carefree,willow1,063dyjuy,xrated,assclown,federica,hilfiger,trivia,bronco1,mamita,100200300,simcity,lexingky,akatsuki,retsam,johndeere,abudfv,raster,elgato,businka,satanas,mattingl,redwing1,shamil,patate,mannn,moonstar,evil666,b123456,bowl300,tanechka,34523452,carthage,babygir,santino,bondarenko,jesuss,chico1,numlock,shyguy,sound1,kirby1,needit,mostwanted,427900,funky1,steve123,passions,anduril,kermit1,prospero,lusty,barakuda,dream1,broodwar,porky,christy1,mahal,yyyyyy1,allan1,1sexy,flintsto,capri,cumeater,heretic,robert2,hippos,blindax,marykay,collecti,kasumi,1qaz!qaz,112233q,123258,chemistr,coolboy,0o9i8u,kabuki,righton,tigress,nessie,sergej,andrew12,yfafyz,ytrhjvfyn,angel7,victo,mobbdeep,lemming,transfor,1725782,myhouse,aeynbr,muskie,leno4ka,westham1,cvbhyjd,daffodil,pussylicker,pamela1,stuffer,warehous,tinker1,2w3e4r,pluton,louise1,polarbea,253634,prime1,anatoliy,januar,wysiwyg,cobraya,ralphy,whaler,xterra,cableguy,112233a,porn69,jamesd,aqualung,jimmy123,lumpy,luckyman,kingsize,golfing1,alpha7,leeds1,marigold,lol1234,teabag,alex11,10sne1,saopaulo,shanny,roland1,basser,3216732167,carol1,year2005,morozov,saturn1,joseluis,bushed,redrock,memnoch,lalaland,indiana1,lovegod,gulnaz,buffalos,loveyou1,anteater,pattaya,jaydee,redshift,bartek,summerti,coffee1,ricochet,incest,schastie,rakkaus,h2opolo,suikoden,perro,dance1,loveme1,whoopass,vladvlad,boober,flyers1,alessia,gfcgjhn,pipers,papaya,gunsling,coolone,blackie1,gonads,gfhjkzytn,foxhound,qwert12,gangrel,ghjvtntq,bluedevi,mywife,summer01,hangman,licorice,patter,vfr750,thorsten,515253,ninguna,dakine,strange1,mexic,vergeten,12345432,8phrowz624,stampede,floyd1,sailfish,raziel,ananda,giacomo,freeme,crfprf,74185296,allstars,master01,solrac,gfnhbjn,bayliner,bmw525,3465xxx,catter,single1,michael3,pentium4,nitrox,mapet123456,halibut,killroy,xxxxx1,phillip1,poopsie,arsenalfc,buffys,kosova,all4me,32165498,arslan,opensesame,brutis,charles2,pochta,nadegda,backspac,mustang0,invis,gogeta,654321q,adam25,niceday,truckin,gfdkbr,biceps,sceptre,bigdave,lauras,user345,sandys,shabba,ratdog,cristiano,natha,march13,gumball,getsdown,wasdwasd,redhead1,dddddd1,longlegs,13572468,starsky,ducksoup,bunnys,omsairam,whoami,fred123,danmark,flapper,swanky,lakings,yfhenj,asterios,rainier,searcher,dapper,ltdjxrf,horsey,seahawk,shroom,tkfkdgo,aquaman,tashkent,number9,messi10,1asshole,milenium,illumina,vegita,jodeci,buster01,bareback,goldfinger,fire1,33rjhjds,sabian,thinkpad,smooth1,sully,bonghits,sushi1,magnavox,colombi,voiture,limpone,oldone,aruba,rooster1,zhenya,nomar5,touchdow,limpbizkit,rhfcfdxbr,baphomet,afrodita,bball1,madiso,ladles,lovefeet,matthew2,theworld,thunderbird,dolly1,123rrr,forklift,alfons,berkut,speedy1,saphire,oilman,creatine,pussylov,bastard1,456258,wicked1,filimon,skyline1,fucing,yfnfkbz,hot123,abdulla,nippon,nolimits,billiard,booty1,buttplug,westlife,coolbean,aloha1,lopas,asasin,1212121,october2,whodat,good4u,d12345,kostas,ilya1992,regal,pioneer1,volodya,focus1,bastos,nbvjif,fenix,anita1,vadimka,nickle,jesusc,123321456,teste,christ1,essendon,evgenii,celticfc,adam1,forumwp,lovesme,26exkp,chillout,burly,thelast1,marcus1,metalgear,test11,ronaldo7,socrate,world1,franki,mommie,vicecity,postov1000,charlie3,oldschool,333221,legoland,antoshka,counterstrike,buggy,mustang3,123454,qwertzui,toons,chesty,bigtoe,tigger12,limpopo,rerehepf,diddle,nokia3250,solidsnake,conan1,rockroll,963369,titanic1,qwezxc,cloggy,prashant,katharin,maxfli,takashi,cumonme,michael9,mymother,pennstate,khalid,48151623,fightclub,showboat,mateusz,elrond,teenie,arrow1,mammamia,dustydog,dominator,erasmus,zxcvb1,1a2a3a,bones1,dennis1,galaxie,pleaseme,whatever1,junkyard,galadriel,charlies,2wsxzaq1,crimson1,behemoth,teres,master11,fairway,shady1,pass99,1batman,joshua12,baraban,apelsin,mousepad,melon,twodogs,123321qwe,metalica,ryjgrf,pipiska,rerfhfxf,lugnut,cretin,iloveu2,powerade,aaaaaaa1,omanko,kovalenko,isabe,chobits,151nxjmt,shadow11,zcxfcnkbdf,gy3yt2rgls,vfhbyrf,159753123,bladerunner,goodone,wonton,doodie,333666999,fuckyou123,kitty123,chisox,orlando1,skateboa,red12345,destroye,snoogans,satan1,juancarlo,goheels,jetson,scottt,fuckup,aleksa,gfhfljrc,passfind,oscar123,derrick1,hateme,viper123,pieman,audi100,tuffy,andover,shooter1,10000,makarov,grant1,nighthaw,13576479,browneye,batigol,nfvfhf,chocolate1,7hrdnw23,petter,bantam,morlii,jediknight,brenden,argonaut,goodstuf,wisconsi,315920,abigail1,dirtbag,splurge,k123456,lucky777,valdepen,gsxr600,322223,ghjnjrjk,zaq1xsw2cde3,schwanz,walter1,letmein22,nomads,124356,codeblue,nokian70,fucke,footbal1,agyvorc,aztecs,passw0r,smuggles,femmes,ballgag,krasnodar,tamuna,schule,sixtynine,empires,erfolg,dvader,ladygaga,elite1,venezuel,nitrous,kochamcie,olivia1,trustn01,arioch,sting1,131415,tristar,555000,maroon,135799,marsik,555556,fomoco,natalka,cwoui,tartan,davecole,nosferat,hotsauce,dmitry,horus,dimasik,skazka,boss302,bluebear,vesper,ultras,tarantul,asd123asd,azteca,theflash,8ball,1footbal,titlover,lucas123,number6,sampson1,789852,party1,dragon99,adonai,carwash,metropol,psychnau,vthctltc,hounds,firework,blink18,145632,wildcat1,satchel,rice80,ghtktcnm,sailor1,cubano,anderso,rocks1,mike11,famili,dfghjc,besiktas,roygbiv,nikko,bethan,minotaur,rakesh,orange12,hfleuf,jackel,myangel,favorite7,1478520,asssss,agnieszka,haley1,raisin,htubyf,1buster,cfiekz,derevo,1a2a3a4a5a,baltika,raffles,scruffy1,clitlick,louis1,buddha1,fy.nrf,walker1,makoto,shadow2,redbeard,vfvfvskfhfve,mycock,sandydog,lineman,network1,favorite8,longdick,mustangg,mavericks,indica,1killer,cisco1,angelofwar,blue69,brianna1,bubbaa,slayer666,level42,baldrick,brutus1,lowdown,haribo,lovesexy,500000,thissuck,picker,stephy,1fuckme,characte,telecast,1bigdog,repytwjdf,thematrix,hammerhe,chucha,ganesha,gunsmoke,georgi,sheltie,1harley,knulla,sallas,westie,dragon7,conker,crappie,margosha,lisboa,3e2w1q,shrike,grifter,ghjcnjghjcnj,asdfg1,mnbvcxz1,myszka,posture,boggie,rocketman,flhtyfkby,twiztid,vostok,pi314159,force1,televizor,gtkmvtym,samhain,imcool,jadzia,dreamers,strannik,k2trix,steelhea,nikitin,commodor,brian123,chocobo,whopper,ibilljpf,megafon,ararat,thomas12,ghbrjkbcn,q1234567890,hibernia,kings1,jim123,redfive,68camaro,iawgk2,xavier1,1234567u,d123456,ndirish,airborn,halfmoon,fluffy1,ranchero,sneaker,soccer2,passion1,cowman,birthday1,johnn,razzle,glock17,wsxqaz,nubian,lucky2,jelly1,henderso,eric1,123123e,boscoe01,fuck0ff,simpson1,sassie,rjyjgkz,nascar3,watashi,loredana,janus,wilso,conman,david2,mothe,iloveher,snikers,davidj,fkmnthyfnbdf,mettss,ratfink,123456h,lostsoul,sweet16,brabus,wobble,petra1,fuckfest,otters,sable1,svetka,spartacu,bigstick,milashka,1lover,pasport,champagn,papichul,hrvatska,hondacivic,kevins,tacit,moneybag,gohogs,rasta1,246813579,ytyfdbcnm,gubber,darkmoon,vitaliy,233223,playboys,tristan1,joyce1,oriflame,mugwump,access2,autocad,thematri,qweqwe123,lolwut,ibill01,multisyn,1233211,pelikan,rob123,chacal,1234432,griffon,pooch,dagestan,geisha,satriani,anjali,rocketma,gixxer,pendrago,vincen,hellokit,killyou,ruger,doodah,bumblebe,badlands,galactic,emachines,foghorn,jackso,jerem,avgust,frontera,123369,daisymae,hornyboy,welcome123,tigger01,diabl,angel13,interex,iwantsex,rockydog,kukolka,sawdust,online1,3234412,bigpapa,jewboy,3263827,dave123,riches,333222,tony1,toggle,farter,124816,tities,balle,brasilia,southsid,micke,ghbdtn12,patit,ctdfcnjgjkm,olds442,zzzzzz1,nelso,gremlins,gypsy1,carter1,slut69,farcry,7415963,michael8,birdie1,charl,123456789abc,100001,aztec,sinjin,bigpimpi,closeup,atlas1,nvidia,doggone,classic1,manana,malcolm1,rfkbyf,hotbabe,rajesh,dimebag,ganjubas,rodion,jagr68,seren,syrinx,funnyman,karapuz,123456789n,bloomin,admin18533362,biggdogg,ocarina,poopy1,hellome,internet1,booties,blowjobs,matt1,donkey1,swede,1jennife,evgeniya,lfhbyf,coach1,444777,green12,patryk,pinewood,justin12,271828,89600506779,notredame,tuborg,lemond,sk8ter,million1,wowser,pablo1,st0n3,jeeves,funhouse,hiroshi,gobucs,angeleye,bereza,winter12,catalin,qazedc,andros,ramazan,vampyre,sweethea,imperium,murat,jamest,flossy,sandeep,morgen,salamandra,bigdogg,stroller,njdevils,nutsack,vittorio,%%passwo,playful,rjyatnrf,tookie,ubnfhf,michi,777444,shadow13,devils1,radiance,toshiba1,beluga,amormi,dandfa,trust1,killemall,smallville,polgara,billyb,landscap,steves,exploite,zamboni,damage11,dzxtckfd,trader12,pokey1,kobe08,damager,egorov,dragon88,ckfdbr,lisa69,blade2,audis4,nelson1,nibbles,23176djivanfros,mutabor,artofwar,matvei,metal666,hrfzlz,schwinn,poohbea,seven77,thinker,123456789qwerty,sobriety,jakers,karamelka,vbkfyf,volodin,iddqd,dale03,roberto1,lizaveta,qqqqqq1,cathy1,08154711,davidm,quixote,bluenote,tazdevil,katrina1,bigfoot1,bublik,marma,olechka,fatpussy,marduk,arina,nonrev67,qqqq1111,camill,wtpfhm,truffle,fairview,mashina,voltaire,qazxswedcvfr,dickface,grassy,lapdance,bosstone,crazy8,yackwin,mobil,danielit,mounta1n,player69,bluegill,mewtwo,reverb,cnthdf,pablito,a123321,elena1,warcraft1,orland,ilovemyself,rfntyjr,joyride,schoo,dthjxrf,thetachi,goodtimes,blacksun,humpty,chewbacca,guyute,123xyz,lexicon,blue45,qwe789,galatasaray,centrino,hendrix1,deimos,saturn5,craig1,vlad1996,sarah123,tupelo,ljrnjh,hotwife,bingos,1231231,nicholas1,flamer,pusher,1233210,heart1,hun999,jiggy,giddyup,oktober,123456zxc,budda,galahad,glamur,samwise,oneton,bugsbunny,dominic1,scooby2,freetime,internat,159753852,sc00ter,wantit,mazinger,inflames,laracrof,greedo,014789,godofwar,repytwjd,water123,fishnet,venus1,wallace1,tenpin,paula1,1475963,mania,novikov,qwertyasdfgh,goldmine,homies,777888999,8balls,holeinon,paper1,samael,013579,mansur,nikit,ak1234,blueline,polska1,hotcock,laredo,windstar,vbkbwbz,raider1,newworld,lfybkrf,catfish1,shorty1,piranha,treacle,royale,2234562,smurfs,minion,cadence,flapjack,123456p,sydne,135531,robinhoo,nasdaq,decatur,cyberonline,newage,gemstone,jabba,touchme,hooch,pigdog,indahous,fonzie,zebra1,juggle,patrick2,nihongo,hitomi,oldnavy,qwerfdsa,ukraina,shakti,allure,kingrich,diane1,canad,piramide,hottie1,clarion,college1,5641110,connect1,therion,clubber,velcro,dave1,astra1,13579-,astroboy,skittle,isgreat,photoes,cvzefh1gkc,001100,2cool4u,7555545,ginger12,2wsxcde3,camaro69,invader,domenow,asd1234,colgate,qwertasdfg,jack123,pass01,maxman,bronte,whkzyc,peter123,bogie,yecgaa,abc321,1qay2wsx,enfield,camaroz2,trashman,bonefish,system32,azsxdcfvgb,peterose,iwantyou,dick69,temp1234,blastoff,capa200,connie1,blazin,12233445,sexybaby,123456j,brentfor,pheasant,hommer,jerryg,thunders,august1,lager,kapusta,boobs1,nokia5300,rocco1,xytfu7,stars1,tugger,123sas,blingbling,1bubba,0wnsyo0,1george,baile,richard2,habana,1diamond,sensatio,1golfer,maverick1,1chris,clinton1,michael7,dragons1,sunrise1,pissant,fatim,mopar1,levani,rostik,pizzapie,987412365,oceans11,748159263,cum4me,palmetto,4r3e2w1q,paige1,muncher,arsehole,kratos,gaffer,banderas,billys,prakash,crabby,bungie,silver12,caddis,spawn1,xboxlive,sylvania,littlebi,524645,futura,valdemar,isacs155,prettygirl,big123,555444,slimer,chicke,newstyle,skypilot,sailormoon,fatluvr69,jetaime,sitruc,jesuschrist,sameer,bear12,hellion,yendor,country1,etnies,conejo,jedimast,darkknight,toobad,yxcvbn,snooks,porn4life,calvary,alfaromeo,ghostman,yannick,fnkfynblf,vatoloco,homebase,5550666,barret,1111111111zz,odysseus,edwardss,favre4,jerrys,crybaby,xsw21qaz,firestor,spanks,indians1,squish,kingair,babycakes,haters,sarahs,212223,teddyb,xfactor,cumload,rhapsody,death123,three3,raccoon,thomas2,slayer66,1q2q3q4q5q,thebes,mysterio,thirdeye,orkiox.,nodoubt,bugsy,schweiz,dima1996,angels1,darkwing,jeronimo,moonpie,ronaldo9,peaches2,mack10,manish,denise1,fellowes,carioca,taylor12,epaulson,makemoney,oc247ngucz,kochanie,3edcvfr4,vulture,1qw23e,1234567z,munchie,picard1,xthtgfirf,sportste,psycho1,tahoe1,creativ,perils,slurred,hermit,scoob,diesel1,cards1,wipeout,weeble,integra1,out3xf,powerpc,chrism,kalle,ariadne,kailua,phatty,dexter1,fordman,bungalow,paul123,compa,train1,thejoker,jys6wz,pussyeater,eatmee,sludge,dominus,denisa,tagheuer,yxcvbnm,bill1,ghfdlf,300zx,nikita123,carcass,semaj,ramone,muenchen,animal1,greeny,annemari,dbrf134,jeepcj7,mollys,garten,sashok,ironmaid,coyotes,astoria,george12,westcoast,primetim,123456o,panchito,rafae,japan1,framer,auralo,tooshort,egorova,qwerty22,callme,medicina,warhawk,w1w2w3w4,cristia,merli,alex22,kawaii,chatte,wargames,utvols,muaddib,trinket,andreas1,jjjjj1,cleric,scooters,cuntlick,gggggg1,slipknot1,235711,handcuff,stussy,guess1,leiceste,ppppp1,passe,lovegun,chevyman,hugecock,driver1,buttsex,psychnaut1,cyber1,black2,alpha12,melbourn,man123,metalman,yjdsqujl,blondi,bungee,freak1,stomper,caitlin1,nikitina,flyaway,prikol,begood,desperad,aurelius,john1234,whosyourdaddy,slimed123,bretagne,den123,hotwheel,king123,roodypoo,izzicam,save13tx,warpten,nokia3310,samolet,ready1,coopers,scott123,bonito,1aaaaa,yomomma,dawg1,rache,itworks,asecret,fencer,451236,polka,olivetti,sysadmin,zepplin,sanjuan,479373,lickem,hondacrx,pulamea,future1,naked1,sexyguy,w4g8at,lollol1,declan,runner1,rumple,daddy123,4snz9g,grandprix,calcio,whatthefuck,nagrom,asslick,pennst,negrit,squiggy,1223334444,police22,giovann,toronto1,tweet,yardbird,seagate,truckers,554455,scimitar,pescator,slydog,gaysex,dogfish,fuck777,12332112,qazxswed,morkovka,daniela1,imback,horny69,789123456,123456789w,jimmy2,bagger,ilove69,nikolaus,atdhfkm,rebirth,1111aaaa,pervasive,gjgeufq,dte4uw,gfhnbpfy,skeletor,whitney1,walkman,delorean,disco1,555888,as1234,ishikawa,fuck12,reaper1,dmitrii,bigshot,morrisse,purgen,qwer4321,itachi,willys,123123qwe,kisska,roma123,trafford,sk84life,326159487,pedros,idiom,plover,bebop,159875321,jailbird,arrowhea,qwaszx123,zaxscdvf,catlover,bakers,13579246,bones69,vermont1,helloyou,simeon,chevyz71,funguy,stargaze,parolparol,steph1,bubby,apathy,poppet,laxman,kelly123,goodnews,741236,boner1,gaetano,astonvilla,virtua,luckyboy,rocheste,hello2u,elohim,trigger1,cstrike,pepsicola,miroslav,96385274,fistfuck,cheval,magyar,svetlanka,lbfyjxrf,mamedov,123123123q,ronaldo1,scotty1,1nicole,pittbull,fredd,bbbbb1,dagwood,gfhkfvtyn,ghblehrb,logan5,1jordan,sexbomb,omega2,montauk,258741,dtythf,gibbon,winamp,thebomb,millerli,852654,gemin,baldy,halflife2,dragon22,mulberry,morrigan,hotel6,zorglub,surfin,951159,excell,arhangel,emachine,moses1,968574,reklama,bulldog2,cuties,barca,twingo,saber,elite11,redtruck,casablan,ashish,moneyy,pepper12,cnhtktw,rjcnbr,arschloch,phenix,cachorro,sunita,madoka,joselui,adams1,mymoney,hemicuda,fyutkjr,jake12,chicas,eeeee1,sonnyboy,smarties,birdy,kitten1,cnfcbr,island1,kurosaki,taekwond,konfetka,bennett1,omega3,jackson2,fresca,minako,octavian,kban667,feyenoord,muaythai,jakedog,fktrcfylhjdyf,1357911q,phuket,sexslave,fktrcfylhjdbx,asdfjk,89015173454,qwerty00,kindbud,eltoro,sex6969,nyknicks,12344321q,caballo,evenflow,hoddle,love22,metro1,mahalko,lawdog,tightass,manitou,buckie,whiskey1,anton123,335533,password4,primo,ramair,timbo,brayden,stewie,pedro1,yorkshir,ganster,hellothe,tippy1,direwolf,genesi,rodrig,enkeli,vaz21099,sorcerer,winky,oneshot,boggle,serebro,badger1,japanes,comicbook,kamehame,alcat,denis123,echo45,sexboy,gr8ful,hondo,voetbal,blue33,2112rush,geneviev,danni1,moosey,polkmn,matthew7,ironhead,hot2trot,ashley12,sweeper,imogen,blue21,retep,stealth1,guitarra,bernard1,tatian,frankfur,vfnhbwf,slacking,haha123,963741,asdasdas,katenok,airforce1,123456789qaz,shotgun1,12qwasz,reggie1,sharo,976431,pacifica,dhip6a,neptun,kardon,spooky1,beaut,555555a,toosweet,tiedup,11121314,startac,lover69,rediska,pirata,vfhrbp,1234qwerty,energize,hansolo1,playbo,larry123,oemdlg,cnjvfnjkju,a123123,alexan,gohawks,antonius,fcbayern,mambo,yummy1,kremlin,ellen1,tremere,vfiekz,bellevue,charlie9,izabella,malishka,fermat,rotterda,dawggy,becket,chasey,kramer1,21125150,lolit,cabrio,schlong,arisha,verity,3some,favorit,maricon,travelle,hotpants,red1234,garrett1,home123,knarf,seven777,figment,asdewq,canseco,good2go,warhol,thomas01,pionee,al9agd,panacea,chevy454,brazzers,oriole,azerty123,finalfan,patricio,northsta,rebelde,bulldo,stallone,boogie1,7uftyx,cfhfnjd,compusa,cornholi,config,deere,hoopster,sepultura,grasshop,babygurl,lesbo,diceman,proverbs,reddragon,nurbek,tigerwoo,superdup,buzzsaw,kakaroto,golgo13,edwar,123qaz123,butter1,sssss1,texas2,respekt,ou812ic,123456qaz,55555a,doctor1,mcgwire,maria123,aol999,cinders,aa1234,joness,ghbrjkmyj,makemone,sammyboy,567765,380zliki,theraven,testme,mylene,elvira26,indiglo,tiramisu,shannara,baby1,123666,gfhreh,papercut,johnmish,orange8,bogey1,mustang7,bagpipes,dimarik,vsijyjr,4637324,ravage,cogito,seven11,natashka,warzone,hr3ytm,4free,bigdee,000006,243462536,bigboi,123333,trouts,sandy123,szevasz,monica2,guderian,newlife1,ratchet,r12345,razorbac,12345i,piazza31,oddjob,beauty1,fffff1,anklet,nodrog,pepit,olivi,puravida,robert12,transam1,portman,bubbadog,steelers1,wilson1,eightball,mexico1,superboy,4rfv5tgb,mzepab,samurai1,fuckslut,colleen1,girdle,vfrcbvec,q1w2e3r4t,soldier1,19844891,alyssa1,a12345a,fidelis,skelter,nolove,mickeymouse,frehley,password69,watermel,aliska,soccer15,12345e,ladybug1,abulafia,adagio,tigerlil,takehana,hecate,bootneck,junfan,arigato,wonkette,bobby123,trustnoone,phantasm,132465798,brianjo,w12345,t34vfrc1991,deadeye,1robert,1daddy,adida,check1,grimlock,muffi,airwalk,prizrak,onclick,longbeac,ernie1,eadgbe,moore1,geniu,shadow123,bugaga,jonathan1,cjrjkjdf,orlova,buldog,talon1,westport,aenima,541233432442,barsuk,chicago2,kellys,hellbent,toughguy,iskander,skoal,whatisit,jake123,scooter2,fgjrfkbgcbc,ghandi,love13,adelphia,vjhrjdrf,adrenali,niunia,jemoeder,rainbo,all4u8,anime1,freedom7,seraph,789321,tommys,antman,firetruc,neogeo,natas,bmwm3,froggy1,paul1,mamit,bayview,gateways,kusanagi,ihateu,frederi,rock1,centurion,grizli,biggin,fish1,stalker1,3girls,ilovepor,klootzak,lollo,redsox04,kirill123,jake1,pampers,vasya,hammers1,teacup,towing,celtic1,ishtar,yingyang,4904s677075,dahc1,patriot1,patrick9,redbirds,doremi,rebecc,yoohoo,makarova,epiphone,rfgbnfy,milesd,blister,chelseafc,katana1,blackrose,1james,primrose,shock5,hard1,scooby12,c6h12o6,dustoff,boing,chisel,kamil,1william,defiant1,tyvugq,mp8o6d,aaa340,nafets,sonnet,flyhigh,242526,crewcom,love23,strike1,stairway,katusha,salamand,cupcake1,password0,007james,sunnie,multisync,harley01,tequila1,fred12,driver8,q8zo8wzq,hunter01,mozzer,temporar,eatmeraw,mrbrownxx,kailey,sycamore,flogger,tincup,rahasia,ganymede,bandera,slinger,1111122222,vander,woodys,1cowboy,khaled,jamies,london12,babyboo,tzpvaw,diogenes,budice,mavrick,135797531,cheeta,macros,squonk,blackber,topfuel,apache1,falcon16,darkjedi,cheeze,vfhvtkfl,sparco,change1,gfhfif,freestyl,kukuruza,loveme2,12345f,kozlov,sherpa,marbella,44445555,bocephus,1winner,alvar,hollydog,gonefish,iwantin,barman,godislove,amanda18,rfpfynbg,eugen,abcdef1,redhawk,thelema,spoonman,baller1,harry123,475869,tigerman,cdtnjxrf,marillio,scribble,elnino,carguy,hardhead,l2g7k3,troopers,selen,dragon76,antigua,ewtosi,ulysse,astana,paroli,cristo,carmex,marjan,bassfish,letitbe,kasparov,jay123,19933991,blue13,eyecandy,scribe,mylord,ukflbjkec,ellie1,beaver1,destro,neuken,halfpint,ameli,lilly1,satanic,xngwoj,12345trewq,asdf1,bulldogg,asakura,jesucrist,flipside,packers4,biggy,kadett,biteme69,bobdog,silverfo,saint1,bobbo,packman,knowledg,foolio,fussbal,12345g,kozerog,westcoas,minidisc,nbvcxw,martini1,alastair,rasengan,superbee,memento,porker,lena123,florenc,kakadu,bmw123,getalife,bigsky,monkee,people1,schlampe,red321,memyself,0147896325,12345678900987654321,soccer14,realdeal,gfgjxrf,bella123,juggs,doritos,celtics1,peterbilt,ghbdtnbrb,gnusmas,xcountry,ghbdtn1,batman99,deusex,gtnhjdf,blablabl,juster,marimba,love2,rerjkrf,alhambra,micros,siemens1,assmaste,moonie,dashadasha,atybrc,eeeeee1,wildrose,blue55,davidl,xrp23q,skyblue,leo123,ggggg1,bestfriend,franny,1234rmvb,fun123,rules1,sebastien,chester2,hakeem,winston2,fartripper,atlant,07831505,iluvsex,q1a2z3,larrys,009900,ghjkju,capitan,rider1,qazxsw21,belochka,andy123,hellya,chicca,maximal,juergen,password1234,howard1,quetzal,daniel123,qpwoeiruty,123555,bharat,ferrari3,numbnuts,savant,ladydog,phipsi,lovepussy,etoile,power2,mitten,britneys,chilidog,08522580,2fchbg,kinky1,bluerose,loulo,ricardo1,doqvq3,kswbdu,013cpfza,timoha,ghbdtnghbdtn,3stooges,gearhead,browns1,g00ber,super7,greenbud,kitty2,pootie,toolshed,gamers,coffe,ibill123,freelove,anasazi,sister1,jigger,natash,stacy1,weronika,luzern,soccer7,hoopla,dmoney,valerie1,canes,razdvatri,washere,greenwoo,rfhjkbyf,anselm,pkxe62,maribe,daniel2,maxim1,faceoff,carbine,xtkjdtr,buddy12,stratos,jumpman,buttocks,aqswdefr,pepsis,sonechka,steeler1,lanman,nietzsch,ballz,biscuit1,wrxsti,goodfood,juventu,federic,mattman,vika123,strelec,jledfyxbr,sideshow,4life,fredderf,bigwilly,12347890,12345671,sharik,bmw325i,fylhtqrf,dannon4,marky,mrhappy,drdoom,maddog1,pompier,cerbera,goobers,howler,jenny69,evely,letitrid,cthuttdyf,felip,shizzle,golf12,t123456,yamah,bluearmy,squishy,roxan,10inches,dollface,babygirl1,blacksta,kaneda,lexingto,canadien,222888,kukushka,sistema,224422,shadow69,ppspankp,mellons,barbie1,free4all,alfa156,lostone,2w3e4r5t,painkiller,robbie1,binger,8dihc6,jaspe,rellik,quark,sogood,hoopstar,number2,snowy1,dad2ownu,cresta,qwe123asd,hjvfyjdf,gibsonsg,qbg26i,dockers,grunge,duckling,lfiekz,cuntsoup,kasia1,1tigger,woaini,reksio,tmoney,firefighter,neuron,audia3,woogie,powerboo,powermac,fatcock,12345666,upnfmc,lustful,porn1,gotlove,amylee,kbytqrf,11924704,25251325,sarasota,sexme,ozzie1,berliner,nigga1,guatemal,seagulls,iloveyou!,chicken2,qwerty21,010203040506,1pillow,libby1,vodoley,backlash,piglets,teiubesc,019283,vonnegut,perico,thunde,buckey,gtxtymrf,manunite,iiiii1,lost4815162342,madonn,270873_,britney1,kevlar,piano1,boondock,colt1911,salamat,doma77ns,anuradha,cnhjqrf,rottweil,newmoon,topgun1,mauser,fightclu,birthday21,reviewpa,herons,aassddff,lakers32,melissa2,vredina,jiujitsu,mgoblue,shakey,moss84,12345zxcvb,funsex,benji1,garci,113322,chipie,windex,nokia5310,pwxd5x,bluemax,cosita,chalupa,trotsky,new123,g3ujwg,newguy,canabis,gnaget,happydays,felixx,1patrick,cumface,sparkie,kozlova,123234,newports,broncos7,golf18,recycle,hahah,harrypot,cachondo,open4me,miria,guessit,pepsione,knocker,usmc1775,countach,playe,wiking,landrover,cracksevi,drumline,a7777777,smile123,manzana,panty,liberta,pimp69,dolfan,quality1,schnee,superson,elaine22,webhompass,mrbrownx,deepsea,4wheel,mamasita,rockport,rollie,myhome,jordan12,kfvgjxrf,hockey12,seagrave,ford1,chelsea2,samsara,marissa1,lamesa,mobil1,piotrek,tommygun,yyyyy1,wesley1,billy123,homersim,julies,amanda12,shaka,maldini,suzenet,springst,iiiiii1,yakuza,111111aa,westwind,helpdesk,annamari,bringit,hopefull,hhhhhhh1,saywhat,mazdarx8,bulova,jennife1,baikal,gfhjkmxbr,victoria1,gizmo123,alex99,defjam,2girls,sandrock,positivo,shingo,syncmast,opensesa,silicone,fuckina,senna1,karlos,duffbeer,montagne,gehrig,thetick,pepino,hamburge,paramedic,scamp,smokeweed,fabregas,phantoms,venom121293,2583458,badone,porno69,manwhore,vfvf123,notagain,vbktyf,rfnthbyrf,wildblue,kelly001,dragon66,camell,curtis1,frolova,1212123,dothedew,tyler123,reddrago,planetx,promethe,gigolo,1001001,thisone,eugeni,blackshe,cruzazul,incognito,puller,joonas,quick1,spirit1,gazza,zealot,gordito,hotrod1,mitch1,pollito,hellcat,mythos,duluth,383pdjvl,easy123,hermos,binkie,its420,lovecraf,darien,romina,doraemon,19877891,syclone,hadoken,transpor,ichiro,intell,gargamel,dragon2,wavpzt,557744,rjw7x4,jennys,kickit,rjynfrn,likeit,555111,corvus,nec3520,133113,mookie1,bochum,samsung2,locoman0,154ugeiu,vfvfbgfgf,135792,[start],tenni,20001,vestax,hufmqw,neveragain,wizkid,kjgfnf,nokia6303,tristen,saltanat,louie1,gandalf2,sinfonia,alpha3,tolstoy,ford150,f00bar,1hello,alici,lol12,riker1,hellou,333888,1hunter,qw1234,vibrator,mets86,43211234,gonzale,cookies1,sissy1,john11,bubber,blue01,cup2006,gtkmvtyb,nazareth,heybaby,suresh,teddie,mozilla,rodeo1,madhouse,gamera,123123321,naresh,dominos,foxtrot1,taras,powerup,kipling,jasonb,fidget,galena,meatman,alpacino,bookmark,farting,humper,titsnass,gorgon,castaway,dianka,anutka,gecko1,fucklove,connery,wings1,erika1,peoria,moneymaker,ichabod,heaven1,paperboy,phaser,breakers,nurse1,westbrom,alex13,brendan1,123asd123,almera,grubber,clarkie,thisisme,welkom01,51051051051,crypto,freenet,pflybwf,black12,testme2,changeit,autobahn,attica,chaoss,denver1,tercel,gnasher23,master2,vasilii,sherman1,gomer,bigbuck,derek1,qwerzxcv,jumble,dragon23,art131313,numark,beasty,cxfcnmttcnm,updown,starion,glist,sxhq65,ranger99,monkey7,shifter,wolves1,4r5t6y,phone1,favorite5,skytommy,abracada,1martin,102030405060,gatech,giulio,blacktop,cheer1,africa1,grizzly1,inkjet,shemales,durango1,booner,11223344q,supergirl,vanyarespekt,dickless,srilanka,weaponx,6string,nashvill,spicey,boxer1,fabien,2sexy2ho,bowhunt,jerrylee,acrobat,tawnee,ulisse,nolimit8,l8g3bkde,pershing,gordo1,allover,gobrowns,123432,123444,321456987,spoon1,hhhhh1,sailing1,gardenia,teache,sexmachine,tratata,pirate1,niceone,jimbos,314159265,qsdfgh,bobbyy,ccccc1,carla1,vjkjltw,savana,biotech,frigid,123456789g,dragon10,yesiam,alpha06,oakwood,tooter,winsto,radioman,vavilon,asnaeb,google123,nariman,kellyb,dthyjcnm,password6,parol1,golf72,skate1,lthtdj,1234567890s,kennet,rossia,lindas,nataliya,perfecto,eminem1,kitana,aragorn1,rexona,arsenalf,planot,coope,testing123,timex,blackbox,bullhead,barbarian,dreamon,polaris1,cfvjktn,frdfhbev,gametime,slipknot666,nomad1,hfgcjlbz,happy69,fiddler,brazil1,joeboy,indianali,113355,obelisk,telemark,ghostrid,preston1,anonim,wellcome,verizon1,sayangku,censor,timeport,dummies,adult1,nbnfybr,donger,thales,iamgay,sexy1234,deadlift,pidaras,doroga,123qwe321,portuga,asdfgh12,happys,cadr14nu,pi3141,maksik,dribble,cortland,darken,stepanova,bommel,tropic,sochi2014,bluegras,shahid,merhaba,nacho,2580456,orange44,kongen,3cudjz,78girl,my3kids,marcopol,deadmeat,gabbie,saruman,jeepman,freddie1,katie123,master99,ronal,ballbag,centauri,killer7,xqgann,pinecone,jdeere,geirby,aceshigh,55832811,pepsimax,rayden,razor1,tallyho,ewelina,coldfire,florid,glotest,999333,sevenup,bluefin,limaperu,apostol,bobbins,charmed1,michelin,sundin,centaur,alphaone,christof,trial1,lions1,45645,just4you,starflee,vicki1,cougar1,green2,jellyfis,batman69,games1,hihje863,crazyzil,w0rm1,oklick,dogbite,yssup,sunstar,paprika,postov10,124578963,x24ik3,kanada,buckster,iloveamy,bear123,smiler,nx74205,ohiostat,spacey,bigbill,doudo,nikolaeva,hcleeb,sex666,mindy1,buster11,deacons,boness,njkcnsq,candy2,cracker1,turkey1,qwertyu1,gogreen,tazzzz,edgewise,ranger01,qwerty6,blazer1,arian,letmeinnow,cigar1,jjjjjj1,grigio,frien,tenchu,f9lmwd,imissyou,filipp,heathers,coolie,salem1,woodduck,scubadiv,123kat,raffaele,nikolaev,dapzu455,skooter,9inches,lthgfhjkm,gr8one,ffffff1,zujlrf,amanda69,gldmeo,m5wkqf,rfrltkf,televisi,bonjou,paleale,stuff1,cumalot,fuckmenow,climb7,mark1234,t26gn4,oneeye,george2,utyyflbq,hunting1,tracy71,ready2go,hotguy,accessno,charger1,rudedog,kmfdm,goober1,sweetie1,wtpmjgda,dimensio,ollie1,pickles1,hellraiser,mustdie,123zzz,99887766,stepanov,verdun,tokenbad,anatol,bartende,cidkid86,onkelz,timmie,mooseman,patch1,12345678c,marta1,dummy1,bethany1,myfamily,history1,178500,lsutiger,phydeaux,moren,dbrnjhjdbx,gnbxrf,uniden,drummers,abpbrf,godboy,daisy123,hogan1,ratpack,irland,tangerine,greddy,flore,sqrunch,billyjoe,q55555,clemson1,98745632,marios,ishot,angelin,access12,naruto12,lolly,scxakv,austin12,sallad,cool99,rockit,mongo1,mark22,ghbynth,ariadna,senha,docto,tyler2,mobius,hammarby,192168,anna12,claire1,pxx3eftp,secreto,greeneye,stjabn,baguvix,satana666,rhbcnbyjxrf,dallastx,garfiel,michaelj,1summer,montan,1234ab,filbert,squids,fastback,lyudmila,chucho,eagleone,kimberle,ar3yuk3,jake01,nokids,soccer22,1066ad,ballon,cheeto,review69,madeira,taylor2,sunny123,chubbs,lakeland,striker1,porche,qwertyu8,digiview,go1234,ferari,lovetits,aditya,minnow,green3,matman,cellphon,fortytwo,minni,pucara,69a20a,roman123,fuente,12e3e456,paul12,jacky,demian,littleman,jadakiss,vlad1997,franca,282860,midian,nunzio,xaccess2,colibri,jessica0,revilo,654456,harvey1,wolf1,macarena,corey1,husky1,arsen,milleniu,852147,crowes,redcat,combat123654,hugger,psalms,quixtar,ilovemom,toyot,ballss,ilovekim,serdar,james23,avenger1,serendip,malamute,nalgas,teflon,shagger,letmein6,vyjujnjxbt,assa1234,student1,dixiedog,gznybwf13,fuckass,aq1sw2de3,robroy,hosehead,sosa21,123345,ias100,teddy123,poppin,dgl70460,zanoza,farhan,quicksilver,1701d,tajmahal,depechemode,paulchen,angler,tommy2,recoil,megamanx,scarecro,nicole2,152535,rfvtgb,skunky,fatty1,saturno,wormwood,milwauke,udbwsk,sexlover,stefa,7bgiqk,gfnhbr,omar10,bratan,lbyfvj,slyfox,forest1,jambo,william3,tempus,solitari,lucydog,murzilka,qweasdzxc1,vehpbkrf,12312345,fixit,woobie,andre123,123456789x,lifter,zinaida,soccer17,andone,foxbat,torsten,apple12,teleport,123456i,leglover,bigcocks,vologda,dodger1,martyn,d6o8pm,naciona,eagleeye,maria6,rimshot,bentley1,octagon,barbos,masaki,gremio,siemen,s1107d,mujeres,bigtits1,cherr,saints1,mrpink,simran,ghzybr,ferrari2,secret12,tornado1,kocham,picolo,deneme,onelove1,rolan,fenster,1fuckyou,cabbie,pegaso,nastyboy,password5,aidana,mine2306,mike13,wetone,tigger69,ytreza,bondage1,myass,golova,tolik,happyboy,poilkj,nimda2k,rammer,rubies,hardcore1,jetset,hoops1,jlaudio,misskitt,1charlie,google12,theone1,phred,porsch,aalborg,luft4,charlie5,password7,gnosis,djgabbab,1daniel,vinny,borris,cumulus,member1,trogdor,darthmau,andrew2,ktjybl,relisys,kriste,rasta220,chgobndg,weener,qwerty66,fritter,followme,freeman1,ballen,blood1,peache,mariso,trevor1,biotch,gtfullam,chamonix,friendste,alligato,misha1,1soccer,18821221,venkat,superd,molotov,bongos,mpower,acun3t1x,dfcmrf,h4x3d,rfhfufylf,tigran,booyaa,plastic1,monstr,rfnhby,lookatme,anabolic,tiesto,simon123,soulman,canes1,skyking,tomcat1,madona,bassline,dasha123,tarheel1,dutch1,xsw23edc,qwerty123456789,imperator,slaveboy,bateau,paypal,house123,pentax,wolf666,drgonzo,perros,digger1,juninho,hellomoto,bladerun,zzzzzzz1,keebler,take8422,fffffff1,ginuwine,israe,caesar1,crack1,precious1,garand,magda1,zigazaga,321ewq,johnpaul,mama1234,iceman69,sanjeev,treeman,elric,rebell,1thunder,cochon,deamon,zoltan,straycat,uhbyuj,luvfur,mugsy,primer,wonder1,teetime,candycan,pfchfytw,fromage,gitler,salvatio,piggy1,23049307,zafira,chicky,sergeev,katze,bangers,andriy,jailbait,vaz2107,ghbhjlf,dbjktnnf,aqswde,zaratustra,asroma,1pepper,alyss,kkkkk1,ryan1,radish,cozumel,waterpol,pentium1,rosebowl,farmall,steinway,dbrekz,baranov,jkmuf,another1,chinacat,qqqqqqq1,hadrian,devilmaycry4,ratbag,teddy2,love21,pullings,packrat,robyn1,boobo,qw12er34,tribe1,rosey,celestia,nikkie,fortune12,olga123,danthema,gameon,vfrfhjys,dilshod,henry14,jenova,redblue,chimaera,pennywise,sokrates,danimal,qqaazz,fuaqz4,killer2,198200,tbone1,kolyan,wabbit,lewis1,maxtor,egoist,asdfas,spyglass,omegas,jack12,nikitka,esperanz,doozer,matematika,wwwww1,ssssss1,poiu0987,suchka,courtney1,gungho,alpha2,fktyjxrf,summer06,bud420,devildriver,heavyd,saracen,foucault,choclate,rjdfktyrj,goblue1,monaro,jmoney,dcpugh,efbcapa201,qqh92r,pepsicol,bbb747,ch5nmk,honeyb,beszoptad,tweeter,intheass,iseedeadpeople,123dan,89231243658s,farside1,findme,smiley1,55556666,sartre,ytcnjh,kacper,costarica,134679258,mikeys,nolimit9,vova123,withyou,5rxypn,love143,freebie,rescue1,203040,michael6,12monkey,redgreen,steff,itstime,naveen,good12345,acidrain,1dawg,miramar,playas,daddio,orion2,852741,studmuff,kobe24,senha123,stephe,mehmet,allalone,scarface1,helloworld,smith123,blueyes,vitali,memphis1,mybitch,colin1,159874,1dick,podaria,d6wnro,brahms,f3gh65,dfcbkmtd,xxxman,corran,ugejvp,qcfmtz,marusia,totem,arachnid,matrix2,antonell,fgntrf,zemfira,christos,surfing1,naruto123,plato1,56qhxs,madzia,vanille,043aaa,asq321,mutton,ohiostate,golde,cdznjckfd,rhfcysq,green5,elephan,superdog,jacqueli,bollock,lolitas,nick12,1orange,maplelea,july23,argento,waldorf,wolfer,pokemon12,zxcvbnmm,flicka,drexel,outlawz,harrie,atrain,juice2,falcons1,charlie6,19391945,tower1,dragon21,hotdamn,dirtyboy,love4ever,1ginger,thunder2,virgo1,alien1,bubblegu,4wwvte,123456789qqq,realtime,studio54,passss,vasilek,awsome,giorgia,bigbass,2002tii,sunghile,mosdef,simbas,count0,uwrl7c,summer05,lhepmz,ranger21,sugarbea,principe,5550123,tatanka,9638v,cheerios,majere,nomercy,jamesbond007,bh90210,7550055,jobber,karaganda,pongo,trickle,defamer,6chid8,1q2a3z,tuscan,nick123,.adgjm,loveyo,hobbes1,note1234,shootme,171819,loveporn,9788960,monty123,fabrice,macduff,monkey13,shadowfa,tweeker,hanna1,madball,telnet,loveu2,qwedcxzas,thatsit,vfhcbr,ptfe3xxp,gblfhfcs,ddddddd1,hakkinen,liverune,deathsta,misty123,suka123,recon1,inferno1,232629,polecat,sanibel,grouch,hitech,hamradio,rkfdbfnehf,vandam,nadin,fastlane,shlong,iddqdidkfa,ledzeppelin,sexyfeet,098123,stacey1,negras,roofing,lucifer1,ikarus,tgbyhn,melnik,barbaria,montego,twisted1,bigal1,jiggle,darkwolf,acerview,silvio,treetops,bishop1,iwanna,pornsite,happyme,gfccdjhl,114411,veritech,batterse,casey123,yhntgb,mailto,milli,guster,q12345678,coronet,sleuth,fuckmeha,armadill,kroshka,geordie,lastochka,pynchon,killall,tommy123,sasha1996,godslove,hikaru,clticic,cornbrea,vfkmdbyf,passmaster,123123123a,souris,nailer,diabolo,skipjack,martin12,hinata,mof6681,brookie,dogfight,johnso,karpov,326598,rfvbrflpt,travesti,caballer,galaxy1,wotan,antoha,art123,xakep1234,ricflair,pervert1,p00kie,ambulanc,santosh,berserker,larry33,bitch123,a987654321,dogstar,angel22,cjcbcrf,redhouse,toodles,gold123,hotspot,kennedy1,glock21,chosen1,schneide,mainman,taffy1,3ki42x,4zqauf,ranger2,4meonly,year2000,121212a,kfylsi,netzwerk,diese,picasso1,rerecz,225522,dastan,swimmer1,brooke1,blackbea,oneway,ruslana,dont4get,phidelt,chrisp,gjyxbr,xwing,kickme,shimmy,kimmy1,4815162342lost,qwerty5,fcporto,jazzbo,mierd,252627,basses,sr20det,00133,florin,howdy1,kryten,goshen,koufax,cichlid,imhotep,andyman,wrest666,saveme,dutchy,anonymou,semprini,siempre,mocha1,forest11,wildroid,aspen1,sesam,kfgekz,cbhbec,a55555,sigmanu,slash1,giggs11,vatech,marias,candy123,jericho1,kingme,123a123,drakula,cdjkjxm,mercur,oneman,hoseman,plumper,ilovehim,lancers,sergey1,takeshi,goodtogo,cranberr,ghjcnj123,harvick,qazxs,1972chev,horsesho,freedom3,letmein7,saitek,anguss,vfvfgfgfz,300000,elektro,toonporn,999111999q,mamuka,q9umoz,edelweis,subwoofer,bayside,disturbe,volition,lucky3,12345678z,3mpz4r,march1,atlantida,strekoza,seagrams,090909t,yy5rbfsc,jack1234,sammy12,sampras,mark12,eintrach,chaucer,lllll1,nochance,whitepower,197000,lbvekz,passer,torana,12345as,pallas,koolio,12qw34,nokia8800,findout,1thomas,mmmmm1,654987,mihaela,chinaman,superduper,donnas,ringo1,jeroen,gfdkjdf,professo,cdtnrf,tranmere,tanstaaf,himera,ukflbfnjh,667788,alex32,joschi,w123456,okidoki,flatline,papercli,super8,doris1,2good4u,4z34l0ts,pedigree,freeride,gsxr1100,wulfgar,benjie,ferdinan,king1,charlie7,djdxbr,fhntvbq,ripcurl,2wsx1qaz,kingsx,desade,sn00py,loveboat,rottie,evgesha,4money,dolittle,adgjmpt,buzzers,brett1,makita,123123qweqwe,rusalka,sluts1,123456e,jameson1,bigbaby,1z2z3z,ckjybr,love4u,fucker69,erhfbyf,jeanluc,farhad,fishfood,merkin,giant1,golf69,rfnfcnhjaf,camera1,stromb,smoothy,774411,nylon,juice1,rfn.irf,newyor,123456789t,marmot,star11,jennyff,jester1,hisashi,kumquat,alex777,helicopt,merkur,dehpye,cummin,zsmj2v,kristjan,april12,englan,honeypot,badgirls,uzumaki,keines,p12345,guita,quake1,duncan1,juicer,milkbone,hurtme,123456789b,qq123456789,schwein,p3wqaw,54132442,qwertyytrewq,andreeva,ruffryde,punkie,abfkrf,kristinka,anna1987,ooooo1,335533aa,umberto,amber123,456123789,456789123,beelch,manta,peeker,1112131415,3141592654,gipper,wrinkle5,katies,asd123456,james11,78n3s5af,michael0,daboss,jimmyb,hotdog1,david69,852123,blazed,sickan,eljefe,2n6wvq,gobills,rfhfcm,squeaker,cabowabo,luebri,karups,test01,melkor,angel777,smallvil,modano,olorin,4rkpkt,leslie1,koffie,shadows1,littleon,amiga1,topeka,summer20,asterix1,pitstop,aloysius,k12345,magazin,joker69,panocha,pass1word,1233214,ironpony,368ejhih,88keys,pizza123,sonali,57np39,quake2,1234567890qw,1020304,sword1,fynjif,abcde123,dfktyjr,rockys,grendel1,harley12,kokakola,super2,azathoth,lisa123,shelley1,girlss,ibragim,seven1,jeff24,1bigdick,dragan,autobot,t4nvp7,omega123,900000,hecnfv,889988,nitro1,doggie1,fatjoe,811pahc,tommyt,savage1,pallino,smitty1,jg3h4hfn,jamielee,1qazwsx,zx123456,machine1,asdfgh123,guinnes,789520,sharkman,jochen,legend1,sonic2,extreme1,dima12,photoman,123459876,nokian95,775533,vaz2109,april10,becks,repmvf,pooker,qwer12345,themaster,nabeel,monkey10,gogetit,hockey99,bbbbbbb1,zinedine,dolphin2,anelka,1superma,winter01,muggsy,horny2,669966,kuleshov,jesusis,calavera,bullet1,87t5hdf,sleepers,winkie,vespa,lightsab,carine,magister,1spider,shitbird,salavat,becca1,wc18c2,shirak,galactus,zaskar,barkley1,reshma,dogbreat,fullsail,asasa,boeder,12345ta,zxcvbnm12,lepton,elfquest,tony123,vkaxcs,savatage,sevilia1,badkitty,munkey,pebbles1,diciembr,qapmoc,gabriel2,1qa2ws3e,cbcmrb,welldone,nfyufh,kaizen,jack11,manisha,grommit,g12345,maverik,chessman,heythere,mixail,jjjjjjj1,sylvia1,fairmont,harve,skully,global1,youwish,pikachu1,badcat,zombie1,49527843,ultra1,redrider,offsprin,lovebird,153426,stymie,aq1sw2,sorrento,0000001,r3ady41t,webster1,95175,adam123,coonass,159487,slut1,gerasim,monkey99,slutwife,159963,1pass1page,hobiecat,bigtymer,all4you,maggie2,olamide,comcast1,infinit,bailee,vasileva,.ktxrf,asdfghjkl1,12345678912,setter,fuckyou7,nnagqx,lifesuck,draken,austi,feb2000,cable1,1234qwerasdf,hax0red,zxcv12,vlad7788,nosaj,lenovo,underpar,huskies1,lovegirl,feynman,suerte,babaloo,alskdjfhg,oldsmobi,bomber1,redrover,pupuce,methodman,phenom,cutegirl,countyli,gretsch,godisgood,bysunsu,hardhat,mironova,123qwe456rty,rusty123,salut,187211,555666777,11111z,mahesh,rjntyjxtr,br00klyn,dunce1,timebomb,bovine,makelove,littlee,shaven,rizwan,patrick7,42042042,bobbijo,rustem,buttmunc,dongle,tiger69,bluecat,blackhol,shirin,peaces,cherub,cubase,longwood,lotus7,gwju3g,bruin,pzaiu8,green11,uyxnyd,seventee,dragon5,tinkerbel,bluess,bomba,fedorova,joshua2,bodyshop,peluche,gbpacker,shelly1,d1i2m3a4,ghtpbltyn,talons,sergeevna,misato,chrisc,sexmeup,brend,olddog,davros,hazelnut,bridget1,hzze929b,readme,brethart,wild1,ghbdtnbr1,nortel,kinger,royal1,bucky1,allah1,drakkar,emyeuanh,gallaghe,hardtime,jocker,tanman,flavio,abcdef123,leviatha,squid1,skeet,sexse,123456x,mom4u4mm,lilred,djljktq,ocean11,cadaver,baxter1,808state,fighton,primavera,1andrew,moogle,limabean,goddess1,vitalya,blue56,258025,bullride,cicci,1234567d,connor1,gsxr11,oliveoil,leonard1,legsex,gavrik,rjnjgtc,mexicano,2bad4u,goodfellas,ornw6d,mancheste,hawkmoon,zlzfrh,schorsch,g9zns4,bashful,rossi46,stephie,rfhfntkm,sellout,123fuck,stewar1,solnze,00007,thor5200,compaq12,didit,bigdeal,hjlbyf,zebulon,wpf8eu,kamran,emanuele,197500,carvin,ozlq6qwm,3syqo15hil,pennys,epvjb6,asdfghjkl123,198000,nfbcbz,jazzer,asfnhg66,zoloft,albundy,aeiou,getlaid,planet1,gjkbyjxrf,alex2000,brianb,moveon,maggie11,eieio,vcradq,shaggy1,novartis,cocoloco,dunamis,554uzpad,sundrop,1qwertyu,alfie,feliks,briand,123www,red456,addams,fhntv1998,goodhead,theway,javaman,angel01,stratoca,lonsdale,15987532,bigpimpin,skater1,issue43,muffie,yasmina,slowride,crm114,sanity729,himmel,carolcox,bustanut,parabola,masterlo,computador,crackhea,dynastar,rockbott,doggysty,wantsome,bigten,gaelle,juicy1,alaska1,etower,sixnine,suntan,froggies,nokia7610,hunter11,njnets,alicante,buttons1,diosesamo,elizabeth1,chiron,trustnoo,amatuers,tinytim,mechta,sammy2,cthulu,trs8f7,poonam,m6cjy69u35,cookie12,blue25,jordans,santa1,kalinka,mikey123,lebedeva,12345689,kissss,queenbee,vjybnjh,ghostdog,cuckold,bearshare,rjcntyrj,alinochka,ghjcnjrdfibyj,aggie1,teens1,3qvqod,dauren,tonino,hpk2qc,iqzzt580,bears85,nascar88,theboy,njqcw4,masyanya,pn5jvw,intranet,lollone,shadow99,00096462,techie,cvtifhbrb,redeemed,gocanes,62717315,topman,intj3a,cobrajet,antivirus,whyme,berserke,ikilz083,airedale,brandon2,hopkig,johanna1,danil8098,gojira,arthu,vision1,pendragon,milen,chrissie,vampiro,mudder,chris22,blowme69,omega7,surfers,goterps,italy1,baseba11,diego1,gnatsum,birdies,semenov,joker123,zenit2011,wojtek,cab4ma99,watchmen,damia,forgotte,fdm7ed,strummer,freelanc,cingular,orange77,mcdonalds,vjhjpjdf,kariya,tombston,starlet,hawaii1,dantheman,megabyte,nbvjirf,anjing,ybrjkftdbx,hotmom,kazbek,pacific1,sashimi,asd12,coorslig,yvtte545,kitte,elysium,klimenko,cobblers,kamehameha,only4me,redriver,triforce,sidorov,vittoria,fredi,dank420,m1234567,fallout2,989244342a,crazy123,crapola,servus,volvos,1scooter,griffin1,autopass,ownzyou,deviant,george01,2kgwai,boeing74,simhrq,hermosa,hardcor,griffy,rolex1,hackme,cuddles1,master3,bujhtr,aaron123,popolo,blader,1sexyred,gerry1,cronos,ffvdj474,yeehaw,bob1234,carlos2,mike77,buckwheat,ramesh,acls2h,monster2,montess,11qq22ww,lazer,zx123456789,chimpy,masterch,sargon,lochness,archana,1234qwert,hbxfhl,sarahb,altoid,zxcvbn12,dakot,caterham,dolomite,chazz,r29hqq,longone,pericles,grand1,sherbert,eagle3,pudge,irontree,synapse,boome,nogood,summer2,pooki,gangsta1,mahalkit,elenka,lbhtrnjh,dukedog,19922991,hopkins1,evgenia,domino1,x123456,manny1,tabbycat,drake1,jerico,drahcir,kelly2,708090a,facesit,11c645df,mac123,boodog,kalani,hiphop1,critters,hellothere,tbirds,valerka,551scasi,love777,paloalto,mrbrown,duke3d,killa1,arcturus,spider12,dizzy1,smudger,goddog,75395,spammy,1357997531,78678,datalife,zxcvbn123,1122112211,london22,23dp4x,rxmtkp,biggirls,ownsu,lzbs2twz,sharps,geryfe,237081a,golakers,nemesi,sasha1995,pretty1,mittens1,d1lakiss,speedrac,gfhjkmm,sabbat,hellrais,159753258,qwertyuiop123,playgirl,crippler,salma,strat1,celest,hello5,omega5,cheese12,ndeyl5,edward12,soccer3,cheerio,davido,vfrcbr,gjhjctyjr,boscoe,inessa,shithole,ibill,qwepoi,201jedlz,asdlkj,davidk,spawn2,ariel1,michael4,jamie123,romantik,micro1,pittsbur,canibus,katja,muhtar,thomas123,studboy,masahiro,rebrov,patrick8,hotboys,sarge1,1hammer,nnnnn1,eistee,datalore,jackdani,sasha2010,mwq6qlzo,cmfnpu,klausi,cnhjbntkm,andrzej,ilovejen,lindaa,hunter123,vvvvv1,novembe,hamster1,x35v8l,lacey1,1silver,iluvporn,valter,herson,alexsandr,cojones,backhoe,womens,777angel,beatit,klingon1,ta8g4w,luisito,benedikt,maxwel,inspecto,zaq12ws,wladimir,bobbyd,peterj,asdfg12,hellspawn,bitch69,nick1234,golfer23,sony123,jello1,killie,chubby1,kodaira52,yanochka,buckfast,morris1,roaddogg,snakeeye,sex1234,mike22,mmouse,fucker11,dantist,brittan,vfrfhjdf,doc123,plokijuh,emerald1,batman01,serafim,elementa,soccer9,footlong,cthuttdbx,hapkido,eagle123,getsmart,getiton,batman2,masons,mastiff,098890,cfvfhf,james7,azalea,sherif,saun24865709,123red,cnhtrjpf,martina1,pupper,michael5,alan12,shakir,devin1,ha8fyp,palom,mamulya,trippy,deerhunter,happyone,monkey77,3mta3,123456789f,crownvic,teodor,natusik,0137485,vovchik,strutter,triumph1,cvetok,moremone,sonnen,screwbal,akira1,sexnow,pernille,independ,poopies,samapi,kbcbxrf,master22,swetlana,urchin,viper2,magica,slurpee,postit,gilgames,kissarmy,clubpenguin,limpbizk,timber1,celin,lilkim,fuckhard,lonely1,mom123,goodwood,extasy,sdsadee23,foxglove,malibog,clark1,casey2,shell1,odense,balefire,dcunited,cubbie,pierr,solei,161718,bowling1,areyukesc,batboy,r123456,1pionee,marmelad,maynard1,cn42qj,cfvehfq,heathrow,qazxcvbn,connecti,secret123,newfie,xzsawq21,tubitzen,nikusha,enigma1,yfcnz123,1austin,michaelc,splunge,wanger,phantom2,jason2,pain4me,primetime21,babes1,liberte,sugarray,undergro,zonker,labatts,djhjyf,watch1,eagle5,madison2,cntgfirf,sasha2,masterca,fiction7,slick50,bruins1,sagitari,12481632,peniss,insuranc,2b8riedt,12346789,mrclean,ssptx452,tissot,q1w2e3r4t5y6u7,avatar1,comet1,spacer,vbrjkf,pass11,wanker1,14vbqk9p,noshit,money4me,sayana,fish1234,seaways,pipper,romeo123,karens,wardog,ab123456,gorilla1,andrey123,lifesucks,jamesr,4wcqjn,bearman,glock22,matt11,dflbvrf,barbi,maine1,dima1997,sunnyboy,6bjvpe,bangkok1,666666q,rafiki,letmein0,0raziel0,dalla,london99,wildthin,patrycja,skydog,qcactw,tmjxn151,yqlgr667,jimmyd,stripclub,deadwood,863abgsg,horses1,qn632o,scatman,sonia1,subrosa,woland,kolya,charlie4,moleman,j12345,summer11,angel11,blasen,sandal,mynewpas,retlaw,cambria,mustang4,nohack04,kimber45,fatdog,maiden1,bigload,necron,dupont24,ghost123,turbo2,.ktymrf,radagast,balzac,vsevolod,pankaj,argentum,2bigtits,mamabear,bumblebee,mercury7,maddie1,chomper,jq24nc,snooky,pussylic,1lovers,taltos,warchild,diablo66,jojo12,sumerki,aventura,gagger,annelies,drumset,cumshots,azimut,123580,clambake,bmw540,birthday54,psswrd,paganini,wildwest,filibert,teaseme,1test,scampi,thunder5,antosha,purple12,supersex,hhhhhh1,brujah,111222333a,13579a,bvgthfnjh,4506802a,killians,choco,qqqwwweee,raygun,1grand,koetsu13,sharp1,mimi92139,fastfood,idontcare,bluered,chochoz,4z3al0ts,target1,sheffiel,labrat,stalingrad,147123,cubfan,corvett1,holden1,snapper1,4071505,amadeo,pollo,desperados,lovestory,marcopolo,mumbles,familyguy,kimchee,marcio,support1,tekila,shygirl1,trekkie,submissi,ilaria,salam,loveu,wildstar,master69,sales1,netware,homer2,arseniy,gerrity1,raspberr,atreyu,stick1,aldric,tennis12,matahari,alohomora,dicanio,michae1,michaeld,666111,luvbug,boyscout,esmerald,mjordan,admiral1,steamboa,616913,ybhdfyf,557711,555999,sunray,apokalipsis,theroc,bmw330,buzzy,chicos,lenusik,shadowma,eagles05,444222,peartree,qqq123,sandmann,spring1,430799,phatass,andi03,binky1,arsch,bamba,kenny123,fabolous,loser123,poop12,maman,phobos,tecate,myxworld4,metros,cocorico,nokia6120,johnny69,hater,spanked,313233,markos,love2011,mozart1,viktoriy,reccos,331234,hornyone,vitesse,1um83z,55555q,proline,v12345,skaven,alizee,bimini,fenerbahce,543216,zaqqaz,poi123,stabilo,brownie1,1qwerty1,dinesh,baggins1,1234567t,davidkin,friend1,lietuva,octopuss,spooks,12345qq,myshit,buttface,paradoxx,pop123,golfin,sweet69,rfghbp,sambuca,kayak1,bogus1,girlz,dallas12,millers,123456zx,operatio,pravda,eternal1,chase123,moroni,proust,blueduck,harris1,redbarch,996699,1010101,mouche,millenni,1123456,score1,1234565,1234576,eae21157,dave12,pussyy,gfif1991,1598741,hoppy,darrian,snoogins,fartface,ichbins,vfkbyrf,rusrap,2741001,fyfrjylf,aprils,favre,thisis,bannana,serval,wiggum,satsuma,matt123,ivan123,gulmira,123zxc123,oscar2,acces,annie2,dragon0,emiliano,allthat,pajaro,amandine,rawiswar,sinead,tassie,karma1,piggys,nokias,orions,origami,type40,mondo,ferrets,monker,biteme2,gauntlet,arkham,ascona,ingram01,klem1,quicksil,bingo123,blue66,plazma,onfire,shortie,spjfet,123963,thered,fire777,lobito,vball,1chicken,moosehea,elefante,babe23,jesus12,parallax,elfstone,number5,shrooms,freya,hacker1,roxette,snoops,number7,fellini,dtlmvf,chigger,mission1,mitsubis,kannan,whitedog,james01,ghjgecr,rfnfgekmnf,everythi,getnaked,prettybo,sylvan,chiller,carrera4,cowbo,biochem,azbuka,qwertyuiop1,midnight1,informat,audio1,alfred1,0range,sucker1,scott2,russland,1eagle,torben,djkrjlfd,rocky6,maddy1,bonobo,portos,chrissi,xjznq5,dexte,vdlxuc,teardrop,pktmxr,iamtheone,danijela,eyphed,suzuki1,etvww4,redtail,ranger11,mowerman,asshole2,coolkid,adriana1,bootcamp,longcut,evets,npyxr5,bighurt,bassman1,stryder,giblet,nastja,blackadd,topflite,wizar,cumnow,technolo,bassboat,bullitt,kugm7b,maksimus,wankers,mine12,sunfish,pimpin1,shearer9,user1,vjzgjxnf,tycobb,80070633pc,stanly,vitaly,shirley1,cinzia,carolyn1,angeliqu,teamo,qdarcv,aa123321,ragdoll,bonit,ladyluck,wiggly,vitara,jetbalance,12345600,ozzman,dima12345,mybuddy,shilo,satan66,erebus,warrio,090808qwe,stupi,bigdan,paul1234,chiapet,brooks1,philly1,dually,gowest,farmer1,1qa2ws3ed4rf,alberto1,beachboy,barne,aa12345,aliyah,radman,benson1,dfkthbq,highball,bonou2,i81u812,workit,darter,redhook,csfbr5yy,buttlove,episode1,ewyuza,porthos,lalal,abcd12,papero,toosexy,keeper1,silver7,jujitsu,corset,pilot123,simonsay,pinggolf,katerinka,kender,drunk1,fylhjvtlf,rashmi,nighthawk,maggy,juggernaut,larryb,cabibble,fyabcf,247365,gangstar,jaybee,verycool,123456789qw,forbidde,prufrock,12345zxc,malaika,blackbur,docker,filipe,koshechka,gemma1,djamaal,dfcbkmtdf,gangst,9988aa,ducks1,pthrfkj,puertorico,muppets,griffins,whippet,sauber,timofey,larinso,123456789zxc,quicken,qsefth,liteon,headcase,bigdadd,zxc321,maniak,jamesc,bassmast,bigdogs,1girls,123xxx,trajan,lerochka,noggin,mtndew,04975756,domin,wer123,fumanchu,lambada,thankgod,june22,kayaking,patchy,summer10,timepass,poiu1234,kondor,kakka,lament,zidane10,686xqxfg,l8v53x,caveman1,nfvthkfy,holymoly,pepita,alex1996,mifune,fighter1,asslicker,jack22,abc123abc,zaxxon,midnigh,winni,psalm23,punky,monkey22,password13,mymusic,justyna,annushka,lucky5,briann,495rus19,withlove,almaz,supergir,miata,bingbong,bradpitt,kamasutr,yfgjktjy,vanman,pegleg,amsterdam1,123a321,letmein9,shivan,korona,bmw520,annette1,scotsman,gandal,welcome12,sc00by,qpwoei,fred69,m1sf1t,hamburg1,1access,dfkmrbhbz,excalibe,boobies1,fuckhole,karamel,starfuck,star99,breakfas,georgiy,ywvxpz,smasher,fatcat1,allanon,12345n,coondog,whacko,avalon1,scythe,saab93,timon,khorne,atlast,nemisis,brady12,blenheim,52678677,mick7278,9skw5g,fleetwoo,ruger1,kissass,pussy7,scruff,12345l,bigfun,vpmfsz,yxkck878,evgeny,55667788,lickher,foothill,alesis,poppies,77777778,californi,mannie,bartjek,qhxbij,thehulk,xirt2k,angelo4ek,rfkmrekznjh,tinhorse,1david,sparky12,night1,luojianhua,bobble,nederland,rosemari,travi,minou,ciscokid,beehive,565hlgqo,alpine1,samsung123,trainman,xpress,logistic,vw198m2n,hanter,zaqwsx123,qwasz,mariachi,paska,kmg365,kaulitz,sasha12,north1,polarbear,mighty1,makeksa11,123456781,one4all,gladston,notoriou,polniypizdec110211,gosia,grandad,xholes,timofei,invalidp,speaker1,zaharov,maggiema,loislane,gonoles,br5499,discgolf,kaskad,snooper,newman1,belial,demigod,vicky1,pridurok,alex1990,tardis1,cruzer,hornie,sacramen,babycat,burunduk,mark69,oakland1,me1234,gmctruck,extacy,sexdog,putang,poppen,billyd,1qaz2w,loveable,gimlet,azwebitalia,ragtop,198500,qweas,mirela,rock123,11bravo,sprewell,tigrenok,jaredleto,vfhbif,blue2,rimjob,catwalk,sigsauer,loqse,doromich,jack01,lasombra,jonny5,newpassword,profesor,garcia1,123as123,croucher,demeter,4_life,rfhfvtkm,superman2,rogues,assword1,russia1,jeff1,mydream,z123456789,rascal1,darre,kimberl,pickle1,ztmfcq,ponchik,lovesporn,hikari,gsgba368,pornoman,chbjun,choppy,diggity,nightwolf,viktori,camar,vfhecmrf,alisa1,minstrel,wishmaster,mulder1,aleks,gogirl,gracelan,8womys,highwind,solstice,dbrnjhjdyf,nightman,pimmel,beertje,ms6nud,wwfwcw,fx3tuo,poopface,asshat,dirtyd,jiminy,luv2fuck,ptybnxtvgbjy,dragnet,pornogra,10inch,scarlet1,guido1,raintree,v123456,1aaaaaaa,maxim1935,hotwater,gadzooks,playaz,harri,brando1,defcon1,ivanna,123654a,arsenal2,candela,nt5d27,jaime1,duke1,burton1,allstar1,dragos,newpoint,albacore,1236987z,verygoodbot,1wildcat,fishy1,ptktysq,chris11,puschel,itdxtyrj,7kbe9d,serpico,jazzie,1zzzzz,kindbuds,wenef45313,1compute,tatung,sardor,gfyfcjybr,test99,toucan,meteora,lysander,asscrack,jowgnx,hevnm4,suckthis,masha123,karinka,marit,oqglh565,dragon00,vvvbbb,cheburashka,vfrfrf,downlow,unforgiven,p3e85tr,kim123,sillyboy,gold1,golfvr6,quicksan,irochka,froglegs,shortsto,caleb1,tishka,bigtitts,smurfy,bosto,dropzone,nocode,jazzbass,digdug,green7,saltlake,therat,dmitriev,lunita,deaddog,summer0,1212qq,bobbyg,mty3rh,isaac1,gusher,helloman,sugarbear,corvair,extrem,teatime,tujazopi,titanik,efyreg,jo9k2jw2,counchac,tivoli,utjvtnhbz,bebit,jacob6,clayton1,incubus1,flash123,squirter,dima2010,cock1,rawks,komatsu,forty2,98741236,cajun1,madelein,mudhoney,magomed,q111111,qaswed,consense,12345b,bakayaro,silencer,zoinks,bigdic,werwolf,pinkpuss,96321478,alfie1,ali123,sarit,minette,musics,chato,iaapptfcor,cobaka,strumpf,datnigga,sonic123,yfnecbr,vjzctvmz,pasta1,tribbles,crasher,htlbcrf,1tiger,shock123,bearshar,syphon,a654321,cubbies1,jlhanes,eyespy,fucktheworld,carrie1,bmw325is,suzuk,mander,dorina,mithril,hondo1,vfhnbyb,sachem,newton1,12345x,7777755102q,230857z,xxxsex,scubapro,hayastan,spankit,delasoul,searock6,fallout3,nilrem,24681357,pashka,voluntee,pharoh,willo,india1,badboy69,roflmao,gunslinger,lovergir,mama12,melange,640xwfkv,chaton,darkknig,bigman1,aabbccdd,harleyd,birdhouse,giggsy,hiawatha,tiberium,joker7,hello1234,sloopy,tm371855,greendog,solar1,bignose,djohn11,espanol,oswego,iridium,kavitha,pavell,mirjam,cyjdsvujljv,alpha5,deluge,hamme,luntik,turismo,stasya,kjkbnf,caeser,schnecke,tweety1,tralfaz,lambrett,prodigy1,trstno1,pimpshit,werty1,karman,bigboob,pastel,blackmen,matthew8,moomin,q1w2e,gilly,primaver,jimmyg,house2,elviss,15975321,1jessica,monaliza,salt55,vfylfhbyrf,harley11,tickleme,murder1,nurgle,kickass1,theresa1,fordtruck,pargolf,managua,inkognito,sherry1,gotit,friedric,metro2033,slk230,freeport,cigarett,492529,vfhctkm,thebeach,twocats,bakugan,yzerman1,charlieb,motoko,skiman,1234567w,pussy3,love77,asenna,buffie,260zntpc,kinkos,access20,mallard1,fuckyou69,monami,rrrrr1,bigdog69,mikola,1boomer,godzila,ginger2,dima2000,skorpion39,dima1234,hawkdog79,warrior2,ltleirf,supra1,jerusale,monkey01,333z333,666888,kelsey1,w8gkz2x1,fdfnfh,msnxbi,qwe123rty,mach1,monkey3,123456789qq,c123456,nezabudka,barclays,nisse,dasha1,12345678987654321,dima1993,oldspice,frank2,rabbitt,prettyboy,ov3ajy,iamthema,kawasak,banjo1,gtivr6,collants,gondor,hibees,cowboys2,codfish,buster2,purzel,rubyred,kayaker,bikerboy,qguvyt,masher,sseexx,kenshiro,moonglow,semenova,rosari,eduard1,deltaforce,grouper,bongo1,tempgod,1taylor,goldsink,qazxsw1,1jesus,m69fg2w,maximili,marysia,husker1,kokanee,sideout,googl,south1,plumber1,trillian,00001,1357900,farkle,1xxxxx,pascha,emanuela,bagheera,hound1,mylov,newjersey,swampfox,sakic19,torey,geforce,wu4etd,conrail,pigman,martin2,ber02,nascar2,angel69,barty,kitsune,cornet,yes90125,goomba,daking,anthea,sivart,weather1,ndaswf,scoubidou,masterchief,rectum,3364068,oranges1,copter,1samanth,eddies,mimoza,ahfywbz,celtic88,86mets,applemac,amanda11,taliesin,1angel,imhere,london11,bandit12,killer666,beer1,06225930,psylocke,james69,schumach,24pnz6kc,endymion,wookie1,poiu123,birdland,smoochie,lastone,rclaki,olive1,pirat,thunder7,chris69,rocko,151617,djg4bb4b,lapper,ajcuivd289,colole57,shadow7,dallas21,ajtdmw,executiv,dickies,omegaman,jason12,newhaven,aaaaaas,pmdmscts,s456123789,beatri,applesauce,levelone,strapon,benladen,creaven,ttttt1,saab95,f123456,pitbul,54321a,sex12345,robert3,atilla,mevefalkcakk,1johnny,veedub,lilleke,nitsuj,5t6y7u8i,teddys,bluefox,nascar20,vwjetta,buffy123,playstation3,loverr,qweasd12,lover2,telekom,benjamin1,alemania,neutrino,rockz,valjean,testicle,trinity3,realty,firestarter,794613852,ardvark,guadalup,philmont,arnold1,holas,zw6syj,birthday299,dover1,sexxy1,gojets,741236985,cance,blue77,xzibit,qwerty88,komarova,qweszxc,footer,rainger,silverst,ghjcnb,catmando,tatooine,31217221027711,amalgam,69dude,qwerty321,roscoe1,74185,cubby,alfa147,perry1,darock,katmandu,darknight,knicks1,freestuff,45454,kidman,4tlved,axlrose,cutie1,quantum1,joseph10,ichigo,pentium3,rfhectkm,rowdy1,woodsink,justforfun,sveta123,pornografia,mrbean,bigpig,tujheirf,delta9,portsmou,hotbod,kartal,10111213,fkbyf001,pavel1,pistons1,necromancer,verga,c7lrwu,doober,thegame1,hatesyou,sexisfun,1melissa,tuczno18,bowhunte,gobama,scorch,campeon,bruce2,fudge1,herpderp,bacon1,redsky,blackeye,19966991,19992000,ripken8,masturba,34524815,primax,paulina1,vp6y38,427cobra,4dwvjj,dracon,fkg7h4f3v6,longview,arakis,panama1,honda2,lkjhgfdsaz,razors,steels,fqkw5m,dionysus,mariajos,soroka,enriqu,nissa,barolo,king1234,hshfd4n279,holland1,flyer1,tbones,343104ky,modems,tk421,ybrbnrf,pikapp,sureshot,wooddoor,florida2,mrbungle,vecmrf,catsdogs,axolotl,nowayout,francoi,chris21,toenail,hartland,asdjkl,nikkii,onlyyou,buckskin,fnord,flutie,holen1,rincewind,lefty1,ducky1,199000,fvthbrf,redskin1,ryno23,lostlove,19mtpgam19,abercrom,benhur,jordan11,roflcopter,ranma,phillesh,avondale,igromania,p4ssword,jenny123,tttttt1,spycams,cardigan,2112yyz,sleepy1,paris123,mopars,lakers34,hustler1,james99,matrix3,popimp,12pack,eggbert,medvedev,testit,performa,logitec,marija,sexybeast,supermanboy,iwantit,rjktcj,jeffer,svarog,halo123,whdbtp,nokia3230,heyjoe,marilyn1,speeder,ibxnsm,prostock,bennyboy,charmin,codydog,parol999,ford9402,jimmer,crayola,159357258,alex77,joey1,cayuga,phish420,poligon,specops,tarasova,caramelo,draconis,dimon,cyzkhw,june29,getbent,1guitar,jimjam,dictiona,shammy,flotsam,0okm9ijn,crapper,technic,fwsadn,rhfdxtyrj,zaq11qaz,anfield1,159753q,curious1,hip-hop,1iiiii,gfhjkm2,cocteau,liveevil,friskie,crackhead,b1afra,elektrik,lancer1,b0ll0cks,jasond,z1234567,tempest1,alakazam,asdfasd,duffy1,oneday,dinkle,qazedctgb,kasimir,happy7,salama,hondaciv,nadezda,andretti,cannondale,sparticu,znbvjd,blueice,money01,finster,eldar,moosie,pappa,delta123,neruda,bmw330ci,jeanpaul,malibu1,alevtina,sobeit,travolta,fullmetal,enamorad,mausi,boston12,greggy,smurf1,ratrace,ichiban,ilovepus,davidg,wolf69,villa1,cocopuff,football12,starfury,zxc12345,forfree,fairfiel,dreams1,tayson,mike2,dogday,hej123,oldtimer,sanpedro,clicker,mollycat,roadstar,golfe,lvbnhbq1,topdevice,a1b2c,sevastopol,calli,milosc,fire911,pink123,team3x,nolimit5,snickers1,annies,09877890,jewel1,steve69,justin11,autechre,killerbe,browncow,slava1,christer,fantomen,redcloud,elenberg,beautiful1,passw0rd1,nazira,advantag,cockring,chaka,rjpzdrf,99941,az123456,biohazar,energie,bubble1,bmw323,tellme,printer1,glavine,1starwar,coolbeans,april17,carly1,quagmire,admin2,djkujuhfl,pontoon,texmex,carlos12,thermo,vaz2106,nougat,bob666,1hockey,1john,cricke,qwerty10,twinz,totalwar,underwoo,tijger,lildevil,123q321,germania,freddd,1scott,beefy,5t4r3e2w1q,fishbait,nobby,hogger,dnstuff,jimmyc,redknapp,flame1,tinfloor,balla,nfnfhby,yukon1,vixens,batata,danny123,1zxcvbnm,gaetan,homewood,greats,tester1,green99,1fucker,sc0tland,starss,glori,arnhem,goatman,1234asd,supertra,bill123,elguapo,sexylegs,jackryan,usmc69,innow,roaddog,alukard,winter11,crawler,gogiants,rvd420,alessandr,homegrow,gobbler,esteba,valeriy,happy12,1joshua,hawking,sicnarf,waynes,iamhappy,bayadera,august2,sashas,gotti,dragonfire,pencil1,halogen,borisov,bassingw,15975346,zachar,sweetp,soccer99,sky123,flipyou,spots3,xakepy,cyclops1,dragon77,rattolo58,motorhea,piligrim,helloween,dmb2010,supermen,shad0w,eatcum,sandokan,pinga,ufkfrnbrf,roksana,amista,pusser,sony1234,azerty1,1qasw2,ghbdt,q1w2e3r4t5y6u7i8,ktutylf,brehznev,zaebali,shitass,creosote,gjrtvjy,14938685,naughtyboy,pedro123,21crack,maurice1,joesakic,nicolas1,matthew9,lbyfhf,elocin,hfcgbplzq,pepper123,tiktak,mycroft,ryan11,firefly1,arriva,cyecvevhbr,loreal,peedee,jessica8,lisa01,anamari,pionex,ipanema,airbag,frfltvbz,123456789aa,epwr49,casper12,sweethear,sanandreas,wuschel,cocodog,france1,119911,redroses,erevan,xtvgbjy,bigfella,geneve,volvo850,evermore,amy123,moxie,celebs,geeman,underwor,haslo1,joy123,hallow,chelsea0,12435687,abarth,12332145,tazman1,roshan,yummie,genius1,chrisd,ilovelife,seventy7,qaz1wsx2,rocket88,gaurav,bobbyboy,tauchen,roberts1,locksmit,masterof,www111,d9ungl,volvos40,asdasd1,golfers,jillian1,7xm5rq,arwpls4u,gbhcf2,elloco,football2,muerte,bob101,sabbath1,strider1,killer66,notyou,lawnboy,de7mdf,johnnyb,voodoo2,sashaa,homedepo,bravos,nihao123,braindea,weedhead,rajeev,artem1,camille1,rockss,bobbyb,aniston,frnhbcf,oakridge,biscayne,cxfcnm,dressage,jesus3,kellyann,king69,juillet,holliste,h00ters,ripoff,123645,1999ar,eric12,123777,tommi,dick12,bilder,chris99,rulezz,getpaid,chicubs,ender1,byajhvfnbrf,milkshak,sk8board,freakshow,antonella,monolit,shelb,hannah01,masters1,pitbull1,1matthew,luvpussy,agbdlcid,panther2,alphas,euskadi,8318131,ronnie1,7558795,sweetgirl,cookie59,sequoia,5552555,ktyxbr,4500455,money7,severus,shinobu,dbityrf,phisig,rogue2,fractal,redfred,sebastian1,nelli,b00mer,cyberman,zqjphsyf6ctifgu,oldsmobile,redeemer,pimpi,lovehurts,1slayer,black13,rtynfdh,airmax,g00gle,1panther,artemon,nopasswo,fuck1234,luke1,trinit,666000,ziadma,oscardog,davex,hazel1,isgood,demond,james5,construc,555551,january2,m1911a1,flameboy,merda,nathan12,nicklaus,dukester,hello99,scorpio7,leviathan,dfcbktr,pourquoi,vfrcbv123,shlomo,rfcgth,rocky3,ignatz,ajhneyf,roger123,squeek,4815162342a,biskit,mossimo,soccer21,gridlock,lunker,popstar,ghhh47hj764,chutney,nitehawk,vortec,gamma1,codeman,dragula,kappasig,rainbow2,milehigh,blueballs,ou8124me,rulesyou,collingw,mystere,aster,astrovan,firetruck,fische,crawfish,hornydog,morebeer,tigerpaw,radost,144000,1chance,1234567890qwe,gracie1,myopia,oxnard,seminoles,evgeni,edvard,partytim,domani,tuffy1,jaimatadi,blackmag,kzueirf,peternor,mathew1,maggie12,henrys,k1234567,fasted,pozitiv,cfdtkbq,jessica7,goleafs,bandito,girl78,sharingan,skyhigh,bigrob,zorros,poopers,oldschoo,pentium2,gripper,norcal,kimba,artiller,moneymak,00197400,272829,shadow1212,thebull,handbags,all4u2c,bigman2,civics,godisgoo,section8,bandaid,suzanne1,zorba,159123,racecars,i62gbq,rambo123,ironroad,johnson2,knobby,twinboys,sausage1,kelly69,enter2,rhjirf,yessss,james12,anguilla,boutit,iggypop,vovochka,06060,budwiser,romuald,meditate,good1,sandrin,herkules,lakers8,honeybea,11111111a,miche,rangers9,lobster1,seiko,belova,midcon,mackdadd,bigdaddy1,daddie,sepultur,freddy12,damon1,stormy1,hockey2,bailey12,hedimaptfcor,dcowboys,sadiedog,thuggin,horny123,josie1,nikki2,beaver69,peewee1,mateus,viktorija,barrys,cubswin1,matt1234,timoxa,rileydog,sicilia,luckycat,candybar,julian1,abc456,pussylip,phase1,acadia,catty,246800,evertonf,bojangle,qzwxec,nikolaj,fabrizi,kagome,noncapa0,marle,popol,hahaha1,cossie,carla10,diggers,spankey,sangeeta,cucciolo,breezer,starwar1,cornholio,rastafari,spring99,yyyyyyy1,webstar,72d5tn,sasha1234,inhouse,gobuffs,civic1,redstone,234523,minnie1,rivaldo,angel5,sti2000,xenocide,11qq11,1phoenix,herman1,holly123,tallguy,sharks1,madri,superbad,ronin,jalal123,hardbody,1234567r,assman1,vivahate,buddylee,38972091,bonds25,40028922,qrhmis,wp2005,ceejay,pepper01,51842543,redrum1,renton,varadero,tvxtjk7r,vetteman,djhvbrc,curly1,fruitcak,jessicas,maduro,popmart,acuari,dirkpitt,buick1,bergerac,golfcart,pdtpljxrf,hooch1,dudelove,d9ebk7,123452000,afdjhbn,greener,123455432,parachut,mookie12,123456780,jeepcj5,potatoe,sanya,qwerty2010,waqw3p,gotika,freaky1,chihuahu,buccanee,ecstacy,crazyboy,slickric,blue88,fktdnbyf,2004rj,delta4,333222111,calient,ptbdhw,1bailey,blitz1,sheila1,master23,hoagie,pyf8ah,orbita,daveyboy,prono1,delta2,heman,1horny,tyrik123,ostrov,md2020,herve,rockfish,el546218,rfhbyjxrf,chessmaster,redmoon,lenny1,215487,tomat,guppy,amekpass,amoeba,my3girls,nottingh,kavita,natalia1,puccini,fabiana,8letters,romeos,netgear,casper2,taters,gowings,iforgot1,pokesmot,pollit,lawrun,petey1,rosebuds,007jr,gthtcnhjqrf,k9dls02a,neener,azertyu,duke11,manyak,tiger01,petros,supermar,mangas,twisty,spotter,takagi,dlanod,qcmfd454,tusymo,zz123456,chach,navyblue,gilbert1,2kash6zq,avemaria,1hxboqg2s,viviane,lhbjkjubz2957704,nowwowtg,1a2b3c4,m0rn3,kqigb7,superpuper,juehtw,gethigh,theclown,makeme,pradeep,sergik,deion21,nurik,devo2706,nbvibt,roman222,kalima,nevaeh,martin7,anathema,florian1,tamwsn3sja,dinmamma,133159,123654q,slicks,pnp0c08,yojimbo,skipp,kiran,pussyfuck,teengirl,apples12,myballs,angeli,1234a,125678,opelastra,blind1,armagedd,fish123,pitufo,chelseaf,thedevil,nugget1,cunt69,beetle1,carter15,apolon,collant,password00,fishboy,djkrjdf,deftone,celti,three11,cyrus1,lefthand,skoal1,ferndale,aries1,fred01,roberta1,chucks,cornbread,lloyd1,icecrea,cisco123,newjerse,vfhrbpf,passio,volcom1,rikimaru,yeah11,djembe,facile,a1l2e3x4,batman7,nurbol,lorenzo1,monica69,blowjob1,998899,spank1,233391,n123456,1bear,bellsout,999998,celtic67,sabre1,putas,y9enkj,alfabeta,heatwave,honey123,hard4u,insane1,xthysq,magnum1,lightsaber,123qweqwe,fisher1,pixie1,precios,benfic,thegirls,bootsman,4321rewq,nabokov,hightime,djghjc,1chelsea,junglist,august16,t3fkvkmj,1232123,lsdlsd12,chuckie1,pescado,granit,toogood,cathouse,natedawg,bmw530,123kid,hajime,198400,engine1,wessonnn,kingdom1,novembre,1rocks,kingfisher,qwerty89,jordan22,zasranec,megat,sucess,installutil,fetish01,yanshi1982,1313666,1314520,clemence,wargod,time1,newzealand,snaker,13324124,cfrehf,hepcat,mazahaka,bigjay,denisov,eastwest,1yellow,mistydog,cheetos,1596357,ginger11,mavrik,bubby1,bhbyf,pyramide,giusepp,luthien,honda250,andrewjackie,kentavr,lampoon,zaq123wsx,sonicx,davidh,1ccccc,gorodok,windsong,programm,blunt420,vlad1995,zxcvfdsa,tarasov,mrskin,sachas,mercedes1,koteczek,rawdog,honeybear,stuart1,kaktys,richard7,55555n,azalia,hockey10,scouter,francy,1xxxxxx,julie456,tequilla,penis123,schmoe,tigerwoods,1ferrari,popov,snowdrop,matthieu,smolensk,cornflak,jordan01,love2000,23wesdxc,kswiss,anna2000,geniusnet,baby2000,33ds5x,waverly,onlyone4,networkingpe,raven123,blesse,gocards,wow123,pjflkork,juicey,poorboy,freeee,billybo,shaheen,zxcvbnm.,berlit,truth1,gepard,ludovic,gunther1,bobby2,bob12345,sunmoon,septembr,bigmac1,bcnjhbz,seaking,all4u,12qw34er56ty,bassie,nokia5228,7355608,sylwia,charvel,billgate,davion,chablis,catsmeow,kjiflrf,amylynn,rfvbkkf,mizredhe,handjob,jasper12,erbol,solara,bagpipe,biffer,notime,erlan,8543852,sugaree,oshkosh,fedora,bangbus,5lyedn,longball,teresa1,bootyman,aleksand,qazwsxedc12,nujbhc,tifosi,zpxvwy,lights1,slowpoke,tiger12,kstate,password10,alex69,collins1,9632147,doglover,baseball2,security1,grunts,orange2,godloves,213qwe879,julieb,1qazxsw23edcvfr4,noidea,8uiazp,betsy1,junior2,parol123,123456zz,piehonkii,kanker,bunky,hingis,reese1,qaz123456,sidewinder,tonedup,footsie,blackpoo,jalapeno,mummy1,always1,josh1,rockyboy,plucky,chicag,nadroj,blarney,blood123,wheaties,packer1,ravens1,mrjones,gfhjkm007,anna2010,awatar,guitar12,hashish,scale1,tomwaits,amrita,fantasma,rfpfym,pass2,tigris,bigair,slicker,sylvi,shilpa,cindylou,archie1,bitches1,poppys,ontime,horney1,camaroz28,alladin,bujhm,cq2kph,alina1,wvj5np,1211123a,tetons,scorelan,concordi,morgan2,awacs,shanty,tomcat14,andrew123,bear69,vitae,fred99,chingy,octane,belgario,fatdaddy,rhodan,password23,sexxes,boomtown,joshua01,war3demo,my2kids,buck1,hot4you,monamour,12345aa,yumiko,parool,carlton1,neverland,rose12,right1,sociald,grouse,brandon0,cat222,alex00,civicex,bintang,malkav,arschloc,dodgeviper,qwerty666,goduke,dante123,boss1,ontheroc,corpsman,love14,uiegu451,hardtail,irondoor,ghjrehfnehf,36460341,konijn,h2slca,kondom25,123456ss,cfytxrf,btnjey,nando,freemail,comander,natas666,siouxsie,hummer1,biomed,dimsum,yankees0,diablo666,lesbian1,pot420,jasonm,glock23,jennyb,itsmine,lena2010,whattheh,beandip,abaddon,kishore,signup,apogee,biteme12,suzieq,vgfun4,iseeyou,rifleman,qwerta,4pussy,hawkman,guest1,june17,dicksuck,bootay,cash12,bassale,ktybyuhfl,leetch,nescafe,7ovtgimc,clapton1,auror,boonie,tracker1,john69,bellas,cabinboy,yonkers,silky1,ladyffesta,drache,kamil1,davidp,bad123,snoopy12,sanche,werthvfy,achille,nefertiti,gerald1,slage33,warszawa,macsan26,mason123,kotopes,welcome8,nascar99,kiril,77778888,hairy1,monito,comicsans,81726354,killabee,arclight,yuo67,feelme,86753099,nnssnn,monday12,88351132,88889999,websters,subito,asdf12345,vaz2108,zvbxrpl,159753456852,rezeda,multimed,noaccess,henrique,tascam,captiva,zadrot,hateyou,sophie12,123123456,snoop1,charlie8,birmingh,hardline,libert,azsxdcf,89172735872,rjpthju,bondar,philips1,olegnaruto,myword,yakman,stardog,banana12,1234567890w,farout,annick,duke01,rfj422,billard,glock19,shaolin1,master10,cinderel,deltaone,manning1,biggreen,sidney1,patty1,goforit1,766rglqy,sevendus,aristotl,armagedo,blumen,gfhfyjz,kazakov,lekbyxxx,accord1,idiota,soccer16,texas123,victoire,ololo,chris01,bobbbb,299792458,eeeeeee1,confiden,07070,clarks,techno1,kayley,stang1,wwwwww1,uuuuu1,neverdie,jasonr,cavscout,481516234,mylove1,shaitan,1qazxcvb,barbaros,123456782000,123wer,thissucks,7seven,227722,faerie,hayduke,dbacks,snorkel,zmxncbv,tiger99,unknown1,melmac,polo1234,sssssss1,1fire,369147,bandung,bluejean,nivram,stanle,ctcnhf,soccer20,blingbli,dirtball,alex2112,183461,skylin,boobman,geronto,brittany1,yyz2112,gizmo69,ktrcec,dakota12,chiken,sexy11,vg08k714,bernadet,1bulldog,beachs,hollyb,maryjoy,margo1,danielle1,chakra,alexand,hullcity,matrix12,sarenna,pablos,antler,supercar,chomsky,german1,airjordan,545ettvy,camaron,flight1,netvideo,tootall,valheru,481516,1234as,skimmer,redcross,inuyash,uthvfy,1012nw,edoardo,bjhgfi,golf11,9379992a,lagarto,socball,boopie,krazy,.adgjmptw,gaydar,kovalev,geddylee,firstone,turbodog,loveee,135711,badbo,trapdoor,opopop11,danny2,max2000,526452,kerry1,leapfrog,daisy2,134kzbip,1andrea,playa1,peekab00,heskey,pirrello,gsewfmck,dimon4ik,puppie,chelios,554433,hypnodanny,fantik,yhwnqc,ghbdtngjrf,anchorag,buffett1,fanta,sappho,024680,vialli,chiva,lucylu,hashem,exbntkm,thema,23jordan,jake11,wildside,smartie,emerica,2wj2k9oj,ventrue,timoth,lamers,baerchen,suspende,boobis,denman85,1adam12,otello,king12,dzakuni,qsawbbs,isgay,porno123,jam123,daytona1,tazzie,bunny123,amaterasu,jeffre,crocus,mastercard,bitchedup,chicago7,aynrand,intel1,tamila,alianza,mulch,merlin12,rose123,alcapone,mircea,loveher,joseph12,chelsea6,dorothy1,wolfgar,unlimite,arturik,qwerty3,paddy1,piramid,linda123,cooool,millie1,warlock1,forgotit,tort02,ilikeyou,avensis,loveislife,dumbass1,clint1,2110se,drlove,olesia,kalinina,sergey123,123423,alicia1,markova,tri5a3,media1,willia1,xxxxxxx1,beercan,smk7366,jesusislord,motherfuck,smacker,birthday5,jbaby,harley2,hyper1,a9387670a,honey2,corvet,gjmptw,rjhjkmbien,apollon,madhuri,3a5irt,cessna17,saluki,digweed,tamia1,yja3vo,cfvlehfr,1111111q,martyna,stimpy1,anjana,yankeemp,jupiler,idkfa,1blue,fromv,afric,3xbobobo,liverp00l,nikon1,amadeus1,acer123,napoleo,david7,vbhjckfdf,mojo69,percy1,pirates1,grunt1,alenushka,finbar,zsxdcf,mandy123,1fred,timewarp,747bbb,druids,julia123,123321qq,spacebar,dreads,fcbarcelona,angela12,anima,christopher1,stargazer,123123s,hockey11,brewski,marlbor,blinker,motorhead,damngood,werthrf,letmein3,moremoney,killer99,anneke,eatit,pilatus,andrew01,fiona1,maitai,blucher,zxgdqn,e5pftu,nagual,panic1,andron,openwide,alphabeta,alison1,chelsea8,fende,mmm666,1shot2,a19l1980,123456@,1black,m1chael,vagner,realgood,maxxx,vekmnbr,stifler,2509mmh,tarkan,sherzod,1234567b,gunners1,artem2010,shooby,sammie1,p123456,piggie,abcde12345,nokia6230,moldir,piter,1qaz3edc,frequenc,acuransx,1star,nikeair,alex21,dapimp,ranjan,ilovegirls,anastasiy,berbatov,manso,21436587,leafs1,106666,angelochek,ingodwetrust,123456aaa,deano,korsar,pipetka,thunder9,minka,himura,installdevic,1qqqqq,digitalprodu,suckmeoff,plonker,headers,vlasov,ktr1996,windsor1,mishanya,garfield1,korvin,littlebit,azaz09,vandamme,scripto,s4114d,passward,britt1,r1chard,ferrari5,running1,7xswzaq,falcon2,pepper76,trademan,ea53g5,graham1,volvos80,reanimator,micasa,1234554321q,kairat,escorpion,sanek94,karolina1,kolovrat,karen2,1qaz@wsx,racing1,splooge,sarah2,deadman1,creed1,nooner,minicoop,oceane,room112,charme,12345ab,summer00,wetcunt,drewman,nastyman,redfire,appels,merlin69,dolfin,bornfree,diskette,ohwell,12345678qwe,jasont,madcap,cobra2,dolemit1,whatthehell,juanit,voldemar,rocke,bianc,elendil,vtufgjkbc,hotwheels,spanis,sukram,pokerface,k1ller,freakout,dontae,realmadri,drumss,gorams,258789,snakey,jasonn,whitewolf,befree,johnny99,pooka,theghost,kennys,vfvektxrf,toby1,jumpman23,deadlock,barbwire,stellina,alexa1,dalamar,mustanggt,northwes,tesoro,chameleo,sigtau,satoshi,george11,hotcum,cornell1,golfer12,geek01d,trololo,kellym,megapolis,pepsi2,hea666,monkfish,blue52,sarajane,bowler1,skeets,ddgirls,hfccbz,bailey01,isabella1,dreday,moose123,baobab,crushme,000009,veryhot,roadie,meanone,mike18,henriett,dohcvtec,moulin,gulnur,adastra,angel9,western1,natura,sweetpe,dtnfkm,marsbar,daisys,frogger1,virus1,redwood1,streetball,fridolin,d78unhxq,midas,michelob,cantik,sk2000,kikker,macanudo,rambone,fizzle,20000,peanuts1,cowpie,stone32,astaroth,dakota01,redso,mustard1,sexylove,giantess,teaparty,bobbin,beerbong,monet1,charles3,anniedog,anna1988,cameleon,longbeach,tamere,qpful542,mesquite,waldemar,12345zx,iamhere,lowboy,canard,granp,daisymay,love33,moosejaw,nivek,ninjaman,shrike01,aaa777,88002000600,vodolei,bambush,falcor,harley69,alphaomega,severine,grappler,bosox,twogirls,gatorman,vettes,buttmunch,chyna,excelsio,crayfish,birillo,megumi,lsia9dnb9y,littlebo,stevek,hiroyuki,firehous,master5,briley2,gangste,chrisk,camaleon,bulle,troyboy,froinlaven,mybutt,sandhya,rapala,jagged,crazycat,lucky12,jetman,wavmanuk,1heather,beegee,negril,mario123,funtime1,conehead,abigai,mhorgan,patagoni,travel1,backspace,frenchfr,mudcat,dashenka,baseball3,rustys,741852kk,dickme,baller23,griffey1,suckmycock,fuhrfzgc,jenny2,spuds,berlin1,justfun,icewind,bumerang,pavlusha,minecraft123,shasta1,ranger12,123400,twisters,buthead,miked,finance1,dignity7,hello9,lvjdp383,jgthfnjh,dalmatio,paparoach,miller31,2bornot2b,fathe,monterre,theblues,satans,schaap,jasmine2,sibelius,manon,heslo,jcnhjd,shane123,natasha2,pierrot,bluecar,iloveass,harriso,red12,london20,job314,beholder,reddawg,fuckyou!,pussylick,bologna1,austintx,ole4ka,blotto,onering,jearly,balbes,lightbul,bighorn,crossfir,lee123,prapor,1ashley,gfhjkm22,wwe123,09090,sexsite,marina123,jagua,witch1,schmoo,parkview,dragon3,chilango,ultimo,abramova,nautique,2bornot2,duende,1arthur,nightwing,surfboar,quant4307,15s9pu03,karina1,shitball,walleye1,wildman1,whytesha,1morgan,my2girls,polic,baranova,berezuckiy,kkkkkk1,forzima,fornow,qwerty02,gokart,suckit69,davidlee,whatnow,edgard,tits1,bayshore,36987412,ghbphfr,daddyy,explore1,zoidberg,5qnzjx,morgane,danilov,blacksex,mickey12,balsam,83y6pv,sarahc,slaye,all4u2,slayer69,nadia1,rlzwp503,4cranker,kaylie,numberon,teremok,wolf12,deeppurple,goodbeer,aaa555,66669999,whatif,harmony1,ue8fpw,3tmnej,254xtpss,dusty197,wcksdypk,zerkalo,dfnheirf,motorol,digita,whoareyou,darksoul,manics,rounders,killer11,d2000lb,cegthgfhjkm,catdog1,beograd,pepsico,julius1,123654987,softbal,killer23,weasel1,lifeson,q123456q,444555666,bunches,andy1,darby1,service01,bear11,jordan123,amega,duncan21,yensid,lerxst,rassvet,bronco2,fortis,pornlove,paiste,198900,asdflkjh,1236547890,futur,eugene1,winnipeg261,fk8bhydb,seanjohn,brimston,matthe1,bitchedu,crisco,302731,roxydog,woodlawn,volgograd,ace1210,boy4u2ownnyc,laura123,pronger,parker12,z123456z,andrew13,longlife,sarang,drogba,gobruins,soccer4,holida,espace,almira,murmansk,green22,safina,wm00022,1chevy,schlumpf,doroth,ulises,golf99,hellyes,detlef,mydog,erkina,bastardo,mashenka,sucram,wehttam,generic1,195000,spaceboy,lopas123,scammer,skynyrd,daddy2,titani,ficker,cr250r,kbnthfnehf,takedown,sticky1,davidruiz,desant,nremtp,painter1,bogies,agamemno,kansas1,smallfry,archi,2b4dnvsx,1player,saddie,peapod,6458zn7a,qvw6n2,gfxqx686,twice2,sh4d0w3d,mayfly,375125,phitau,yqmbevgk,89211375759,kumar1,pfhfpf,toyboy,way2go,7pvn4t,pass69,chipster,spoony,buddycat,diamond3,rincewin,hobie,david01,billbo,hxp4life,matild,pokemon2,dimochka,clown1,148888,jenmt3,cuxldv,cqnwhy,cde34rfv,simone1,verynice,toobig,pasha123,mike00,maria2,lolpop,firewire,dragon9,martesana,a1234567890,birthday3,providen,kiska,pitbulls,556655,misawa,damned69,martin11,goldorak,gunship,glory1,winxclub,sixgun,splodge,agent1,splitter,dome69,ifghjb,eliza1,snaiper,wutang36,phoenix7,666425,arshavin,paulaner,namron,m69fg1w,qwert1234,terrys,zesyrmvu,joeman,scoots,dwml9f,625vrobg,sally123,gostoso,symow8,pelota,c43qpul5rz,majinbuu,lithium1,bigstuff,horndog1,kipelov,kringle,1beavis,loshara,octobe,jmzacf,12342000,qw12qw,runescape1,chargers1,krokus,piknik,jessy,778811,gjvbljh,474jdvff,pleaser,misskitty,breaker1,7f4df451,dayan,twinky,yakumo,chippers,matia,tanith,len2ski1,manni,nichol1,f00b4r,nokia3110,standart,123456789i,shami,steffie,larrywn,chucker,john99,chamois,jjjkkk,penmouse,ktnj2010,gooners,hemmelig,rodney1,merlin01,bearcat1,1yyyyy,159753z,1fffff,1ddddd,thomas11,gjkbyrf,ivanka,f1f2f3,petrovna,phunky,conair,brian2,creative1,klipsch,vbitymrf,freek,breitlin,cecili,westwing,gohabsgo,tippmann,1steve,quattro6,fatbob,sp00ky,rastas,1123581,redsea,rfnmrf,jerky1,1aaaaaa,spk666,simba123,qwert54321,123abcd,beavis69,fyfyfc,starr1,1236547,peanutbutter,sintra,12345abcde,1357246,abcde1,climbon,755dfx,mermaids,monte1,serkan,geilesau,777win,jasonc,parkside,imagine1,rockhead,producti,playhard,principa,spammer,gagher,escada,tsv1860,dbyjuhfl,cruiser1,kennyg,montgome,2481632,pompano,cum123,angel6,sooty,bear01,april6,bodyhamm,pugsly,getrich,mikes,pelusa,fosgate,jasonp,rostislav,kimberly1,128mo,dallas11,gooner1,manuel1,cocacola1,imesh,5782790,password8,daboys,1jones,intheend,e3w2q1,whisper1,madone,pjcgujrat,1p2o3i,jamesp,felicida,nemrac,phikap,firecat,jrcfyjxrf,matt12,bigfan,doedel,005500,jasonx,1234567k,badfish,goosey,utjuhfabz,wilco,artem123,igor123,spike123,jor23dan,dga9la,v2jmsz,morgan12,avery1,dogstyle,natasa,221195ws,twopac,oktober7,karthik,poop1,mightymo,davidr,zermatt,jehova,aezakmi1,dimwit,monkey5,serega123,qwerty111,blabl,casey22,boy123,1clutch,asdfjkl1,hariom,bruce10,jeep95,1smith,sm9934,karishma,bazzzz,aristo,669e53e1,nesterov,kill666,fihdfv,1abc2,anna1,silver11,mojoman,telefono,goeagles,sd3lpgdr,rfhfynby,melinda1,llcoolj,idteul,bigchief,rocky13,timberwo,ballers,gatekeep,kashif,hardass,anastasija,max777,vfuyjkbz,riesling,agent99,kappas,dalglish,tincan,orange3,turtoise,abkbvjy,mike24,hugedick,alabala,geolog,aziza,devilboy,habanero,waheguru,funboy,freedom5,natwest,seashore,impaler,qwaszx1,pastas,bmw535,tecktonik,mika00,jobsearc,pinche,puntang,aw96b6,1corvett,skorpio,foundati,zzr1100,gembird,vfnhjcrby,soccer18,vaz2110,peterp,archer1,cross1,samedi,dima1992,hunter99,lipper,hotbody,zhjckfdf,ducati1,trailer1,04325956,cheryl1,benetton,kononenko,sloneczko,rfgtkmrf,nashua,balalaika,ampere,eliston,dorsai,digge,flyrod,oxymoron,minolta,ironmike,majortom,karimov,fortun,putaria,an83546921an13,blade123,franchis,mxaigtg5,dynxyu,devlt4,brasi,terces,wqmfuh,nqdgxz,dale88,minchia,seeyou,housepen,1apple,1buddy,mariusz,bighouse,tango2,flimflam,nicola1,qwertyasd,tomek1,shumaher,kartoshka,bassss,canaries,redman1,123456789as,preciosa,allblacks,navidad,tommaso,beaudog,forrest1,green23,ryjgjxrf,go4it,ironman2,badnews,butterba,1grizzly,isaeva,rembrand,toront,1richard,bigjon,yfltymrf,1kitty,4ng62t,littlejo,wolfdog,ctvtyjd,spain1,megryan,tatertot,raven69,4809594q,tapout,stuntman,a131313,lagers,hotstuf,lfdbl11,stanley2,advokat,boloto,7894561,dooker,adxel187,cleodog,4play,0p9o8i,masterb,bimota,charlee,toystory,6820055,6666667,crevette,6031769,corsa,bingoo,dima1990,tennis11,samuri,avocado,melissa6,unicor,habari,metart,needsex,cockman,hernan,3891576,3334444,amigo1,gobuffs2,mike21,allianz,2835493,179355,midgard,joey123,oneluv,ellis1,towncar,shonuff,scouse,tool69,thomas19,chorizo,jblaze,lisa1,dima1999,sophia1,anna1989,vfvekbxrf,krasavica,redlegs,jason25,tbontb,katrine,eumesmo,vfhufhbnrf,1654321,asdfghj1,motdepas,booga,doogle,1453145,byron1,158272,kardinal,tanne,fallen1,abcd12345,ufyljy,n12345,kucing,burberry,bodger,1234578,februar,1234512,nekkid,prober,harrison1,idlewild,rfnz90,foiegras,pussy21,bigstud,denzel,tiffany2,bigwill,1234567890zzz,hello69,compute1,viper9,hellspaw,trythis,gococks,dogballs,delfi,lupine,millenia,newdelhi,charlest,basspro,1mike,joeblack,975310,1rosebud,batman11,misterio,fucknut,charlie0,august11,juancho,ilonka,jigei743ks,adam1234,889900,goonie,alicat,ggggggg1,1zzzzzzz,sexywife,northstar,chris23,888111,containe,trojan1,jason5,graikos,1ggggg,1eeeee,tigers01,indigo1,hotmale,jacob123,mishima,richard3,cjxb2014,coco123,meagain,thaman,wallst,edgewood,bundas,1power,matilda1,maradon,hookedup,jemima,r3vi3wpass,2004-10-,mudman,taz123,xswzaq,emerson1,anna21,warlord1,toering,pelle,tgwdvu,masterb8,wallstre,moppel,priora,ghjcnjrdfif,yoland,12332100,1j9e7f6f,jazzzz,yesman,brianm,42qwerty42,12345698,darkmanx,nirmal,john31,bb123456,neuspeed,billgates,moguls,fj1200,hbhlair,shaun1,ghbdfn,305pwzlr,nbu3cd,susanb,pimpdad,mangust6403,joedog,dawidek,gigante,708090,703751,700007,ikalcr,tbivbn,697769,marvi,iyaayas,karen123,jimmyboy,dozer1,e6z8jh,bigtime1,getdown,kevin12,brookly,zjduc3,nolan1,cobber,yr8wdxcq,liebe,m1garand,blah123,616879,action1,600000,sumitomo,albcaz,asian1,557799,dave69,556699,sasa123,streaker,michel1,karate1,buddy7,daulet,koks888,roadtrip,wapiti,oldguy,illini1,1234qq,mrspock,kwiatek,buterfly,august31,jibxhq,jackin,taxicab,tristram,talisker,446655,444666,chrisa,freespace,vfhbfyyf,chevell,444333,notyours,442244,christian1,seemore,sniper12,marlin1,joker666,multik,devilish,crf450,cdfoli,eastern1,asshead,duhast,voyager2,cyberia,1wizard,cybernet,iloveme1,veterok,karandash,392781,looksee,diddy,diabolic,foofight,missey,herbert1,bmw318i,premier1,zsfmpv,eric1234,dun6sm,fuck11,345543,spudman,lurker,bitem,lizzy1,ironsink,minami,339311,s7fhs127,sterne,332233,plankton,galax,azuywe,changepa,august25,mouse123,sikici,killer69,xswqaz,quovadis,gnomik,033028pw,777777a,barrakuda,spawn666,goodgod,slurp,morbius,yelnats,cujo31,norman1,fastone,earwig,aureli,wordlife,bnfkbz,yasmi,austin123,timberla,missy2,legalize,netcom,liljon,takeit,georgin,987654321z,warbird,vitalina,all4u3,mmmmmm1,bichon,ellobo,wahoos,fcazmj,aksarben,lodoss,satnam,vasili,197800,maarten,sam138989,0u812,ankita,walte,prince12,anvils,bestia,hoschi,198300,univer,jack10,ktyecbr,gr00vy,hokie,wolfman1,fuckwit,geyser,emmanue,ybrjkftd,qwerty33,karat,dblock,avocat,bobbym,womersle,1please,nostra,dayana,billyray,alternat,iloveu1,qwerty69,rammstein1,mystikal,winne,drawde,executor,craxxxs,ghjcnjnf,999888777,welshman,access123,963214785,951753852,babe69,fvcnthlfv,****me,666999666,testing2,199200,nintendo64,oscarr,guido8,zhanna,gumshoe,jbird,159357456,pasca,123452345,satan6,mithrand,fhbirf,aa1111aa,viggen,ficktjuv,radial9,davids1,rainbow7,futuro,hipho,platin,poppy123,rhenjq,fulle,rosit,chicano,scrumpy,lumpy1,seifer,uvmrysez,autumn1,xenon,susie1,7u8i9o0p,gamer1,sirene,muffy1,monkeys1,kalinin,olcrackmaster,hotmove,uconn,gshock,merson,lthtdyz,pizzaboy,peggy1,pistache,pinto1,fishka,ladydi,pandor,baileys,hungwell,redboy,rookie1,amanda01,passwrd,clean1,matty1,tarkus,jabba1,bobster,beer30,solomon1,moneymon,sesamo,fred11,sunnysid,jasmine5,thebears,putamadre,workhard,flashbac,counter1,liefde,magnat,corky1,green6,abramov,lordik,univers,shortys,david3,vip123,gnarly,1234567s,billy2,honkey,deathstar,grimmy,govinda,direktor,12345678s,linus1,shoppin,rekbrjdf,santeria,prett,berty75,mohican,daftpunk,uekmyfhf,chupa,strats,ironbird,giants56,salisbur,koldun,summer04,pondscum,jimmyj,miata1,george3,redshoes,weezie,bartman1,0p9o8i7u,s1lver,dorkus,125478,omega9,sexisgood,mancow,patric1,jetta1,074401,ghjuhtcc,gfhjk,bibble,terry2,123213,medicin,rebel2,hen3ry,4freedom,aldrin,lovesyou,browny,renwod,winnie1,belladon,1house,tyghbn,blessme,rfhfrfnbwf,haylee,deepdive,booya,phantasy,gansta,cock69,4mnveh,gazza1,redapple,structur,anakin1,manolito,steve01,poolman,chloe123,vlad1998,qazwsxe,pushit,random123,ontherocks,o236nq,brain1,dimedrol,agape,rovnogod,1balls,knigh,alliso,love01,wolf01,flintstone,beernuts,tuffguy,isengard,highfive,alex23,casper99,rubina,getreal,chinita,italian1,airsoft,qwerty23,muffdiver,willi1,grace123,orioles1,redbull1,chino1,ziggy123,breadman,estefan,ljcneg,gotoit,logan123,wideglid,mancity1,treess,qwe123456,kazumi,qweasdqwe,oddworld,naveed,protos,towson,a801016,godislov,at_asp,bambam1,soccer5,dark123,67vette,carlos123,hoser1,scouser,wesdxc,pelus,dragon25,pflhjn,abdula,1freedom,policema,tarkin,eduardo1,mackdad,gfhjkm11,lfplhfgthvf,adilet,zzzzxxxx,childre,samarkand,cegthgegth,shama,fresher,silvestr,greaser,allout,plmokn,sexdrive,nintendo1,fantasy7,oleander,fe126fd,crumpet,pingzing,dionis,hipster,yfcnz,requin,calliope,jerome1,housecat,abc123456789,doghot,snake123,augus,brillig,chronic1,gfhjkbot,expediti,noisette,master7,caliban,whitetai,favorite3,lisamari,educatio,ghjhjr,saber1,zcegth,1958proman,vtkrbq,milkdud,imajica,thehip,bailey10,hockey19,dkflbdjcnjr,j123456,bernar,aeiouy,gamlet,deltachi,endzone,conni,bcgfybz,brandi1,auckland2010,7653ajl1,mardigra,testuser,bunko18,camaro67,36936,greenie,454dfmcq,6xe8j2z4,mrgreen,ranger5,headhunt,banshee1,moonunit,zyltrc,hello3,pussyboy,stoopid,tigger11,yellow12,drums1,blue02,kils123,junkman,banyan,jimmyjam,tbbucs,sportster,badass1,joshie,braves10,lajolla,1amanda,antani,78787,antero,19216801,chich,rhett32,sarahm,beloit,sucker69,corkey,nicosnn,rccola,caracol,daffyduc,bunny2,mantas,monkies,hedonist,cacapipi,ashton1,sid123,19899891,patche,greekgod,cbr1000,leader1,19977991,ettore,chongo,113311,picass,cfif123,rhtfnbd,frances1,andy12,minnette,bigboy12,green69,alices,babcia,partyboy,javabean,freehand,qawsed123,xxx111,harold1,passwo,jonny1,kappa1,w2dlww3v5p,1merlin,222999,tomjones,jakeman,franken,markhegarty,john01,carole1,daveman,caseys,apeman,mookey,moon123,claret,titans1,residentevil,campari,curitiba,dovetail,aerostar,jackdaniels,basenji,zaq12w,glencoe,biglove,goober12,ncc170,far7766,monkey21,eclipse9,1234567v,vanechka,aristote,grumble,belgorod,abhishek,neworleans,pazzword,dummie,sashadog,diablo11,mst3000,koala1,maureen1,jake99,isaiah1,funkster,gillian1,ekaterina20,chibears,astra123,4me2no,winte,skippe,necro,windows9,vinograd,demolay,vika2010,quiksilver,19371ayj,dollar1,shecky,qzwxecrv,butterfly1,merrill1,scoreland,1crazy,megastar,mandragora,track1,dedhed,jacob2,newhope,qawsedrftgyh,shack1,samvel,gatita,shyster,clara1,telstar,office1,crickett,truls,nirmala,joselito,chrisl,lesnik,aaaabbbb,austin01,leto2010,bubbie,aaa12345,widder,234432,salinger,mrsmith,qazsedcft,newshoes,skunks,yt1300,bmw316,arbeit,smoove,123321qweewq,123qazwsx,22221111,seesaw,0987654321a,peach1,1029384756q,sereda,gerrard8,shit123,batcave,energy1,peterb,mytruck,peter12,alesya,tomato1,spirou,laputaxx,magoo1,omgkremidia,knight12,norton1,vladislava,shaddy,austin11,jlbyjxrf,kbdthgekm,punheta,fetish69,exploiter,roger2,manstein,gtnhjd,32615948worms,dogbreath,ujkjdjkjvrf,vodka1,ripcord,fatrat,kotek1,tiziana,larrybir,thunder3,nbvfnb,9kyq6fge,remembe,likemike,gavin1,shinigam,yfcnfcmz,13245678,jabbar,vampyr,ane4ka,lollipo,ashwin,scuderia,limpdick,deagle,3247562,vishenka,fdhjhf,alex02,volvov70,mandys,bioshock,caraca,tombraider,matrix69,jeff123,13579135,parazit,black3,noway1,diablos,hitmen,garden1,aminor,decembe,august12,b00ger,006900,452073t,schach,hitman1,mariner1,vbnmrf,paint1,742617000027,bitchboy,pfqxjyjr,5681392,marryher,sinnet,malik1,muffin12,aninha,piolin,lady12,traffic1,cbvjyf,6345789,june21,ivan2010,ryan123,honda99,gunny,coorslight,asd321,hunter69,7224763,sonofgod,dolphins1,1dolphin,pavlenko,woodwind,lovelov,pinkpant,gblfhfcbyf,hotel1,justinbiebe,vinter,jeff1234,mydogs,1pizza,boats1,parrothe,shawshan,brooklyn1,cbrown,1rocky,hemi426,dragon64,redwings1,porsches,ghostly,hubbahub,buttnut,b929ezzh,sorokina,flashg,fritos,b7mguk,metatron,treehous,vorpal,8902792,marcu,free123,labamba,chiefs1,zxc123zxc,keli_14,hotti,1steeler,money4,rakker,foxwoods,free1,ahjkjd,sidorova,snowwhit,neptune1,mrlover,trader1,nudelamb,baloo,power7,deltasig,bills1,trevo,7gorwell,nokia6630,nokia5320,madhatte,1cowboys,manga1,namtab,sanjar,fanny1,birdman1,adv12775,carlo1,dude1998,babyhuey,nicole11,madmike,ubvyfpbz,qawsedr,lifetec,skyhook,stalker123,toolong,robertso,ripazha,zippy123,1111111a,manol,dirtyman,analslut,jason3,dutches,minhasenha,cerise,fenrir,jayjay1,flatbush,franka,bhbyjxrf,26429vadim,lawntrax,198700,fritzy,nikhil,ripper1,harami,truckman,nemvxyheqdd5oqxyxyzi,gkfytnf,bugaboo,cableman,hairpie,xplorer,movado,hotsex69,mordred,ohyeah1,patrick3,frolov,katieh,4311111q,mochaj,presari,bigdo,753951852,freedom4,kapitan,tomas1,135795,sweet123,pokers,shagme,tane4ka,sentinal,ufgyndmv,jonnyb,skate123,123456798,123456788,very1,gerrit,damocles,dollarbi,caroline1,lloyds,pizdets,flatland,92702689,dave13,meoff,ajnjuhfabz,achmed,madison9,744744z,amonte,avrillavigne,elaine1,norma1,asseater,everlong,buddy23,cmgang1,trash1,mitsu,flyman,ulugbek,june27,magistr,fittan,sebora64,dingos,sleipnir,caterpil,cindys,212121qaz,partys,dialer,gjytltkmybr,qweqaz,janvier,rocawear,lostboy,aileron,sweety1,everest1,pornman,boombox,potter1,blackdic,44448888,eric123,112233aa,2502557i,novass,nanotech,yourname,x12345,indian1,15975300,1234567l,carla51,chicago0,coleta,cxzdsaewq,qqwweerr,marwan,deltic,hollys,qwerasd,pon32029,rainmake,nathan0,matveeva,legioner,kevink,riven,tombraid,blitzen,a54321,jackyl,chinese1,shalimar,oleg1995,beaches1,tommylee,eknock,berli,monkey23,badbob,pugwash,likewhoa,jesus2,yujyd360,belmar,shadow22,utfp5e,angelo1,minimax,pooder,cocoa1,moresex,tortue,lesbia,panthe,snoopy2,drumnbass,alway,gmcz71,6jhwmqku,leppard,dinsdale,blair1,boriqua,money111,virtuagirl,267605,rattlesn,1sunshin,monica12,veritas1,newmexic,millertime,turandot,rfvxfnrf,jaydog,kakawka,bowhunter,booboo12,deerpark,erreway,taylorma,rfkbybyf,wooglin,weegee,rexdog,iamhorny,cazzo1,vhou812,bacardi1,dctktyyfz,godpasi,peanut12,bertha1,fuckyoubitch,ghosty,altavista,jertoot,smokeit,ghjcnbvtyz,fhnehxbr,rolsen,qazxcdews,maddmaxx,redrocke,qazokm,spencer2,thekiller,asdf11,123sex,tupac1,p1234567,dbrown,1biteme,tgo4466,316769,sunghi,shakespe,frosty1,gucci1,arcana,bandit01,lyubov,poochy,dartmout,magpies1,sunnyd,mouseman,summer07,chester7,shalini,danbury,pigboy,dave99,deniss,harryb,ashley11,pppppp1,01081988m,balloon1,tkachenko,bucks1,master77,pussyca,tricky1,zzxxccvv,zoulou,doomer,mukesh,iluv69,supermax,todays,thefox,don123,dontask,diplom,piglett,shiney,fahbrf,qaz12wsx,temitope,reggin,project1,buffy2,inside1,lbpfqyth,vanilla1,lovecock,u4slpwra,fylh.irf,123211,7ertu3ds,necroman,chalky,artist1,simpso,4x7wjr,chaos666,lazyacres,harley99,ch33s3,marusa,eagle7,dilligas,computadora,lucky69,denwer,nissan350z,unforgiv,oddball,schalke0,aztec1,borisova,branden1,parkave,marie123,germa,lafayett,878kckxy,405060,cheeseca,bigwave,fred22,andreea,poulet,mercutio,psycholo,andrew88,o4izdmxu,sanctuar,newhome,milion,suckmydi,rjvgm.nth,warior,goodgame,1qwertyuiop,6339cndh,scorpio2,macker,southbay,crabcake,toadie,paperclip,fatkid,maddo,cliff1,rastafar,maries,twins1,geujdrf,anjela,wc4fun,dolina,mpetroff,rollout,zydeco,shadow3,pumpki,steeda,volvo240,terras,blowjo,blue2000,incognit,badmojo,gambit1,zhukov,station1,aaronb,graci,duke123,clipper1,qazxsw2,ledzeppe,kukareku,sexkitte,cinco,007008,lakers12,a1234b,acmilan1,afhfjy,starrr,slutty3,phoneman,kostyan,bonzo1,sintesi07,ersatz,cloud1,nephilim,nascar03,rey619,kairos,123456789e,hardon1,boeing1,juliya,hfccdtn,vgfun8,polizei,456838,keithb,minouche,ariston,savag,213141,clarkken,microwav,london2,santacla,campeo,qr5mx7,464811,mynuts,bombo,1mickey,lucky8,danger1,ironside,carter12,wyatt1,borntorun,iloveyou123,jose1,pancake1,tadmichaels,monsta,jugger,hunnie,triste,heat7777,ilovejesus,queeny,luckycharm,lieben,gordolee85,jtkirk,forever21,jetlag,skylane,taucher,neworlea,holera,000005,anhnhoem,melissa7,mumdad,massimiliano,dima1994,nigel1,madison3,slicky,shokolad,serenit,jmh1978,soccer123,chris3,drwho,rfpzdrf,1qasw23ed,free4me,wonka,sasquatc,sanan,maytag,verochka,bankone,molly12,monopoli,xfqybr,lamborgini,gondolin,candycane,needsome,jb007,scottie1,brigit,0147258369,kalamazo,lololyo123,bill1234,ilovejes,lol123123,popkorn,april13,567rntvm,downunde,charle1,angelbab,guildwars,homeworld,qazxcvbnm,superma1,dupa123,kryptoni,happyy,artyom,stormie,cool11,calvin69,saphir,konovalov,jansport,october8,liebling,druuna,susans,megans,tujhjdf,wmegrfux,jumbo1,ljb4dt7n,012345678910,kolesnik,speculum,at4gftlw,kurgan,93pn75,cahek0980,dallas01,godswill,fhifdby,chelsea4,jump23,barsoom,catinhat,urlacher,angel99,vidadi1,678910,lickme69,topaz1,westend,loveone,c12345,gold12,alex1959,mamon,barney12,1maggie,alex12345,lp2568cskt,s1234567,gjikbdctyf,anthony0,browns99,chips1,sunking,widespre,lalala1,tdutif,fucklife,master00,alino4ka,stakan,blonde1,phoebus,tenore,bvgthbz,brunos,suzjv8,uvdwgt,revenant,1banana,veroniqu,sexfun,sp1der,4g3izhox,isakov,shiva1,scooba,bluefire,wizard12,dimitris,funbags,perseus,hoodoo,keving,malboro,157953,a32tv8ls,latics,animate,mossad,yejntb,karting,qmpq39zr,busdrive,jtuac3my,jkne9y,sr20dett,4gxrzemq,keylargo,741147,rfktylfhm,toast1,skins1,xcalibur,gattone,seether,kameron,glock9mm,julio1,delenn,gameday,tommyd,str8edge,bulls123,66699,carlsberg,woodbird,adnama,45auto,codyman,truck2,1w2w3w4w,pvjegu,method1,luetdi,41d8cd98f00b,bankai,5432112345,94rwpe,reneee,chrisx,melvins,775577,sam2000,scrappy1,rachid,grizzley,margare,morgan01,winstons,gevorg,gonzal,crawdad,gfhfdjp,babilon,noneya,pussy11,barbell,easyride,c00li0,777771,311music,karla1,golions,19866891,peejay,leadfoot,hfvbkm,kr9z40sy,cobra123,isotwe,grizz,sallys,****you,aaa123a,dembel,foxs14,hillcres,webman,mudshark,alfredo1,weeded,lester1,hovepark,ratface,000777fffa,huskie,wildthing,elbarto,waikiki,masami,call911,goose2,regin,dovajb,agricola,cjytxrj,andy11,penny123,family01,a121212,1braves,upupa68,happy100,824655,cjlove,firsttim,kalel,redhair,dfhtymt,sliders,bananna,loverbo,fifa2008,crouton,chevy350,panties2,kolya1,alyona,hagrid,spagetti,q2w3e4r,867530,narkoman,nhfdvfnjkju123,1ccccccc,napolean,0072563,allay,w8sted,wigwam,jamesk,state1,parovoz,beach69,kevinb,rossella,logitech1,celula,gnocca,canucks1,loginova,marlboro1,aaaa1,kalleanka,mester,mishutka,milenko,alibek,jersey1,peterc,1mouse,nedved,blackone,ghfplybr,682regkh,beejay,newburgh,ruffian,clarets,noreaga,xenophon,hummerh2,tenshi,smeagol,soloyo,vfhnby,ereiamjh,ewq321,goomie,sportin,cellphone,sonnie,jetblack,saudan,gblfhfc,matheus,uhfvjnf,alicja,jayman1,devon1,hexagon,bailey2,vtufajy,yankees7,salty1,908070,killemal,gammas,eurocard,sydney12,tuesday1,antietam,wayfarer,beast666,19952009sa,aq12ws,eveli,hockey21,haloreach,dontcare,xxxx1,andrea11,karlmarx,jelszo,tylerb,protools,timberwolf,ruffneck,pololo,1bbbbb,waleed,sasami,twinss,fairlady,illuminati,alex007,sucks1,homerjay,scooter7,tarbaby,barmaley,amistad,vanes,randers,tigers12,dreamer2,goleafsg,googie,bernie1,as12345,godeep,james3,phanto,gwbush,cumlover,2196dc,studioworks,995511,golf56,titova,kaleka,itali,socks1,kurwamac,daisuke,hevonen,woody123,daisie,wouter,henry123,gostosa,guppie,porpoise,iamsexy,276115,paula123,1020315,38gjgeuftd,rjrfrjkf,knotty,idiot1,sasha12345,matrix13,securit,radical1,ag764ks,jsmith,coolguy1,secretar,juanas,sasha1988,itout,00000001,tiger11,1butthea,putain,cavalo,basia1,kobebryant,1232323,12345asdfg,sunsh1ne,cyfqgth,tomkat,dorota,dashit,pelmen,5t6y7u,whipit,smokeone,helloall,bonjour1,snowshoe,nilknarf,x1x2x3,lammas,1234599,lol123456,atombomb,ironchef,noclue,alekseev,gwbush1,silver2,12345678m,yesican,fahjlbnf,chapstic,alex95,open1,tiger200,lisichka,pogiako,cbr929,searchin,tanya123,alex1973,phil413,alex1991,dominati,geckos,freddi,silenthill,egroeg,vorobey,antoxa,dark666,shkola,apple22,rebellio,shamanking,7f8srt,cumsucker,partagas,bill99,22223333,arnster55,fucknuts,proxima,silversi,goblues,parcells,vfrcbvjdf,piloto,avocet,emily2,1597530,miniskir,himitsu,pepper2,juiceman,venom1,bogdana,jujube,quatro,botafogo,mama2010,junior12,derrickh,asdfrewq,miller2,chitarra,silverfox,napol,prestigio,devil123,mm111qm,ara123,max33484,sex2000,primo1,sephan,anyuta,alena2010,viborg,verysexy,hibiscus,terps,josefin,oxcart,spooker,speciali,raffaello,partyon,vfhvtkflrf,strela,a123456z,worksuck,glasss,lomonosov,dusty123,dukeblue,1winter,sergeeva,lala123,john22,cmc09,sobolev,bettylou,dannyb,gjkrjdybr,hagakure,iecnhbr,awsedr,pmdmsctsk,costco,alekseeva,fktrcttd,bazuka,flyingv,garuda,buffy16,gutierre,beer12,stomatolog,ernies,palmeiras,golf123,love269,n.kmgfy,gjkysqgbpltw,youare,joeboo,baksik,lifeguar,111a111,nascar8,mindgame,dude1,neopets,frdfkfyu,june24,phoenix8,penelopa,merlin99,mercenar,badluck,mishel,bookert,deadsexy,power9,chinchil,1234567m,alex10,skunk1,rfhkcjy,sammycat,wright1,randy2,marakesh,temppassword,elmer251,mooki,patrick0,bonoedge,1tits,chiar,kylie1,graffix,milkman1,cornel,mrkitty,nicole12,ticketmaster,beatles4,number20,ffff1,terps1,superfre,yfdbufnjh,jake1234,flblfc,1111qq,zanuda,jmol01,wpoolejr,polopol,nicolett,omega13,cannonba,123456789.,sandy69,ribeye,bo243ns,marilena,bogdan123,milla,redskins1,19733791,alias1,movie1,ducat,marzena,shadowru,56565,coolman1,pornlover,teepee,spiff,nafanya,gateway3,fuckyou0,hasher,34778,booboo69,staticx,hang10,qq12345,garnier,bosco123,1234567qw,carson1,samso,1xrg4kcq,cbr929rr,allan123,motorbik,andrew22,pussy101,miroslava,cytujdbr,camp0017,cobweb,snusmumrik,salmon1,cindy2,aliya,serendipity,co437at,tincouch,timmy123,hunter22,st1100,vvvvvv1,blanka,krondor,sweeti,nenit,kuzmich,gustavo1,bmw320i,alex2010,trees1,kyliem,essayons,april26,kumari,sprin,fajita,appletre,fghbjhb,1green,katieb,steven2,corrado1,satelite,1michell,123456789c,cfkfvfylhf,acurarsx,slut543,inhere,bob2000,pouncer,k123456789,fishie,aliso,audia8,bluetick,soccer69,jordan99,fromhell,mammoth1,fighting54,mike25,pepper11,extra1,worldwid,chaise,vfr800,sordfish,almat,nofate,listopad,hellgate,dctvghbdf,jeremia,qantas,lokiju,honker,sprint1,maral,triniti,compaq3,sixsix6,married1,loveman,juggalo1,repvtyrj,zxcasdqw,123445,whore1,123678,monkey6,west123,warcraf,pwnage,mystery1,creamyou,ant123,rehjgfnrf,corona1,coleman1,steve121,alderaan,barnaul,celeste1,junebug1,bombshel,gretzky9,tankist,targa,cachou,vaz2101,playgolf,boneyard,strateg,romawka,iforgotit,pullup,garbage1,irock,archmage,shaft1,oceano,sadies,alvin1,135135ab,psalm69,lmfao,ranger02,zaharova,33334444,perkman,realman,salguod,cmoney,astonmartin,glock1,greyfox,viper99,helpm,blackdick,46775575,family5,shazbot,dewey1,qwertyas,shivani,black22,mailman1,greenday1,57392632,red007,stanky,sanchez1,tysons,daruma,altosax,krayzie,85852008,1forever,98798798,irock.,123456654,142536789,ford22,brick1,michela,preciou,crazy4u,01telemike01,nolife,concac,safety1,annie123,brunswic,destini,123456qwer,madison0,snowball1,137946,1133557799,jarule,scout2,songohan,thedead,00009999,murphy01,spycam,hirsute,aurinko,associat,1miller,baklan,hermes1,2183rm,martie,kangoo,shweta,yvonne1,westsid,jackpot1,rotciv,maratik,fabrika,claude1,nursultan,noentry,ytnhjufnm,electra1,ghjcnjnfr1,puneet,smokey01,integrit,bugeye,trouble2,14071789,paul01,omgwtf,dmh415,ekilpool,yourmom1,moimeme,sparky11,boludo,ruslan123,kissme1,demetrio,appelsin,asshole3,raiders2,bunns,fynjybj,billygoa,p030710p$e4o,macdonal,248ujnfk,acorns,schmidt1,sparrow1,vinbylrj,weasle,jerom,ycwvrxxh,skywalk,gerlinde,solidus,postal1,poochie1,1charles,rhianna,terorist,rehnrf,omgwtfbbq,assfucke,deadend,zidan,jimboy,vengence,maroon5,7452tr,dalejr88,sombra,anatole,elodi,amazonas,147789,q12345q,gawker1,juanma,kassidy,greek1,bruces,bilbob,mike44,0o9i8u7y6t,kaligula,agentx,familie,anders1,pimpjuice,0128um,birthday10,lawncare,hownow,grandorgue,juggerna,scarfac,kensai,swatteam,123four,motorbike,repytxbr,other1,celicagt,pleomax,gen0303,godisgreat,icepick,lucifer666,heavy1,tea4two,forsure,02020,shortdog,webhead,chris13,palenque,3techsrl,knights1,orenburg,prong,nomarg,wutang1,80637852730,laika,iamfree,12345670,pillow1,12343412,bigears,peterg,stunna,rocky5,12123434,damir,feuerwehr,7418529630,danone,yanina,valenci,andy69,111222q,silvia1,1jjjjj,loveforever,passwo1,stratocaster,8928190a,motorolla,lateralu,ujujkm,chubba,ujkjdf,signon,123456789zx,serdce,stevo,wifey200,ololo123,popeye1,1pass,central1,melena,luxor,nemezida,poker123,ilovemusic,qaz1234,noodles1,lakeshow,amarill,ginseng,billiam,trento,321cba,fatback,soccer33,master13,marie2,newcar,bigtop,dark1,camron,nosgoth,155555,biglou,redbud,jordan7,159789,diversio,actros,dazed,drizzit,hjcnjd,wiktoria,justic,gooses,luzifer,darren1,chynna,tanuki,11335577,icculus,boobss,biggi,firstson,ceisi123,gatewa,hrothgar,jarhead1,happyjoy,felipe1,bebop1,medman,athena1,boneman,keiths,djljgfl,dicklick,russ120,mylady,zxcdsa,rock12,bluesea,kayaks,provista,luckies,smile4me,bootycal,enduro,123123f,heartbre,ern3sto,apple13,bigpappa,fy.njxrf,bigtom,cool69,perrito,quiet1,puszek,cious,cruella,temp1,david26,alemap,aa123123,teddies,tricolor,smokey12,kikiriki,mickey01,robert01,super5,ranman,stevenso,deliciou,money777,degauss,mozar,susanne1,asdasd12,shitbag,mommy123,wrestle1,imfree,fuckyou12,barbaris,florent,ujhijr,f8yruxoj,tefjps,anemone,toltec,2gether,left4dead2,ximen,gfkmvf,dunca,emilys,diana123,16473a,mark01,bigbro,annarbor,nikita2000,11aa11,tigres,llllll1,loser2,fbi11213,jupite,qwaszxqw,macabre,123ert,rev2000,mooooo,klapaucius,bagel1,chiquit,iyaoyas,bear101,irocz28,vfktymrfz,smokey2,love99,rfhnbyf,dracul,keith123,slicko,peacock1,orgasmic,thesnake,solder,wetass,doofer,david5,rhfcyjlfh,swanny,tammys,turkiye,tubaman,estefani,firehose,funnyguy,servo,grace17,pippa1,arbiter,jimmy69,nfymrf,asdf67nm,rjcnzy,demon123,thicknes,sexysex,kristall,michail,encarta,banderos,minty,marchenko,de1987ma,mo5kva,aircav,naomi1,bonni,tatoo,cronaldo,49ers1,mama1963,1truck,telecaster,punksnotdead,erotik,1eagles,1fender,luv269,acdeehan,tanner1,freema,1q3e5t7u,linksys,tiger6,megaman1,neophyte,australia1,mydaddy,1jeffrey,fgdfgdfg,gfgekz,1986irachka,keyman,m0b1l3,dfcz123,mikeyg,playstation2,abc125,slacker1,110491g,lordsoth,bhavani,ssecca,dctvghbdtn,niblick,hondacar,baby01,worldcom,4034407,51094didi,3657549,3630000,3578951,sweetpussy,majick,supercoo,robert11,abacabb,panda123,gfhjkm13,ford4x4,zippo1,lapin,1726354,lovesong,dude11,moebius,paravoz,1357642,matkhau,solnyshko,daniel4,multiplelog,starik,martusia,iamtheman,greentre,jetblue,motorrad,vfrcbvev,redoak,dogma1,gnorman,komlos,tonka1,1010220,666satan,losenord,lateralus,absinthe,command1,jigga1,iiiiiii1,pants1,jungfrau,926337,ufhhbgjnnth,yamakasi,888555,sunny7,gemini69,alone1,zxcvbnmz,cabezon,skyblues,zxc1234,456123a,zero00,caseih,azzurra,legolas1,menudo,murcielago,785612,779977,benidorm,viperman,dima1985,piglet1,hemligt,hotfeet,7elephants,hardup,gamess,a000000,267ksyjf,kaitlynn,sharkie,sisyphus,yellow22,667766,redvette,666420,mets69,ac2zxdty,hxxrvwcy,cdavis,alan1,noddy,579300,druss,eatshit1,555123,appleseed,simpleplan,kazak,526282,fynfyfyfhbde,birthday6,dragon6,1pookie,bluedevils,omg123,hj8z6e,x5dxwp,455445,batman23,termin,chrisbrown,animals1,lucky9,443322,kzktxrf,takayuki,fermer,assembler,zomu9q,sissyboy,sergant,felina,nokia6230i,eminem12,croco,hunt4red,festina,darknigh,cptnz062,ndshnx4s,twizzler,wnmaz7sd,aamaax,gfhfcjkmrf,alabama123,barrynov,happy5,punt0it,durandal,8xuuobe4,cmu9ggzh,bruno12,316497,crazyfrog,vfvfktyf,apple3,kasey1,mackdaddy,anthon1,sunnys,angel3,cribbage,moon1,donal,bryce1,pandabear,mwss474,whitesta,freaker,197100,bitche,p2ssw0rd,turnb,tiktonik,moonlite,ferret1,jackas,ferrum,bearclaw,liberty2,1diablo,caribe,snakeeyes,janbam,azonic,rainmaker,vetalik,bigeasy,baby1234,sureno13,blink1,kluivert,calbears,lavanda,198600,dhtlbyf,medvedeva,fox123,whirling,bonscott,freedom9,october3,manoman,segredo,cerulean,robinso,bsmith,flatus,dannon,password21,rrrrrr1,callista,romai,rainman1,trantor,mickeymo,bulldog7,g123456,pavlin,pass22,snowie,hookah,7ofnine,bubba22,cabible,nicerack,moomoo1,summer98,yoyo123,milan1,lieve27,mustang69,jackster,exocet,nadege,qaz12,bahama,watson1,libras,eclipse2,bahram,bapezm,up9x8rww,ghjcnjz,themaste,deflep27,ghost16,gattaca,fotograf,junior123,gilber,gbjyth,8vjzus,rosco1,begonia,aldebara,flower12,novastar,buzzman,manchild,lopez1,mama11,william7,yfcnz1,blackstar,spurs123,moom4242,1amber,iownyou,tightend,07931505,paquito,1johnson,smokepot,pi31415,snowmass,ayacdc,jessicam,giuliana,5tgbnhy6,harlee,giuli,bigwig,tentacle,scoubidou2,benelli,vasilina,nimda,284655,jaihind,lero4ka,1tommy,reggi,ididit,jlbyjxtcndj,mike26,qbert,wweraw,lukasz,loosee123,palantir,flint1,mapper,baldie,saturne,virgin1,meeeee,elkcit,iloveme2,blue15,themoon,radmir,number3,shyanne,missle,hannelor,jasmina,karin1,lewie622,ghjcnjqgfhjkm,blasters,oiseau,sheela,grinders,panget,rapido,positiv,twink,fltkbyf,kzsfj874,daniel01,enjoyit,nofags,doodad,rustler,squealer,fortunat,peace123,khushi,devils2,7inches,candlebo,topdawg,armen,soundman,zxcqweasd,april7,gazeta,netman,hoppers,bear99,ghbjhbntn,mantle7,bigbo,harpo,jgordon,bullshi,vinny1,krishn,star22,thunderc,galinka,phish123,tintable,nightcrawler,tigerboy,rbhgbx,messi,basilisk,masha1998,nina123,yomamma,kayla123,geemoney,0000000000d,motoman,a3jtni,ser123,owen10,italien,vintelok,12345rewq,nightime,jeepin,ch1tt1ck,mxyzptlk,bandido,ohboy,doctorj,hussar,superted,parfilev,grundle,1jack,livestrong,chrisj,matthew3,access22,moikka,fatone,miguelit,trivium,glenn1,smooches,heiko,dezember,spaghett,stason,molokai,bossdog,guitarma,waderh,boriska,photosho,path13,hfrtnf,audre,junior24,monkey24,silke,vaz21093,bigblue1,trident1,candide,arcanum,klinker,orange99,bengals1,rosebu,mjujuj,nallepuh,mtwapa1a,ranger69,level1,bissjop,leica,1tiffany,rutabega,elvis77,kellie1,sameas,barada,karabas,frank12,queenb,toutoune,surfcity,samanth1,monitor1,littledo,kazakova,fodase,mistral1,april22,carlit,shakal,batman123,fuckoff2,alpha01,5544332211,buddy3,towtruck,kenwood1,vfiekmrf,jkl123,pypsik,ranger75,sitges,toyman,bartek1,ladygirl,booman,boeing77,installsqlst,222666,gosling,bigmack,223311,bogos,kevin2,gomez1,xohzi3g4,kfnju842,klubnika,cubalibr,123456789101,kenpo,0147852369,raptor1,tallulah,boobys,jjones,1q2s3c,moogie,vid2600,almas,wombat1,extra300,xfiles1,green77,sexsex1,heyjude,sammyy,missy123,maiyeuem,nccpl25282,thicluv,sissie,raven3,fldjrfn,buster22,broncos2,laurab,letmein4,harrydog,solovey,fishlips,asdf4321,ford123,superjet,norwegen,movieman,psw333333,intoit,postbank,deepwate,ola123,geolog323,murphys,eshort,a3eilm2s2y,kimota,belous,saurus,123321qaz,i81b4u,aaa12,monkey20,buckwild,byabybnb,mapleleafs,yfcnzyfcnz,baby69,summer03,twista,246890,246824,ltcnhjth,z1z2z3,monika1,sad123,uto29321,bathory,villan,funkey,poptarts,spam967888,705499fh,sebast,porn1234,earn381,1porsche,whatthef,123456789y,polo12,brillo,soreilly,waters1,eudora,allochka,is_a_bot,winter00,bassplay,531879fiz,onemore,bjarne,red911,kot123,artur1,qazxdr,c0rvette,diamond7,matematica,klesko,beaver12,2enter,seashell,panam,chaching,edward2,browni,xenogear,cornfed,aniram,chicco22,darwin1,ancella2,sophie2,vika1998,anneli,shawn41,babie,resolute,pandora2,william8,twoone,coors1,jesusis1,teh012,cheerlea,renfield,tessa1,anna1986,madness1,bkmlfh,19719870,liebherr,ck6znp42,gary123,123654z,alsscan,eyedoc,matrix7,metalgea,chinito,4iter,falcon11,7jokx7b9du,bigfeet,tassadar,retnuh,muscle1,klimova,darion,batistuta,bigsur,1herbier,noonie,ghjrehjh,karimova,faustus,snowwhite,1manager,dasboot,michael12,analfuck,inbed,dwdrums,jaysoncj,maranell,bsheep75,164379,rolodex,166666,rrrrrrr1,almaz666,167943,russel1,negrito,alianz,goodpussy,veronik,1w2q3r4e,efremov,emb377,sdpass,william6,alanfahy,nastya1995,panther5,automag,123qwe12,vfvf2011,fishe,1peanut,speedie,qazwsx1234,pass999,171204j,ketamine,sheena1,energizer,usethis1,123abc123,buster21,thechamp,flvbhfk,frank69,chane,hopeful1,claybird,pander,anusha,bigmaxxx,faktor,housebed,dimidrol,bigball,shashi,derby1,fredy,dervish,bootycall,80988218126,killerb,cheese2,pariss,mymail,dell123,catbert,christa1,chevytru,gjgjdf,00998877,overdriv,ratten,golf01,nyyanks,dinamite,bloembol,gismo,magnus1,march2,twinkles,ryan22,duckey,118a105b,kitcat,brielle,poussin,lanzarot,youngone,ssvegeta,hero63,battle1,kiler,fktrcfylh1,newera,vika1996,dynomite,oooppp,beer4me,foodie,ljhjuf,sonshine,godess,doug1,constanc,thinkbig,steve2,damnyou,autogod,www333,kyle1,ranger7,roller1,harry2,dustin1,hopalong,tkachuk,b00bies,bill2,deep111,stuffit,fire69,redfish1,andrei123,graphix,1fishing,kimbo1,mlesp31,ifufkbyf,gurkan,44556,emily123,busman,and123,8546404,paladine,1world,bulgakov,4294967296,bball23,1wwwww,mycats,elain,delta6,36363,emilyb,color1,6060842,cdtnkfyrf,hedonism,gfgfrfhkj,5551298,scubad,gostate,sillyme,hdbiker,beardown,fishers,sektor,00000007,newbaby,rapid1,braves95,gator2,nigge,anthony3,sammmy,oou812,heffer,phishin,roxanne1,yourass,hornet1,albator,2521659,underwat,tanusha,dianas,3f3fpht7op,dragon20,bilbobag,cheroke,radiatio,dwarf1,majik,33st33,dochka,garibald,robinh,sham69,temp01,wakeboar,violet1,1w2w3w,registr,tonite,maranello,1593570,parolamea,galatasara,loranthos,1472583,asmodean,1362840,scylla,doneit,jokerr,porkypig,kungen,mercator,koolhaas,come2me,debbie69,calbear,liverpoolfc,yankees4,12344321a,kennyb,madma,85200258,dustin23,thomas13,tooling,mikasa,mistic,crfnbyf,112233445,sofia1,heinz57,colts1,price1,snowey,joakim,mark11,963147,cnhfcnm,kzinti,1bbbbbbb,rubberdu,donthate,rupert1,sasha1992,regis1,nbuhbwf,fanboy,sundial,sooner1,wayout,vjnjhjkf,deskpro,arkangel,willie12,mikeyb,celtic1888,luis1,buddy01,duane1,grandma1,aolcom,weeman,172839456,basshead,hornball,magnu,pagedown,molly2,131517,rfvtgbyhn,astonmar,mistery,madalina,cash1,1happy,shenlong,matrix01,nazarova,369874125,800500,webguy,rse2540,ashley2,briank,789551,786110,chunli,j0nathan,greshnik,courtne,suckmyco,mjollnir,789632147,asdfg1234,754321,odelay,ranma12,zebedee,artem777,bmw318is,butt1,rambler1,yankees9,alabam,5w76rnqp,rosies,mafioso,studio1,babyruth,tranzit,magical123,gfhjkm135,12345$,soboleva,709394,ubique,drizzt1,elmers,teamster,pokemons,1472583690,1597532486,shockers,merckx,melanie2,ttocs,clarisse,earth1,dennys,slobber,flagman,farfalla,troika,4fa82hyx,hakan,x4ww5qdr,cumsuck,leather1,forum1,july20,barbel,zodiak,samuel12,ford01,rushfan,bugsy1,invest1,tumadre,screwme,a666666,money5,henry8,tiddles,sailaway,starburs,100years,killer01,comando,hiromi,ranetka,thordog,blackhole,palmeira,verboten,solidsna,q1w1e1,humme,kevinc,gbrfxe,gevaudan,hannah11,peter2,vangar,sharky7,talktome,jesse123,chuchi,pammy,!qazxsw2,siesta,twenty1,wetwilly,477041,natural1,sun123,daniel3,intersta,shithead1,hellyea,bonethugs,solitair,bubbles2,father1,nick01,444000,adidas12,dripik,cameron2,442200,a7nz8546,respublika,fkojn6gb,428054,snoppy,rulez1,haslo,rachael1,purple01,zldej102,ab12cd34,cytuehjxrf,madhu,astroman,preteen,handsoff,mrblonde,biggio,testin,vfdhif,twolves,unclesam,asmara,kpydskcw,lg2wmgvr,grolsch,biarritz,feather1,williamm,s62i93,bone1,penske,337733,336633,taurus1,334433,billet,diamondd,333000,nukem,fishhook,godogs,thehun,lena1982,blue00,smelly1,unb4g9ty,65pjv22,applegat,mikehunt,giancarlo,krillin,felix123,december1,soapy,46doris,nicole23,bigsexy1,justin10,pingu,bambou,falcon12,dgthtl,1surfer,qwerty01,estrellit,nfqcjy,easygo,konica,qazqwe,1234567890m,stingers,nonrev,3e4r5t,champio,bbbbbb99,196400,allen123,seppel,simba2,rockme,zebra3,tekken3,endgame,sandy2,197300,fitte,monkey00,eldritch,littleone,rfyfgkz,1member,66chevy,oohrah,cormac,hpmrbm41,197600,grayfox,elvis69,celebrit,maxwell7,rodders,krist,1camaro,broken1,kendall1,silkcut,katenka,angrick,maruni,17071994a,tktyf,kruemel,snuffles,iro4ka,baby12,alexis01,marryme,vlad1994,forward1,culero,badaboom,malvin,hardtoon,hatelove,molley,knopo4ka,duchess1,mensuck,cba321,kickbutt,zastava,wayner,fuckyou6,eddie123,cjkysir,john33,dragonfi,cody1,jabell,cjhjrf,badseed,sweden1,marihuana,brownlov,elland,nike1234,kwiettie,jonnyboy,togepi,billyk,robert123,bb334,florenci,ssgoku,198910,bristol1,bob007,allister,yjdujhjl,gauloise,198920,bellaboo,9lives,aguilas,wltfg4ta,foxyroxy,rocket69,fifty50,babalu,master21,malinois,kaluga,gogosox,obsessio,yeahrigh,panthers1,capstan,liza2000,leigh1,paintball1,blueskie,cbr600f3,bagdad,jose98,mandreki,shark01,wonderbo,muledeer,xsvnd4b2,hangten,200001,grenden,anaell,apa195,model1,245lufpq,zip100,ghjcgtrn,wert1234,misty2,charro,juanjose,fkbcrf,frostbit,badminto,buddyy,1doctor,vanya,archibal,parviz,spunky1,footboy,dm6tzsgp,legola,samadhi,poopee,ytdxz2ca,hallowboy,dposton,gautie,theworm,guilherme,dopehead,iluvtits,bobbob1,ranger6,worldwar,lowkey,chewbaca,oooooo99,ducttape,dedalus,celular,8i9o0p,borisenko,taylor01,111111z,arlingto,p3nnywiz,rdgpl3ds,boobless,kcmfwesg,blacksab,mother2,markus1,leachim,secret2,s123456789,1derful,espero,russell2,tazzer,marykate,freakme,mollyb,lindros8,james00,gofaster,stokrotka,kilbosik,aquamann,pawel1,shedevil,mousie,slot2009,october6,146969,mm259up,brewcrew,choucho,uliana,sexfiend,fktirf,pantss,vladimi,starz,sheeps,12341234q,bigun,tiggers,crjhjcnm,libtech,pudge1,home12,zircon,klaus1,jerry2,pink1,lingus,monkey66,dumass,polopolo09,feuerweh,rjyatnf,chessy,beefer,shamen,poohbear1,4jjcho,bennevis,fatgirls,ujnbrf,cdexswzaq,9noize9,rich123,nomoney,racecar1,hacke,clahay,acuario,getsum,hondacrv,william0,cheyenn,techdeck,atljhjdf,wtcacq,suger,fallenangel,bammer,tranquil,carla123,relayer,lespaul1,portvale,idontno,bycnbnen,trooper2,gennadiy,pompon,billbob,amazonka,akitas,chinatow,atkbrc,busters,fitness1,cateye,selfok2013,1murphy,fullhous,mucker,bajskorv,nectarin,littlebitch,love24,feyenoor,bigal37,lambo1,pussybitch,icecube1,biged,kyocera,ltybcjdf,boodle,theking1,gotrice,sunset1,abm1224,fromme,sexsells,inheat,kenya1,swinger1,aphrodit,kurtcobain,rhind101,poidog,poiulkjh,kuzmina,beantown,tony88,stuttgar,drumer,joaqui,messenge,motorman,amber2,nicegirl,rachel69,andreia,faith123,studmuffin,jaiden,red111,vtkmybr,gamecocks,gumper,bosshogg,4me2know,tokyo1,kleaner,roadhog,fuckmeno,phoenix3,seeme,buttnutt,boner69,andreyka,myheart,katerin,rugburn,jvtuepip,dc3ubn,chile1,ashley69,happy99,swissair,balls2,fylhttdf,jimboo,55555d,mickey11,voronin,m7hsqstm,stufff,merete,weihnachte,dowjones,baloo1,freeones,bears34,auburn1,beverl,timberland,1elvis,guinness1,bombadil,flatron1,logging7,telefoon,merl1n,masha1,andrei1,cowabung,yousuck1,1matrix,peopl,asd123qwe,sweett,mirror1,torrente,joker12,diamond6,jackaroo,00000a,millerlite,ironhorse,2twins,stryke,gggg1,zzzxxxccc,roosevel,8363eddy,angel21,depeche1,d0ct0r,blue14,areyou,veloce,grendal,frederiksberg,cbcntvf,cb207sl,sasha2000,was.here,fritzz,rosedale,spinoza,cokeisit,gandalf3,skidmark,ashley01,12345j,1234567890qaz,sexxxxxx,beagles,lennart,12345789,pass10,politic,max007,gcheckou,12345611,tiffy,lightman,mushin,velosiped,brucewayne,gauthie,elena123,greenegg,h2oski,clocker,nitemare,123321s,megiddo,cassidy1,david13,boywonde,flori,peggy12,pgszt6md,batterie,redlands,scooter6,bckhere,trueno,bailey11,maxwell2,bandana,timoth1,startnow,ducati74,tiern,maxine1,blackmetal,suzyq,balla007,phatfarm,kirsten1,titmouse,benhogan,culito,forbin,chess1,warren1,panman,mickey7,24lover,dascha,speed2,redlion,andrew10,johnwayn,nike23,chacha1,bendog,bullyboy,goldtree,spookie,tigger99,1cookie,poutine,cyclone1,woodpony,camaleun,bluesky1,dfadan,eagles20,lovergirl,peepshow,mine1,dima1989,rjdfkmxer,11111aaaaa,machina,august17,1hhhhh,0773417k,1monster,freaksho,jazzmin,davidw,kurupt,chumly,huggies,sashenka,ccccccc1,bridge1,giggalo,cincinna,pistol1,hello22,david77,lightfoo,lucky6,jimmy12,261397,lisa12,tabaluga,mysite,belo4ka,greenn,eagle99,punkrawk,salvado,slick123,wichsen,knight99,dummys,fefolico,contrera,kalle1,anna1984,delray,robert99,garena,pretende,racefan,alons,serenada,ludmilla,cnhtkjr,l0swf9gx,hankster,dfktynbyrf,sheep1,john23,cv141ab,kalyani,944turbo,crystal2,blackfly,zrjdktdf,eus1sue1,mario5,riverplate,harddriv,melissa3,elliott1,sexybitc,cnhfyybr,jimdavis,bollix,beta1,amberlee,skywalk1,natala,1blood,brattax,shitty1,gb15kv99,ronjon,rothmans,thedoc,joey21,hotboi,firedawg,bimbo38,jibber,aftermat,nomar,01478963,phishing,domodo,anna13,materia,martha1,budman1,gunblade,exclusiv,sasha1997,anastas,rebecca2,fackyou,kallisti,fuckmyass,norseman,ipswich1,151500,1edward,intelinside,darcy1,bcrich,yjdjcnbf,failte,buzzzz,cream1,tatiana1,7eleven,green8,153351,1a2s3d4f5g6h,154263,milano1,bambi1,bruins77,rugby2,jamal1,bolita,sundaypunch,bubba12,realmadr,vfyxtcnth,iwojima,notlob,black666,valkiria,nexus1,millerti,birthday100,swiss1,appollo,gefest,greeneyes,celebrat,tigerr,slava123,izumrud,bubbabub,legoman,joesmith,katya123,sweetdream,john44,wwwwwww1,oooooo1,socal,lovespor,s5r8ed67s,258147,heidis,cowboy22,wachovia,michaelb,qwe1234567,i12345,255225,goldie1,alfa155,45colt,safeu851,antonova,longtong,1sparky,gfvznm,busen,hjlbjy,whateva,rocky4,cokeman,joshua3,kekskek1,sirocco,jagman,123456qwert,phinupi,thomas10,loller,sakur,vika2011,fullred,mariska,azucar,ncstate,glenn74,halima,aleshka,ilovemylife,verlaat,baggie,scoubidou6,phatboy,jbruton,scoop1,barney11,blindman,def456,maximus2,master55,nestea,11223355,diego123,sexpistols,sniffy,philip1,f12345,prisonbreak,nokia2700,ajnjuhfa,yankees3,colfax,ak470000,mtnman,bdfyeirf,fotball,ichbin,trebla,ilusha,riobravo,beaner1,thoradin,polkaudi,kurosawa,honda123,ladybu,valerik,poltava,saviola,fuckyouguys,754740g0,anallove,microlab1,juris01,ncc1864,garfild,shania1,qagsud,makarenko,cindy69,lebedev,andrew11,johnnybo,groovy1,booster1,sanders1,tommyb,johnson4,kd189nlcih,hondaman,vlasova,chick1,sokada,sevisgur,bear2327,chacho,sexmania,roma1993,hjcnbckfd,valley1,howdie,tuppence,jimandanne,strike3,y4kuz4,nhfnfnf,tsubasa,19955991,scabby,quincunx,dima1998,uuuuuu1,logica,skinner1,pinguino,lisa1234,xpressmusic,getfucked,qqqq1,bbbb1,matulino,ulyana,upsman,johnsmith,123579,co2000,spanner1,todiefor,mangoes,isabel1,123852,negra,snowdon,nikki123,bronx1,booom,ram2500,chuck123,fireboy,creek1,batman13,princesse,az12345,maksat,1knight,28infern,241455,r7112s,muselman,mets1986,katydid,vlad777,playme,kmfdm1,asssex,1prince,iop890,bigbroth,mollymoo,waitron,lizottes,125412,juggler,quinta,0sister0,zanardi,nata123,heckfyxbr,22q04w90e,engine2,nikita95,zamira,hammer22,lutscher,carolina1,zz6319,sanman,vfuflfy,buster99,rossco,kourniko,aggarwal,tattoo1,janice1,finger1,125521,19911992,shdwlnds,rudenko,vfvfgfgf123,galatea,monkeybu,juhani,premiumcash,classact,devilmay,helpme2,knuddel,hardpack,ramil,perrit,basil1,zombie13,stockcar,tos8217,honeypie,nowayman,alphadog,melon1,talula,125689,tiribon12,tornike,haribol,telefone,tiger22,sucka,lfytxrf,chicken123,muggins,a23456,b1234567,lytdybr,otter1,pippa,vasilisk,cooking1,helter,78978,bestboy,viper7,ahmed1,whitewol,mommys,apple5,shazam1,chelsea7,kumiko,masterma,rallye,bushmast,jkz123,entrar,andrew6,nathan01,alaric,tavasz,heimdall,gravy1,jimmy99,cthlwt,powerr,gthtrhtcnjr,canesfan,sasha11,ybrbnf_25,august9,brucie,artichok,arnie1,superdude,tarelka,mickey22,dooper,luners,holeshot,good123,gettysbu,bicho,hammer99,divine5,1zxcvbn,stronzo,q22222,disne,bmw750il,godhead,hallodu,aerith,nastik,differen,cestmoi,amber69,5string,pornosta,dirtygirl,ginger123,formel1,scott12,honda200,hotspurs,johnatha,firstone123,lexmark1,msconfig,karlmasc,l123456,123qweasdzx,baldman,sungod,furka,retsub,9811020,ryder1,tcglyued,astron,lbvfcbr,minddoc,dirt49,baseball12,tbear,simpl,schuey,artimus,bikman,plat1num,quantex,gotyou,hailey1,justin01,ellada,8481068,000002,manimal,dthjybxrf,buck123,dick123,6969696,nospam,strong1,kodeord,bama12,123321w,superman123,gladiolus,nintend,5792076,dreamgirl,spankme1,gautam,arianna1,titti,tetas,cool1234,belladog,importan,4206969,87e5nclizry,teufelo7,doller,yfl.irf,quaresma,3440172,melis,bradle,nnmaster,fast1,iverso,blargh,lucas12,chrisg,iamsam,123321az,tomjerry,kawika,2597174,standrew,billyg,muskan,gizmodo2,rz93qpmq,870621345,sathya,qmezrxg4,januari,marthe,moom4261,cum2me,hkger286,lou1988,suckit1,croaker,klaudia1,753951456,aidan1,fsunoles,romanenko,abbydog,isthebes,akshay,corgi,fuck666,walkman555,ranger98,scorpian,hardwareid,bluedragon,fastman,2305822q,iddqdiddqd,1597532,gopokes,zvfrfcb,w1234567,sputnik1,tr1993,pa$$w0rd,2i5fdruv,havvoc,1357913,1313131,bnm123,cowd00d,flexscan,thesims2,boogiema,bigsexxy,powerstr,ngc4565,joshman,babyboy1,123jlb,funfunfu,qwe456,honor1,puttana,bobbyj,daniel21,pussy12,shmuck,1232580,123578951,maxthedo,hithere1,bond0007,gehenna,nomames,blueone,r1234567,bwana,gatinho,1011111,torrents,cinta,123451234,tiger25,money69,edibey,pointman,mmcm19,wales1,caffreys,phaedra,bloodlus,321ret32,rufuss,tarbit,joanna1,102030405,stickboy,lotrfotr34,jamshid,mclarenf1,ataman,99ford,yarrak,logan2,ironlung,pushistik,dragoon1,unclebob,tigereye,pinokio,tylerj,mermaid1,stevie1,jaylen,888777,ramana,roman777,brandon7,17711771s,thiago,luigi1,edgar1,brucey,videogam,classi,birder,faramir,twiddle,cubalibre,grizzy,fucky,jjvwd4,august15,idinahui,ranita,nikita1998,123342,w1w2w3,78621323,4cancel,789963,(null,vassago,jaydog472,123452,timt42,canada99,123589,rebenok,htyfnf,785001,osipov,maks123,neverwinter,love2010,777222,67390436,eleanor1,bykemo,aquemini,frogg,roboto,thorny,shipmate,logcabin,66005918,nokian,gonzos,louisian,1abcdefg,triathlo,ilovemar,couger,letmeino,supera,runvs,fibonacci,muttly,58565254,5thgbqi,vfnehsv,electr,jose12,artemis1,newlove,thd1shr,hawkey,grigoryan,saisha,tosca,redder,lifesux,temple1,bunnyman,thekids,sabbeth,tarzan1,182838,158uefas,dell50,1super,666222,47ds8x,jackhamm,mineonly,rfnfhbyf,048ro,665259,kristina1,bombero,52545856,secure1,bigloser,peterk,alex2,51525354,anarchy1,superx,teenslut,money23,sigmapi,sanfrancisco,acme34,private5,eclips,qwerttrewq,axelle,kokain,hardguy,peter69,jesuschr,dyanna,dude69,sarah69,toyota91,amberr,45645645,bugmenot,bigted,44556677,556644,wwr8x9pu,alphaome,harley13,kolia123,wejrpfpu,revelati,nairda,sodoff,cityboy,pinkpussy,dkalis,miami305,wow12345,triplet,tannenbau,asdfasdf1,darkhors,527952,retired1,soxfan,nfyz123,37583867,goddes,515069,gxlmxbewym,1warrior,36925814,dmb2011,topten,karpova,89876065093rax,naturals,gateway9,cepseoun,turbot,493949,cock22,italia1,sasafras,gopnik,stalke,1qazxdr5,wm2006,ace1062,alieva,blue28,aracel,sandia,motoguzz,terri1,emmajane,conej,recoba,alex1995,jerkyboy,cowboy12,arenrone,precisio,31415927,scsa316,panzer1,studly1,powerhou,bensam,mashoutq,billee,eeyore1,reape,thebeatl,rul3z,montesa,doodle1,cvzefh1gk,424365,a159753,zimmerma,gumdrop,ashaman,grimreap,icandoit,borodina,branca,dima2009,keywest1,vaders,bubluk,diavolo,assss,goleta,eatass,napster1,382436,369741,5411pimo,lenchik,pikach,gilgamesh,kalimera,singer1,gordon2,rjycnbnewbz,maulwurf,joker13,2much4u,bond00,alice123,robotec,fuckgirl,zgjybz,redhorse,margaret1,brady1,pumpkin2,chinky,fourplay,1booger,roisin,1brandon,sandan,blackheart,cheez,blackfin,cntgfyjdf,mymoney1,09080706,goodboss,sebring1,rose1,kensingt,bigboner,marcus12,ym3cautj,struppi,thestone,lovebugs,stater,silver99,forest99,qazwsx12345,vasile,longboar,mkonji,huligan,rhfcbdfz,airmail,porn11,1ooooo,sofun,snake2,msouthwa,dougla,1iceman,shahrukh,sharona,dragon666,france98,196800,196820,ps253535,zjses9evpa,sniper01,design1,konfeta,jack99,drum66,good4you,station2,brucew,regedit,school12,mvtnr765,pub113,fantas,tiburon1,king99,ghjcnjgbpltw,checkito,308win,1ladybug,corneliu,svetasveta,197430,icicle,imaccess,ou81269,jjjdsl,brandon6,bimbo1,smokee,piccolo1,3611jcmg,children2,cookie2,conor1,darth1,margera,aoi856,paully,ou812345,sklave,eklhigcz,30624700,amazing1,wahooo,seau55,1beer,apples2,chulo,dolphin9,heather6,198206,198207,hergood,miracle1,njhyflj,4real,milka,silverfi,fabfive,spring12,ermine,mammy,jumpjet,adilbek,toscana,caustic,hotlove,sammy69,lolita1,byoung,whipme,barney01,mistys,tree1,buster3,kaylin,gfccgjhn,132333,aishiteru,pangaea,fathead1,smurph,198701,ryslan,gasto,xexeylhf,anisimov,chevyss,saskatoo,brandy12,tweaker,irish123,music2,denny1,palpatin,outlaw1,lovesuck,woman1,mrpibb,diadora,hfnfneq,poulette,harlock,mclaren1,cooper12,newpass3,bobby12,rfgecnfcerf,alskdjfh,mini14,dukers,raffael,199103,cleo123,1234567qwertyu,mossberg,scoopy,dctulf,starline,hjvjxrf,misfits1,rangers2,bilbos,blackhea,pappnase,atwork,purple2,daywalker,summoner,1jjjjjjj,swansong,chris10,laluna,12345qqq,charly1,lionsden,money99,silver33,hoghead,bdaddy,199430,saisg002,nosaints,tirpitz,1gggggg,jason13,kingss,ernest1,0cdh0v99ue,pkunzip,arowana,spiri,deskjet1,armine,lances,magic2,thetaxi,14159265,cacique,14142135,orange10,richard0,backdraf,255ooo,humtum,kohsamui,c43dae874d,wrestling1,cbhtym,sorento,megha,pepsiman,qweqwe12,bliss7,mario64,korolev,balls123,schlange,gordit,optiquest,fatdick,fish99,richy,nottoday,dianne1,armyof1,1234qwerasdfzxcv,bbonds,aekara,lidiya,baddog1,yellow5,funkie,ryan01,greentree,gcheckout,marshal1,liliput,000000z,rfhbyrf,gtogto43,rumpole,tarado,marcelit,aqwzsxedc,kenshin1,sassydog,system12,belly1,zilla,kissfan,tools1,desember,donsdad,nick11,scorpio6,poopoo1,toto99,steph123,dogfuck,rocket21,thx113,dude12,sanek,sommar,smacky,pimpsta,letmego,k1200rs,lytghjgtnhjdcr,abigale,buddog,deles,baseball9,roofus,carlsbad,hamzah,hereiam,genial,schoolgirlie,yfz450,breads,piesek,washear,chimay,apocalyp,nicole18,gfgf1234,gobulls,dnevnik,wonderwall,beer1234,1moose,beer69,maryann1,adpass,mike34,birdcage,hottuna,gigant,penquin,praveen,donna123,123lol123,thesame,fregat,adidas11,selrahc,pandoras,test3,chasmo,111222333000,pecos,daniel11,ingersol,shana1,mama12345,cessna15,myhero,1simpson,nazarenko,cognit,seattle2,irina1,azfpc310,rfycthdf,hardy1,jazmyn,sl1200,hotlanta,jason22,kumar123,sujatha,fsd9shtyu,highjump,changer,entertai,kolding,mrbig,sayuri,eagle21,qwertzu,jorge1,0101dd,bigdong,ou812a,sinatra1,htcnjhfy,oleg123,videoman,pbyfblf,tv612se,bigbird1,kenaidog,gunite,silverma,ardmore,123123qq,hotbot,cascada,cbr600f4,harakiri,chico123,boscos,aaron12,glasgow1,kmn5hc,lanfear,1light,liveoak,fizika,ybrjkftdyf,surfside,intermilan,multipas,redcard,72chevy,balata,coolio1,schroede,kanat,testerer,camion,kierra,hejmeddig,antonio2,tornados,isidor,pinkey,n8skfswa,ginny1,houndog,1bill,chris25,hastur,1marine,greatdan,french1,hatman,123qqq,z1z2z3z4,kicker1,katiedog,usopen,smith22,mrmagoo,1234512i,assa123,7seven7,monster7,june12,bpvtyf,149521,guenter,alex1985,voronina,mbkugegs,zaqwsxcderfv,rusty5,mystic1,master0,abcdef12,jndfkb,r4zpm3,cheesey,skripka,blackwhite,sharon69,dro8smwq,lektor,techman,boognish,deidara,heckfyf,quietkey,authcode,monkey4,jayboy,pinkerto,merengue,chulita,bushwick,turambar,kittykit,joseph2,dad123,kristo,pepote,scheiss,hambone1,bigballa,restaura,tequil,111luzer,euro2000,motox,denhaag,chelsi,flaco1,preeti,lillo,1001sin,passw,august24,beatoff,555555d,willis1,kissthis,qwertyz,rvgmw2gl,iloveboobies,timati,kimbo,msinfo,dewdrop,sdbaker,fcc5nky2,messiah1,catboy,small1,chode,beastie1,star77,hvidovre,short1,xavie,dagobah,alex1987,papageno,dakota2,toonami,fuerte,jesus33,lawina,souppp,dirtybir,chrish,naturist,channel1,peyote,flibble,gutentag,lactate,killem,zucchero,robinho,ditka,grumpy1,avr7000,boxxer,topcop,berry1,mypass1,beverly1,deuce1,9638527410,cthuttdf,kzkmrf,lovethem,band1t,cantona1,purple11,apples123,wonderwo,123a456,fuzzie,lucky99,dancer2,hoddling,rockcity,winner12,spooty,mansfiel,aimee1,287hf71h,rudiger,culebra,god123,agent86,daniel0,bunky1,notmine,9ball,goofus,puffy1,xyh28af4,kulikov,bankshot,vurdf5i2,kevinm,ercole,sexygirls,razvan,october7,goater,lollie,raissa,thefrog,mdmaiwa3,mascha,jesussaves,union1,anthony9,crossroa,brother2,areyuke,rodman91,toonsex,dopeman,gericom,vaz2115,cockgobbler,12356789,12345699,signatur,alexandra1,coolwhip,erwin1,awdrgyjilp,pens66,ghjrjgtyrj,linkinpark,emergenc,psych0,blood666,bootmort,wetworks,piroca,johnd,iamthe1,supermario,homer69,flameon,image1,bebert,fylhtq1,annapoli,apple11,hockey22,10048,indahouse,mykiss,1penguin,markp,misha123,foghat,march11,hank1,santorin,defcon4,tampico,vbnhjafy,robert22,bunkie,athlon64,sex777,nextdoor,koskesh,lolnoob,seemnemaailm,black23,march15,yeehaa,chiqui,teagan,siegheil,monday2,cornhusk,mamusia,chilis,sthgrtst,feldspar,scottm,pugdog,rfghjy,micmac,gtnhjdyf,terminato,1jackson,kakosja,bogomol,123321aa,rkbvtyrj,tresor,tigertig,fuckitall,vbkkbjy,caramon,zxc12,balin,dildo1,soccer09,avata,abby123,cheetah1,marquise,jennyc,hondavfr,tinti,anna1985,dennis2,jorel,mayflowe,icema,hal2000,nikkis,bigmouth,greenery,nurjan,leonov,liberty7,fafnir,larionov,sat321321,byteme1,nausicaa,hjvfynbrf,everto,zebra123,sergio1,titone,wisdom1,kahala,104328q,marcin1,salima,pcitra,1nnnnn,nalini,galvesto,neeraj,rick1,squeeky,agnes1,jitterbu,agshar,maria12,0112358,traxxas,stivone,prophet1,bananza,sommer1,canoneos,hotfun,redsox11,1bigmac,dctdjkjl,legion1,everclea,valenok,black9,danny001,roxie1,1theman,mudslide,july16,lechef,chula,glamis,emilka,canbeef,ioanna,cactus1,rockshox,im2cool,ninja9,thvfrjdf,june28,milo17,missyou,micky1,nbibyf,nokiaa,goldi,mattias,fuckthem,asdzxc123,ironfist,junior01,nesta,crazzy,killswit,hygge,zantac,kazama,melvin1,allston,maandag,hiccup,prototyp,specboot,dwl610,hello6,159456,baldhead,redwhite,calpoly,whitetail,agile1,cousteau,matt01,aust1n,malcolmx,gjlfhjr,semperf1,ferarri,a1b2c3d,vangelis,mkvdari,bettis36,andzia,comand,tazzman,morgaine,pepluv,anna1990,inandout,anetka,anna1997,wallpape,moonrake,huntress,hogtie,cameron7,sammy7,singe11,clownboy,newzeala,wilmar,safrane,rebeld,poopi,granat,hammertime,nermin,11251422,xyzzy1,bogeys,jkmxbr,fktrcfyl,11223311,nfyrbcn,11223300,powerpla,zoedog,ybrbnbyf,zaphod42,tarawa,jxfhjdfirf,dude1234,g5wks9,goobe,czekolada,blackros,amaranth,medical1,thereds,julija,nhecsyfujkjdt,promopas,buddy4,marmalad,weihnachten,tronic,letici,passthief,67mustan,ds7zamnw,morri,w8woord,cheops,pinarell,sonofsam,av473dv,sf161pn,5c92v5h6,purple13,tango123,plant1,1baby,xufrgemw,fitta,1rangers,spawns,kenned,taratata,19944991,11111118,coronas,4ebouux8,roadrash,corvette1,dfyjdf846,marley12,qwaszxerdfcv,68stang,67stang,racin,ellehcim,sofiko,nicetry,seabass1,jazzman1,zaqwsx1,laz2937,uuuuuuu1,vlad123,rafale,j1234567,223366,nnnnnn1,226622,junkfood,asilas,cer980,daddymac,persepho,neelam,00700,shithappens,255555,qwertyy,xbox36,19755791,qweasd1,bearcub,jerryb,a1b1c1,polkaudio,basketball1,456rty,1loveyou,marcus2,mama1961,palace1,transcend,shuriken,sudhakar,teenlove,anabelle,matrix99,pogoda,notme,bartend,jordana,nihaoma,ataris,littlegi,ferraris,redarmy,giallo,fastdraw,accountbloc,peludo,pornostar,pinoyako,cindee,glassjaw,dameon,johnnyd,finnland,saudade,losbravo,slonko,toplay,smalltit,nicksfun,stockhol,penpal,caraj,divedeep,cannibus,poppydog,pass88,viktory,walhalla,arisia,lucozade,goldenbo,tigers11,caball,ownage123,tonna,handy1,johny,capital5,faith2,stillher,brandan,pooky1,antananarivu,hotdick,1justin,lacrimos,goathead,bobrik,cgtwbfkbcn,maywood,kamilek,gbplf123,gulnar,beanhead,vfvjyn,shash,viper69,ttttttt1,hondacr,kanako,muffer,dukies,justin123,agapov58,mushka,bad11bad,muleman,jojo123,andreika,makeit,vanill,boomers,bigals,merlin11,quacker,aurelien,spartak1922,ligeti,diana2,lawnmowe,fortune1,awesom,rockyy,anna1994,oinker,love88,eastbay,ab55484,poker0,ozzy666,papasmurf,antihero,photogra,ktm250,painkill,jegr2d2,p3orion,canman,dextur,qwest123,samboy,yomismo,sierra01,herber,vfrcbvvfrcbv,gloria1,llama1,pie123,bobbyjoe,buzzkill,skidrow,grabber,phili,javier1,9379992q,geroin,oleg1994,sovereig,rollover,zaq12qaz,battery1,killer13,alina123,groucho1,mario12,peter22,butterbean,elise1,lucycat,neo123,ferdi,golfer01,randie,gfhfyjbr,ventura1,chelsea3,pinoy,mtgox,yrrim7,shoeman,mirko,ffggyyo,65mustan,ufdibyjd,john55,suckfuck,greatgoo,fvfnjhb,mmmnnn,love20,1bullshi,sucesso,easy1234,robin123,rockets1,diamondb,wolfee,nothing0,joker777,glasnost,richar1,guille,sayan,koresh,goshawk,alexx,batman21,a123456b,hball,243122,rockandr,coolfool,isaia,mary1,yjdbrjdf,lolopc,cleocat,cimbo,lovehina,8vfhnf,passking,bonapart,diamond2,bigboys,kreator,ctvtyjdf,sassy123,shellac,table54781,nedkelly,philbert,sux2bu,nomis,sparky99,python1,littlebear,numpty,silmaril,sweeet,jamesw,cbufhtnf,peggysue,wodahs,luvsex,wizardry,venom123,love4you,bama1,samat,reviewpass,ned467,cjkjdtq,mamula,gijoe,amersham,devochka,redhill,gisel,preggo,polock,cando,rewster,greenlantern,panasonik,dave1234,mikeee,1carlos,miledi,darkness1,p0o9i8u7y6,kathryn1,happyguy,dcp500,assmaster,sambuka,sailormo,antonio3,logans,18254288,nokiax2,qwertzuiop,zavilov,totti,xenon1,edward11,targa1,something1,tony_t,q1w2e3r4t5y6u7i8o9p0,02551670,vladimir1,monkeybutt,greenda,neel21,craiger,saveliy,dei008,honda450,fylhtq95,spike2,fjnq8915,passwordstandard,vova12345,talonesi,richi,gigemags,pierre1,westin,trevoga,dorothee,bastogne,25563o,brandon3,truegrit,krimml,iamgreat,servis,a112233,paulinka,azimuth,corperfmonsy,358hkyp,homerun1,dogbert1,eatmyass,cottage1,savina,baseball7,bigtex,gimmesum,asdcxz,lennon1,a159357,1bastard,413276191q,pngfilt,pchealth,netsnip,bodiroga,1matt,webtvs,ravers,adapters,siddis,mashamasha,coffee2,myhoney,anna1982,marcia1,fairchil,maniek,iloveluc,batmonh,wildon,bowie1,netnwlnk,fancy1,tom204,olga1976,vfif123,queens1,ajax01,lovess,mockba,icam4usb,triada,odinthor,rstlne,exciter,sundog,anchorat,girls69,nfnmzyrf,soloma,gti16v,shadowman,ottom,rataros,tonchin,vishal,chicken0,pornlo,christiaan,volante,likesit,mariupol,runfast,gbpltw123,missys,villevalo,kbpjxrf,ghibli,calla,cessna172,kinglear,dell11,swift1,walera,1cricket,pussy5,turbo911,tucke,maprchem56458,rosehill,thekiwi1,ygfxbkgt,mandarinka,98xa29,magnit,cjfrf,paswoord,grandam1,shenmue,leedsuni,hatrick,zagadka,angeldog,michaell,dance123,koichi,bballs,29palms,xanth,228822,ppppppp1,1kkkkk,1lllll,mynewbots,spurss,madmax1,224455,city1,mmmmmmm1,nnnnnnn1,biedronka,thebeatles,elessar,f14tomcat,jordan18,bobo123,ayi000,tedbear,86chevyx,user123,bobolink,maktub,elmer1,flyfishi,franco1,gandalf0,traxdata,david21,enlighte,dmitrij,beckys,1giants,flippe,12345678w,jossie,rugbyman,snowcat,rapeme,peanut11,gemeni,udders,techn9ne,armani1,chappie,war123,vakantie,maddawg,sewanee,jake5253,tautt1,anthony5,letterma,jimbo2,kmdtyjr,hextall,jessica6,amiga500,hotcunt,phoenix9,veronda,saqartvelo,scubas,sixer3,williamj,nightfal,shihan,melnikova,kosssss,handily,killer77,jhrl0821,march17,rushman,6gcf636i,metoyou,irina123,mine11,primus1,formatters,matthew5,infotech,gangster1,jordan45,moose69,kompas,motoxxx,greatwhi,cobra12,kirpich,weezer1,hello23,montse,tracy123,connecte,cjymrf,hemingwa,azreal,gundam00,mobila,boxman,slayers1,ravshan,june26,fktrcfylhjd,bermuda1,tylerd,maersk,qazwsx11,eybdthcbntn,ash123,camelo,kat123,backd00r,cheyenne1,1king,jerkin,tnt123,trabant,warhammer40k,rambos,punto,home77,pedrito,1frank,brille,guitarman,george13,rakas,tgbxtcrbq,flute1,bananas1,lovezp1314,thespot,postie,buster69,sexytime,twistys,zacharia,sportage,toccata,denver7,terry123,bogdanova,devil69,higgins1,whatluck,pele10,kkk666,jeffery1,1qayxsw2,riptide1,chevy11,munchy,lazer1,hooker1,ghfgjh,vergesse,playgrou,4077mash,gusev,humpin,oneputt,hydepark,monster9,tiger8,tangsoo,guy123,hesoyam1,uhtqneyu,thanku,lomond,ortezza,kronik,geetha,rabbit66,killas,qazxswe,alabaste,1234567890qwerty,capone1,andrea12,geral,beatbox,slutfuck,booyaka,jasmine7,ostsee,maestro1,beatme,tracey1,buster123,donaldduck,ironfish,happy6,konnichi,gintonic,momoney1,dugan1,today2,enkidu,destiny2,trim7gun,katuha,fractals,morganstanley,polkadot,gotime,prince11,204060,fifa2010,bobbyt,seemee,amanda10,airbrush,bigtitty,heidie,layla1,cotton1,5speed,fyfnjkmtdyf,flynavy,joxury8f,meeko,akuma,dudley1,flyboy1,moondog1,trotters,mariami,signin,chinna,legs11,pussy4,1s1h1e1f1,felici,optimus1,iluvu,marlins1,gavaec,balance1,glock40,london01,kokot,southwes,comfort1,sammy11,rockbottom,brianc,litebeer,homero,chopsuey,greenlan,charit,freecell,hampster,smalldog,viper12,blofeld,1234567890987654321,realsex,romann,cartman2,cjdthitycndj,nelly1,bmw528,zwezda,masterba,jeep99,turtl,america2,sunburst,sanyco,auntjudy,125wm,blue10,qwsazx,cartma,toby12,robbob,red222,ilovecock,losfix16,1explore,helge,vaz2114,whynotme,baba123,mugen,1qazwsxedc,albertjr,0101198,sextime,supras,nicolas2,wantsex,pussy6,checkm8,winam,24gordon,misterme,curlew,gbljhfcs,medtech,franzi,butthea,voivod,blackhat,egoiste,pjkeirf,maddog69,pakalolo,hockey4,igor1234,rouges,snowhite,homefree,sexfreak,acer12,dsmith,blessyou,199410,vfrcbvjd,falco02,belinda1,yaglasph,april21,groundho,jasmin1,nevergiveup,elvir,gborv526,c00kie,emma01,awesome2,larina,mike12345,maximu,anupam,bltynbabrfwbz,tanushka,sukkel,raptor22,josh12,schalke04,cosmodog,fuckyou8,busybee,198800,bijoux,frame1,blackmor,giveit,issmall,bear13,123-123,bladez,littlegirl,ultra123,fletch1,flashnet,loploprock,rkelly,12step,lukas1,littlewhore,cuntfinger,stinkyfinger,laurenc,198020,n7td4bjl,jackie69,camel123,ben1234,1gateway,adelheid,fatmike,thuglove,zzaaqq,chivas1,4815162342q,mamadou,nadano,james22,benwin,andrea99,rjirf,michou,abkbgg,d50gnn,aaazzz,a123654,blankman,booboo11,medicus,bigbone,197200,justine1,bendix,morphius,njhvjp,44mag,zsecyus56,goodbye1,nokiadermo,a333444,waratsea,4rzp8ab7,fevral,brillian,kirbys,minim,erathia,grazia,zxcvb1234,dukey,snaggle,poppi,hymen,1video,dune2000,jpthjdf,cvbn123,zcxfcnkbdfz,astonv,ginnie,316271,engine3,pr1ncess,64chevy,glass1,laotzu,hollyy,comicbooks,assasins,nuaddn9561,scottsda,hfcnfvfy,accobra,7777777z,werty123,metalhead,romanson,redsand,365214,shalo,arsenii,1989cc,sissi,duramax,382563,petera,414243,mamapap,jollymon,field1,fatgirl,janets,trompete,matchbox20,rambo2,nepenthe,441232,qwertyuiop10,bozo123,phezc419hv,romantika,lifestyl,pengui,decembre,demon6,panther6,444888,scanman,ghjcnjabkz,pachanga,buzzword,indianer,spiderman3,tony12,startre,frog1,fyutk,483422,tupacshakur,albert12,1drummer,bmw328i,green17,aerdna,invisibl,summer13,calimer,mustaine,lgnu9d,morefun,hesoyam123,escort1,scrapland,stargat,barabbas,dead13,545645,mexicali,sierr,gfhfpbn,gonchar,moonstafa,searock,counte,foster1,jayhawk1,floren,maremma,nastya2010,softball1,adaptec,halloo,barrabas,zxcasd123,hunny,mariana1,kafedra,freedom0,green420,vlad1234,method7,665566,tooting,hallo12,davinchi,conducto,medias,666444,invernes,madhatter,456asd,12345678i,687887,le33px,spring00,help123,bellybut,billy5,vitalik1,river123,gorila,bendis,power666,747200,footslav,acehigh,qazxswedc123,q1a1z1,richard9,peterburg,tabletop,gavrilov,123qwe1,kolosov,fredrau,run4fun,789056,jkbvgbflf,chitra,87654321q,steve22,wideopen,access88,surfe,tdfyutkbjy,impossib,kevin69,880888,cantina,887766,wxcvb,dontforg,qwer1209,asslicke,mamma123,indig,arkasha,scrapp,morelia,vehxbr,jones2,scratch1,cody11,cassie12,gerbera,dontgotm,underhil,maks2010,hollywood1,hanibal,elena2010,jason11,1010321,stewar,elaman,fireplug,goodby,sacrific,babyphat,bobcat12,bruce123,1233215,tony45,tiburo,love15,bmw750,wallstreet,2h0t4me,1346795,lamerz,munkee,134679q,granvill,1512198,armastus,aiden1,pipeutvj,g1234567,angeleyes,usmc1,102030q,putangina,brandnew,shadowfax,eagles12,1falcon,brianw,lokomoti,2022958,scooper,pegas,jabroni1,2121212,buffal,siffredi,wewiz,twotone,rosebudd,nightwis,carpet1,mickey2,2525252,sleddog,red333,jamesm,2797349,jeff12,onizuka,felixxxx,rf6666,fine1,ohlala,forplay,chicago5,muncho,scooby11,ptichka,johnnn,19851985p,dogphil3650,totenkopf,monitor2,macross7,3816778,dudder,semaj1,bounder,racerx1,5556633,7085506,ofclr278,brody1,7506751,nantucke,hedj2n4q,drew1,aessedai,trekbike,pussykat,samatron,imani,9124852,wiley1,dukenukem,iampurehaha2,9556035,obvious1,mccool24,apache64,kravchenko,justforf,basura,jamese,s0ccer,safado,darksta,surfer69,damian1,gjpbnbd,gunny1,wolley,sananton,zxcvbn123456,odt4p6sv8,sergei1,modem1,mansikka,zzzz1,rifraf,dima777,mary69,looking4,donttell,red100,ninjutsu,uaeuaeman,bigbri,brasco,queenas8151,demetri,angel007,bubbl,kolort,conny,antonia1,avtoritet,kaka22,kailayu,sassy2,wrongway,chevy3,1nascar,patriots1,chrisrey,mike99,sexy22,chkdsk,sd3utre7,padawan,a6pihd,doming,mesohorny,tamada,donatello,emma22,eather,susan69,pinky123,stud69,fatbitch,pilsbury,thc420,lovepuss,1creativ,golf1234,hurryup,1honda,huskerdu,marino1,gowron,girl1,fucktoy,gtnhjpfdjlcr,dkjfghdk,pinkfl,loreli,7777777s,donkeykong,rockytop,staples1,sone4ka,xxxjay,flywheel,toppdogg,bigbubba,aaa123456,2letmein,shavkat,paule,dlanor,adamas,0147852,aassaa,dixon1,bmw328,mother12,ilikepussy,holly2,tsmith,excaliber,fhutynbyf,nicole3,tulipan,emanue,flyvholm,currahee,godsgift,antonioj,torito,dinky1,sanna,yfcnzvjz,june14,anime123,123321456654,hanswurst,bandman,hello101,xxxyyy,chevy69,technica,tagada,arnol,v00d00,lilone,filles,drumandbass,dinamit,a1234a,eatmeat,elway07,inout,james6,dawid1,thewolf,diapason,yodaddy,qscwdv,fuckit1,liljoe,sloeber,simbacat,sascha1,qwe1234,1badger,prisca,angel17,gravedig,jakeyboy,longboard,truskawka,golfer11,pyramid7,highspee,pistola,theriver,hammer69,1packers,dannyd,alfonse,qwertgfdsa,11119999,basket1,ghjtrn,saralee,12inches,paolo1,zse4xdr5,taproot,sophieh6,grizzlie,hockey69,danang,biggums,hotbitch,5alive,beloved1,bluewave,dimon95,koketka,multiscan,littleb,leghorn,poker2,delite,skyfir,bigjake,persona1,amberdog,hannah12,derren,ziffle,1sarah,1assword,sparky01,seymur,tomtom1,123321qw,goskins,soccer19,luvbekki,bumhole,2balls,1muffin,borodin,monkey9,yfeiybrb,1alex,betmen,freder,nigger123,azizbek,gjkzrjdf,lilmike,1bigdadd,1rock,taganrog,snappy1,andrey1,kolonka,bunyan,gomango,vivia,clarkkent,satur,gaudeamus,mantaray,1month,whitehea,fargus,andrew99,ray123,redhawks,liza2009,qw12345,den12345,vfhnsyjdf,147258369a,mazepa,newyorke,1arsenal,hondas2000,demona,fordgt,steve12,birthday2,12457896,dickster,edcwsxqaz,sahalin,pantyman,skinny1,hubertus,cumshot1,chiro,kappaman,mark3434,canada12,lichking,bonkers1,ivan1985,sybase,valmet,doors1,deedlit,kyjelly,bdfysx,ford11,throatfuck,backwood,fylhsq,lalit,boss429,kotova,bricky,steveh,joshua19,kissa,imladris,star1234,lubimka,partyman,crazyd,tobias1,ilike69,imhome,whome,fourstar,scanner1,ujhjl312,anatoli,85bears,jimbo69,5678ytr,potapova,nokia7070,sunday1,kalleank,1996gta,refinnej,july1,molodec,nothanks,enigm,12play,sugardog,nhfkbdfkb,larousse,cannon1,144444,qazxcdew,stimorol,jhereg,spawn7,143000,fearme,hambur,merlin21,dobie,is3yeusc,partner1,dekal,varsha,478jfszk,flavi,hippo1,9hmlpyjd,july21,7imjfstw,lexxus,truelov,nokia5200,carlos6,anais,mudbone,anahit,taylorc,tashas,larkspur,animal2000,nibiru,jan123,miyvarxar,deflep,dolore,communit,ifoptfcor,laura2,anadrol,mamaliga,mitzi1,blue92,april15,matveev,kajlas,wowlook1,1flowers,shadow14,alucard1,1golf,bantha,scotlan,singapur,mark13,manchester1,telus01,superdav,jackoff1,madnes,bullnuts,world123,clitty,palmer1,david10,spider10,sargsyan,rattlers,david4,windows2,sony12,visigoth,qqqaaa,penfloor,cabledog,camilla1,natasha123,eagleman,softcore,bobrov,dietmar,divad,sss123,d1234567,tlbyjhju,1q1q1q1,paraiso,dav123,lfiekmrf,drachen,lzhan16889,tplate,gfghbrf,casio1,123boots1,123test,sys64738,heavymetal,andiamo,meduza,soarer,coco12,negrita,amigas,heavymet,bespin,1asdfghj,wharfrat,wetsex,tight1,janus1,sword123,ladeda,dragon98,austin2,atep1,jungle1,12345abcd,lexus300,pheonix1,alex1974,123qw123,137955,bigtim,shadow88,igor1994,goodjob,arzen,champ123,121ebay,changeme1,brooksie,frogman1,buldozer,morrowin,achim,trish1,lasse,festiva,bubbaman,scottb,kramit,august22,tyson123,passsword,oompah,al123456,fucking1,green45,noodle1,looking1,ashlynn,al1716,stang50,coco11,greese,bob111,brennan1,jasonj,1cherry,1q2345,1xxxxxxx,fifa2011,brondby,zachar1,satyam,easy1,magic7,1rainbow,cheezit,1eeeeeee,ashley123,assass1,amanda123,jerbear,1bbbbbb,azerty12,15975391,654321z,twinturb,onlyone1,denis1988,6846kg3r,jumbos,pennydog,dandelion,haileris,epervier,snoopy69,afrodite,oldpussy,green55,poopypan,verymuch,katyusha,recon7,mine69,tangos,contro,blowme2,jade1,skydive1,fiveiron,dimo4ka,bokser,stargirl,fordfocus,tigers2,platina,baseball11,raque,pimper,jawbreak,buster88,walter34,chucko,penchair,horizon1,thecure1,scc1975,adrianna1,kareta,duke12,krille,dumbfuck,cunt1,aldebaran,laverda,harumi,knopfler,pongo1,pfhbyf,dogman1,rossigno,1hardon,scarlets,nuggets1,ibelieve,akinfeev,xfhkbr,athene,falcon69,happie,billly,nitsua,fiocco,qwerty09,gizmo2,slava2,125690,doggy123,craigs,vader123,silkeborg,124365,peterm,123978,krakatoa,123699,123592,kgvebmqy,pensacol,d1d2d3,snowstor,goldenboy,gfg65h7,ev700,church1,orange11,g0dz1ll4,chester3,acheron,cynthi,hotshot1,jesuschris,motdepass,zymurgy,one2one,fietsbel,harryp,wisper,pookster,nn527hp,dolla,milkmaid,rustyboy,terrell1,epsilon1,lillian1,dale3,crhbgrf,maxsim,selecta,mamada,fatman1,ufkjxrf,shinchan,fuckuall,women1,000008,bossss,greta1,rbhjxrf,mamasboy,purple69,felicidade,sexy21,cathay,hunglow,splatt,kahless,shopping1,1gandalf,themis,delta7,moon69,blue24,parliame,mamma1,miyuki,2500hd,jackmeof,razer,rocker1,juvis123,noremac,boing747,9z5ve9rrcz,icewater,titania,alley1,moparman,christo1,oliver2,vinicius,tigerfan,chevyy,joshua99,doda99,matrixx,ekbnrf,jackfrost,viper01,kasia,cnfhsq,triton1,ssbt8ae2,rugby8,ramman,1lucky,barabash,ghtlfntkm,junaid,apeshit,enfant,kenpo1,shit12,007000,marge1,shadow10,qwerty789,richard8,vbitkm,lostboys,jesus4me,richard4,hifive,kolawole,damilola,prisma,paranoya,prince2,lisaann,happyness,cardss,methodma,supercop,a8kd47v5,gamgee,polly123,irene1,number8,hoyasaxa,1digital,matthew0,dclxvi,lisica,roy123,2468013579,sparda,queball,vaffanculo,pass1wor,repmvbx,999666333,freedom8,botanik,777555333,marcos1,lubimaya,flash2,einstei,08080,123456789j,159951159,159357123,carrot1,alina1995,sanjos,dilara,mustang67,wisteria,jhnjgtl12,98766789,darksun,arxangel,87062134,creativ1,malyshka,fuckthemall,barsic,rocksta,2big4u,5nizza,genesis2,romance1,ofcourse,1horse,latenite,cubana,sactown,789456123a,milliona,61808861,57699434,imperia,bubba11,yellow3,change12,55495746,flappy,jimbo123,19372846,19380018,cutlass1,craig123,klepto,beagle1,solus,51502112,pasha1,19822891,46466452,19855891,petshop,nikolaevna,119966,nokia6131,evenpar,hoosier1,contrasena,jawa350,gonzo123,mouse2,115511,eetfuk,gfhfvgfvgfv,1crystal,sofaking,coyote1,kwiatuszek,fhrflbq,valeria1,anthro,0123654789,alltheway,zoltar,maasikas,wildchil,fredonia,earlgrey,gtnhjczy,matrix123,solid1,slavko,12monkeys,fjdksl,inter1,nokia6500,59382113kevinp,spuddy,cachero,coorslit,password!,kiba1z,karizma,vova1994,chicony,english1,bondra12,1rocket,hunden,jimbob1,zpflhjn1,th0mas,deuce22,meatwad,fatfree,congas,sambora,cooper2,janne,clancy1,stonie,busta,kamaz,speedy2,jasmine3,fahayek,arsenal0,beerss,trixie1,boobs69,luansantana,toadman,control2,ewing33,maxcat,mama1964,diamond4,tabaco,joshua0,piper2,music101,guybrush,reynald,pincher,katiebug,starrs,pimphard,frontosa,alex97,cootie,clockwor,belluno,skyeseth,booty69,chaparra,boochie,green4,bobcat1,havok,saraann,pipeman,aekdb,jumpshot,wintermu,chaika,1chester,rjnjatq,emokid,reset1,regal1,j0shua,134679a,asmodey,sarahh,zapidoo,ciccione,sosexy,beckham23,hornets1,alex1971,delerium,manageme,connor11,1rabbit,sane4ek,caseyboy,cbljhjdf,redsox20,tttttt99,haustool,ander,pantera6,passwd1,journey1,9988776655,blue135,writerspace,xiaoyua123,justice2,niagra,cassis,scorpius,bpgjldsgjldthnf,gamemaster,bloody1,retrac,stabbin,toybox,fight1,ytpyf.,glasha,va2001,taylor11,shameles,ladylove,10078,karmann,rodeos,eintritt,lanesra,tobasco,jnrhjqcz,navyman,pablit,leshka,jessica3,123vika,alena1,platinu,ilford,storm7,undernet,sasha777,1legend,anna2002,kanmax1994,porkpie,thunder0,gundog,pallina,easypass,duck1,supermom,roach1,twincam,14028,tiziano,qwerty32,123654789a,evropa,shampoo1,yfxfkmybr,cubby1,tsunami1,fktrcttdf,yasacrac,17098,happyhap,bullrun,rodder,oaktown,holde,isbest,taylor9,reeper,hammer11,julias,rolltide1,compaq123,fourx4,subzero1,hockey9,7mary3,busines,ybrbnjcbr,wagoneer,danniash,portishead,digitex,alex1981,david11,infidel,1snoopy,free30,jaden,tonto1,redcar27,footie,moskwa,thomas21,hammer12,burzum,cosmo123,50000,burltree,54343,54354,vwpassat,jack5225,cougars1,burlpony,blackhorse,alegna,petert,katemoss,ram123,nels0n,ferrina,angel77,cstock,1christi,dave55,abc123a,alex1975,av626ss,flipoff,folgore,max1998,science1,si711ne,yams7,wifey1,sveiks,cabin1,volodia,ox3ford,cartagen,platini,picture1,sparkle1,tiedomi,service321,wooody,christi1,gnasher,brunob,hammie,iraffert,bot2010,dtcyeirf,1234567890p,cooper11,alcoholi,savchenko,adam01,chelsea5,niewiem,icebear,lllooottt,ilovedick,sweetpus,money8,cookie13,rfnthbyf1988,booboo2,angus123,blockbus,david9,chica1,nazaret,samsung9,smile4u,daystar,skinnass,john10,thegirl,sexybeas,wasdwasd1,sigge1,1qa2ws3ed4rf5tg,czarny,ripley1,chris5,ashley19,anitha,pokerman,prevert,trfnthby,tony69,georgia2,stoppedb,qwertyuiop12345,miniclip,franky1,durdom,cabbages,1234567890o,delta5,liudmila,nhfycajhvths,court1,josiew,abcd1,doghead,diman,masiania,songline,boogle,triston,deepika,sexy4me,grapple,spacebal,ebonee,winter0,smokewee,nargiza,dragonla,sassys,andy2000,menards,yoshio,massive1,suckmy1k,passat99,sexybo,nastya1996,isdead,stratcat,hokuto,infix,pidoras,daffyduck,cumhard,baldeagl,kerberos,yardman,shibainu,guitare,cqub6553,tommyy,bk.irf,bigfoo,hecto,july27,james4,biggus,esbjerg,isgod,1irish,phenmarr,jamaic,roma1990,diamond0,yjdbrjd,girls4me,tampa1,kabuto,vaduz,hanse,spieng,dianochka,csm101,lorna1,ogoshi,plhy6hql,2wsx4rfv,cameron0,adebayo,oleg1996,sharipov,bouboule,hollister1,frogss,yeababy,kablam,adelante,memem,howies,thering,cecilia1,onetwo12,ojp123456,jordan9,msorcloledbr,neveraga,evh5150,redwin,1august,canno,1mercede,moody1,mudbug,chessmas,tiikeri,stickdaddy77,alex15,kvartira,7654321a,lollol123,qwaszxedc,algore,solana,vfhbyfvfhbyf,blue72,misha1111,smoke20,junior13,mogli,threee,shannon2,fuckmylife,kevinh,saransk,karenw,isolde,sekirarr,orion123,thomas0,debra1,laketaho,alondra,curiva,jazz1234,1tigers,jambos,lickme2,suomi,gandalf7,028526,zygote,brett123,br1ttany,supafly,159000,kingrat,luton1,cool-ca,bocman,thomasd,skiller,katter,mama777,chanc,tomass,1rachel,oldno7,rfpfyjdf,bigkev,yelrah,primas,osito,kipper1,msvcr71,bigboy11,thesun,noskcaj,chicc,sonja1,lozinka,mobile1,1vader,ummagumma,waves1,punter12,tubgtn,server1,irina1991,magic69,dak001,pandemonium,dead1,berlingo,cherrypi,1montana,lohotron,chicklet,asdfgh123456,stepside,ikmvw103,icebaby,trillium,1sucks,ukrnet,glock9,ab12345,thepower,robert8,thugstools,hockey13,buffon,livefree,sexpics,dessar,ja0000,rosenrot,james10,1fish,svoloch,mykitty,muffin11,evbukb,shwing,artem1992,andrey1992,sheldon1,passpage,nikita99,fubar123,vannasx,eight888,marial,max2010,express2,violentj,2ykn5ccf,spartan11,brenda69,jackiech,abagail,robin2,grass1,andy76,bell1,taison,superme,vika1995,xtr451,fred20,89032073168,denis1984,2000jeep,weetabix,199020,daxter,tevion,panther8,h9iymxmc,bigrig,kalambur,tsalagi,12213443,racecar02,jeffrey4,nataxa,bigsam,purgator,acuracl,troutbum,potsmoke,jimmyz,manutd1,nytimes,pureevil,bearss,cool22,dragonage,nodnarb,dbrbyu,4seasons,freude,elric1,werule,hockey14,12758698,corkie,yeahright,blademan,tafkap,clave,liziko,hofner,jeffhardy,nurich,runne,stanisla,lucy1,monk3y,forzaroma,eric99,bonaire,blackwoo,fengshui,1qaz0okm,newmoney,pimpin69,07078,anonymer,laptop1,cherry12,ace111,salsa1,wilbur1,doom12,diablo23,jgtxzbhr,under1,honda01,breadfan,megan2,juancarlos,stratus1,ackbar,love5683,happytim,lambert1,cbljhtyrj,komarov,spam69,nfhtkrf,brownn,sarmat,ifiksr,spike69,hoangen,angelz,economia,tanzen,avogadro,1vampire,spanners,mazdarx,queequeg,oriana,hershil,sulaco,joseph11,8seconds,aquariu,cumberla,heather9,anthony8,burton12,crystal0,maria3,qazwsxc,snow123,notgood,198520,raindog,heehaw,consulta,dasein,miller01,cthulhu1,dukenuke,iubire,baytown,hatebree,198505,sistem,lena12,welcome01,maraca,middleto,sindhu,mitsou,phoenix5,vovan,donaldo,dylandog,domovoy,lauren12,byrjuybnj,123llll,stillers,sanchin,tulpan,smallvill,1mmmmm,patti1,folgers,mike31,colts18,123456rrr,njkmrjz,phoenix0,biene,ironcity,kasperok,password22,fitnes,matthew6,spotligh,bujhm123,tommycat,hazel5,guitar11,145678,vfcmrf,compass1,willee,1barney,jack2000,littleminge,shemp,derrek,xxx12345,littlefuck,spuds1,karolinka,camneely,qwertyu123,142500,brandon00,munson15,falcon3,passssap,z3cn2erv,goahead,baggio10,141592,denali1,37kazoo,copernic,123456789asd,orange88,bravada,rush211,197700,pablo123,uptheass,samsam1,demoman,mattylad10,heydude,mister2,werken,13467985,marantz,a22222,f1f2f3f4,fm12mn12,gerasimova,burrito1,sony1,glenny,baldeagle,rmfidd,fenomen,verbati,forgetme,5element,wer138,chanel1,ooicu812,10293847qp,minicooper,chispa,myturn,deisel,vthrehbq,boredboi4u,filatova,anabe,poiuyt1,barmalei,yyyy1,fourkids,naumenko,bangbros,pornclub,okaykk,euclid90,warrior3,kornet,palevo,patatina,gocart,antanta,jed1054,clock1,111111w,dewars,mankind1,peugeot406,liten,tahira,howlin,naumov,rmracing,corone,cunthole,passit,rock69,jaguarxj,bumsen,197101,sweet2,197010,whitecat,sawadee,money100,yfhrjnbrb,andyboy,9085603566,trace1,fagget,robot1,angel20,6yhn7ujm,specialinsta,kareena,newblood,chingada,boobies2,bugger1,squad51,133andre,call06,ashes1,ilovelucy,success2,kotton,cavalla,philou,deebee,theband,nine09,artefact,196100,kkkkkkk1,nikolay9,onelov,basia,emilyann,sadman,fkrjujkbr,teamomuch,david777,padrino,money21,firdaus,orion3,chevy01,albatro,erdfcv,2legit,sarah7,torock,kevinn,holio,soloy,enron714,starfleet,qwer11,neverman,doctorwh,lucy11,dino12,trinity7,seatleon,o123456,pimpman,1asdfgh,snakebit,chancho,prorok,bleacher,ramire,darkseed,warhorse,michael123,1spanky,1hotdog,34erdfcv,n0th1ng,dimanche,repmvbyf,michaeljackson,login1,icequeen,toshiro,sperme,racer2,veget,birthday26,daniel9,lbvekmrf,charlus,bryan123,wspanic,schreibe,1andonly,dgoins,kewell,apollo12,egypt1,fernie,tiger21,aa123456789,blowj,spandau,bisquit,12345678d,deadmau5,fredie,311420,happyface,samant,gruppa,filmstar,andrew17,bakesale,sexy01,justlook,cbarkley,paul11,bloodred,rideme,birdbath,nfkbcvfy,jaxson,sirius1,kristof,virgos,nimrod1,hardc0re,killerbee,1abcdef,pitcher1,justonce,vlada,dakota99,vespucci,wpass,outside1,puertori,rfvbkf,teamlosi,vgfun2,porol777,empire11,20091989q,jasong,webuivalidat,escrima,lakers08,trigger2,addpass,342500,mongini,dfhtybr,horndogg,palermo1,136900,babyblu,alla98,dasha2010,jkelly,kernow,yfnecz,rockhopper,toeman,tlaloc,silver77,dave01,kevinr,1234567887654321,135642,me2you,8096468644q,remmus,spider7,jamesa,jilly,samba1,drongo,770129ji,supercat,juntas,tema1234,esthe,1234567892000,drew11,qazqaz123,beegees,blome,rattrace,howhigh,tallboy,rufus2,sunny2,sou812,miller12,indiana7,irnbru,patch123,letmeon,welcome5,nabisco,9hotpoin,hpvteb,lovinit,stormin,assmonke,trill,atlanti,money1234,cubsfan,mello1,stars2,ueptkm,agate,dannym88,lover123,wordz,worldnet,julemand,chaser1,s12345678,pissword,cinemax,woodchuc,point1,hotchkis,packers2,bananana,kalender,420666,penguin8,awo8rx3wa8t,hoppie,metlife,ilovemyfamily,weihnachtsbau,pudding1,luckystr,scully1,fatboy1,amizade,dedham,jahbless,blaat,surrende,****er,1panties,bigasses,ghjuhfvbcn,asshole123,dfktyrb,likeme,nickers,plastik,hektor,deeman,muchacha,cerebro,santana5,testdrive,dracula1,canalc,l1750sq,savannah1,murena,1inside,pokemon00,1iiiiiii,jordan20,sexual1,mailliw,calipso,014702580369,1zzzzzz,1jjjjjj,break1,15253545,yomama1,katinka,kevin11,1ffffff,martijn,sslazio,daniel5,porno2,nosmas,leolion,jscript,15975312,pundai,kelli1,kkkddd,obafgkm,marmaris,lilmama,london123,rfhfnt,elgordo,talk87,daniel7,thesims3,444111,bishkek,afrika2002,toby22,1speedy,daishi,2children,afroman,qqqqwwww,oldskool,hawai,v55555,syndicat,pukimak,fanatik,tiger5,parker01,bri5kev6,timexx,wartburg,love55,ecosse,yelena03,madinina,highway1,uhfdbwfgf,karuna,buhjvfybz,wallie,46and2,khalif,europ,qaz123wsx456,bobbybob,wolfone,falloutboy,manning18,scuba10,schnuff,ihateyou1,lindam,sara123,popcor,fallengun,divine1,montblanc,qwerty8,rooney10,roadrage,bertie1,latinus,lexusis,rhfvfnjhcr,opelgt,hitme,agatka,1yamaha,dmfxhkju,imaloser,michell1,sb211st,silver22,lockedup,andrew9,monica01,sassycat,dsobwick,tinroof,ctrhtnyj,bultaco,rhfcyjzhcr,aaaassss,14ss88,joanne1,momanddad,ahjkjdf,yelhsa,zipdrive,telescop,500600,1sexsex,facial1,motaro,511647,stoner1,temujin,elephant1,greatman,honey69,kociak,ukqmwhj6,altezza,cumquat,zippos,kontiki,123max,altec1,bibigon,tontos,qazsew,nopasaran,militar,supratt,oglala,kobayash,agathe,yawetag,dogs1,cfiekmrf,megan123,jamesdea,porosenok,tiger23,berger1,hello11,seemann,stunner1,walker2,imissu,jabari,minfd,lollol12,hjvfy,1-oct,stjohns,2278124q,123456789qwer,alex1983,glowworm,chicho,mallards,bluedevil,explorer1,543211,casita,1time,lachesis,alex1982,airborn1,dubesor,changa,lizzie1,captaink,socool,bidule,march23,1861brr,k.ljxrf,watchout,fotze,1brian,keksa2,aaaa1122,matrim,providian,privado,dreame,merry1,aregdone,davidt,nounour,twenty2,play2win,artcast2,zontik,552255,shit1,sluggy,552861,dr8350,brooze,alpha69,thunder6,kamelia2011,caleb123,mmxxmm,jamesh,lfybkjd,125267,125000,124536,bliss1,dddsss,indonesi,bob69,123888,tgkbxfgy,gerar,themack,hijodeputa,good4now,ddd123,clk430,kalash,tolkien1,132forever,blackb,whatis,s1s2s3s4,lolkin09,yamahar,48n25rcc,djtiesto,111222333444555,bigbull,blade55,coolbree,kelse,ichwill,yamaha12,sakic,bebeto,katoom,donke,sahar,wahine,645202,god666,berni,starwood,june15,sonoio,time123,llbean,deadsoul,lazarev,cdtnf,ksyusha,madarchod,technik,jamesy,4speed,tenorsax,legshow,yoshi1,chrisbl,44e3ebda,trafalga,heather7,serafima,favorite4,havefun1,wolve,55555r,james13,nosredna,bodean,jlettier,borracho,mickael,marinus,brutu,sweet666,kiborg,rollrock,jackson6,macross1,ousooner,9085084232,takeme,123qwaszx,firedept,vfrfhjd,jackfros,123456789000,briane,cookie11,baby22,bobby18,gromova,systemofadown,martin01,silver01,pimaou,darthmaul,hijinx,commo,chech,skyman,sunse,2vrd6,vladimirovna,uthvfybz,nicole01,kreker,bobo1,v123456789,erxtgb,meetoo,drakcap,vfvf12,misiek1,butane,network2,flyers99,riogrand,jennyk,e12345,spinne,avalon11,lovejone,studen,maint,porsche2,qwerty100,chamberl,bluedog1,sungam,just4u,andrew23,summer22,ludic,musiclover,aguil,beardog1,libertin,pippo1,joselit,patito,bigberth,digler,sydnee,jockstra,poopo,jas4an,nastya123,profil,fuesse,default1,titan2,mendoz,kpcofgs,anamika,brillo021,bomberman,guitar69,latching,69pussy,blues2,phelge,ninja123,m7n56xo,qwertasd,alex1976,cunningh,estrela,gladbach,marillion,mike2000,258046,bypop,muffinman,kd5396b,zeratul,djkxbwf,john77,sigma2,1linda,selur,reppep,quartz1,teen1,freeclus,spook1,kudos4ever,clitring,sexiness,blumpkin,macbook,tileman,centra,escaflowne,pentable,shant,grappa,zverev,1albert,lommerse,coffee11,777123,polkilo,muppet1,alex74,lkjhgfdsazx,olesica,april14,ba25547,souths,jasmi,arashi,smile2,2401pedro,mybabe,alex111,quintain,pimp1,tdeir8b2,makenna,122333444455555,%e2%82%ac,tootsie1,pass111,zaqxsw123,gkfdfybt,cnfnbcnbrf,usermane,iloveyou12,hard69,osasuna,firegod,arvind,babochka,kiss123,cookie123,julie123,kamakazi,dylan2,223355,tanguy,nbhtqa,tigger13,tubby1,makavel,asdflkj,sambo1,mononoke,mickeys,gayguy,win123,green33,wcrfxtvgbjy,bigsmall,1newlife,clove,babyfac,bigwaves,mama1970,shockwav,1friday,bassey,yarddog,codered1,victory7,bigrick,kracker,gulfstre,chris200,sunbanna,bertuzzi,begemotik,kuolema,pondus,destinee,123456789zz,abiodun,flopsy,amadeusptfcor,geronim,yggdrasi,contex,daniel6,suck1,adonis1,moorea,el345612,f22raptor,moviebuf,raunchy,6043dkf,zxcvbnm123456789,eric11,deadmoin,ratiug,nosliw,fannies,danno,888889,blank1,mikey2,gullit,thor99,mamiya,ollieb,thoth,dagger1,websolutionssu,bonker,prive,1346798520,03038,q1234q,mommy2,contax,zhipo,gwendoli,gothic1,1234562000,lovedick,gibso,digital2,space199,b26354,987654123,golive,serious1,pivkoo,better1,824358553,794613258,nata1980,logout,fishpond,buttss,squidly,good4me,redsox19,jhonny,zse45rdx,matrixxx,honey12,ramina,213546879,motzart,fall99,newspape,killit,gimpy,photowiz,olesja,thebus,marco123,147852963,bedbug,147369258,hellbound,gjgjxrf,123987456,lovehurt,five55,hammer01,1234554321a,alina2011,peppino,ang238,questor,112358132,alina1994,alina1998,money77,bobjones,aigerim,cressida,madalena,420smoke,tinchair,raven13,mooser,mauric,lovebu,adidas69,krypton1,1111112,loveline,divin,voshod,michaelm,cocotte,gbkbuhbv,76689295,kellyj,rhonda1,sweetu70,steamforums,geeque,nothere,124c41,quixotic,steam181,1169900,rfcgthcrbq,rfvbkm,sexstuff,1231230,djctvm,rockstar1,fulhamfc,bhecbr,rfntyf,quiksilv,56836803,jedimaster,pangit,gfhjkm777,tocool,1237654,stella12,55378008,19216811,potte,fender12,mortalkombat,ball1,nudegirl,palace22,rattrap,debeers,lickpussy,jimmy6,not4u2c,wert12,bigjuggs,sadomaso,1357924,312mas,laser123,arminia,branford,coastie,mrmojo,19801982,scott11,banaan123,ingres,300zxtt,hooters6,sweeties,19821983,19831985,19833891,sinnfein,welcome4,winner69,killerman,tachyon,tigre1,nymets1,kangol,martinet,sooty1,19921993,789qwe,harsingh,1597535,thecount,phantom3,36985214,lukas123,117711,pakistan1,madmax11,willow01,19932916,fucker12,flhrci,opelagila,theword,ashley24,tigger3,crazyj,rapide,deadfish,allana,31359092,sasha1993,sanders2,discman,zaq!2wsx,boilerma,mickey69,jamesg,babybo,jackson9,orion7,alina2010,indien,breeze1,atease,warspite,bazongaz,1celtic,asguard,mygal,fitzgera,1secret,duke33,cyklone,dipascuc,potapov,1escobar2,c0l0rad0,kki177hk,1little,macondo,victoriya,peter7,red666,winston6,kl?benhavn,muneca,jackme,jennan,happylife,am4h39d8nh,bodybuil,201980,dutchie,biggame,lapo4ka,rauchen,black10,flaquit,water12,31021364,command2,lainth88,mazdamx5,typhon,colin123,rcfhlfc,qwaszx11,g0away,ramir,diesirae,hacked1,cessna1,woodfish,enigma2,pqnr67w5,odgez8j3,grisou,hiheels,5gtgiaxm,2580258,ohotnik,transits,quackers,serjik,makenzie,mdmgatew,bryana,superman12,melly,lokit,thegod,slickone,fun4all,netpass,penhorse,1cooper,nsync,asdasd22,otherside,honeydog,herbie1,chiphi,proghouse,l0nd0n,shagg,select1,frost1996,casper123,countr,magichat,greatzyo,jyothi,3bears,thefly,nikkita,fgjcnjk,nitros,hornys,san123,lightspe,maslova,kimber1,newyork2,spammm,mikejone,pumpk1n,bruiser1,bacons,prelude9,boodie,dragon4,kenneth2,love98,power5,yodude,pumba,thinline,blue30,sexxybj,2dumb2live,matt21,forsale,1carolin,innova,ilikeporn,rbgtkjd,a1s2d3f,wu9942,ruffus,blackboo,qwerty999,draco1,marcelin,hideki,gendalf,trevon,saraha,cartmen,yjhbkmcr,time2go,fanclub,ladder1,chinni,6942987,united99,lindac,quadra,paolit,mainstre,beano002,lincoln7,bellend,anomie,8520456,bangalor,goodstuff,chernov,stepashka,gulla,mike007,frasse,harley03,omnislash,8538622,maryjan,sasha2011,gineok,8807031,hornier,gopinath,princesit,bdr529,godown,bosslady,hakaone,1qwe2,madman1,joshua11,lovegame,bayamon,jedi01,stupid12,sport123,aaa666,tony44,collect1,charliem,chimaira,cx18ka,trrim777,chuckd,thedream,redsox99,goodmorning,delta88,iloveyou11,newlife2,figvam,chicago3,jasonk,12qwer,9875321,lestat1,satcom,conditio,capri50,sayaka,9933162,trunks1,chinga,snooch,alexand1,findus,poekie,cfdbyf,kevind,mike1969,fire13,leftie,bigtuna,chinnu,silence1,celos1,blackdra,alex24,gfgfif,2boobs,happy8,enolagay,sataniv1993,turner1,dylans,peugeo,sasha1994,hoppel,conno,moonshot,santa234,meister1,008800,hanako,tree123,qweras,gfitymrf,reggie31,august29,supert,joshua10,akademia,gbljhfc,zorro123,nathalia,redsox12,hfpdjl,mishmash,nokiae51,nyyankees,tu190022,strongbo,none1,not4u2no,katie2,popart,harlequi,santan,michal1,1therock,screwu,csyekmrf,olemiss1,tyrese,hoople,sunshin1,cucina,starbase,topshelf,fostex,california1,castle1,symantec,pippolo,babare,turntabl,1angela,moo123,ipvteb,gogolf,alex88,cycle1,maxie1,phase2,selhurst,furnitur,samfox,fromvermine,shaq34,gators96,captain2,delonge,tomatoe,bisous,zxcvbnma,glacius,pineapple1,cannelle,ganibal,mko09ijn,paraklast1974,hobbes12,petty43,artema,junior8,mylover,1234567890d,fatal1ty,prostreet,peruan,10020,nadya,caution1,marocas,chanel5,summer08,metal123,111lox,scrapy,thatguy,eddie666,washingto,yannis,minnesota_hp,lucky4,playboy6,naumova,azzurro,patat,dale33,pa55wd,speedster,zemanova,saraht,newto,tony22,qscesz,arkady,1oliver,death6,vkfwx046,antiflag,stangs,jzf7qf2e,brianp,fozzy,cody123,startrek1,yoda123,murciela,trabajo,lvbnhbtdf,canario,fliper,adroit,henry5,goducks,papirus,alskdj,soccer6,88mike,gogetter,tanelorn,donking,marky1,leedsu,badmofo,al1916,wetdog,akmaral,pallet,april24,killer00,nesterova,rugby123,coffee12,browseui,ralliart,paigow,calgary1,armyman,vtldtltd,frodo2,frxtgb,iambigal,benno,jaytee,2hot4you,askar,bigtee,brentwoo,palladin,eddie2,al1916w,horosho,entrada,ilovetits,venture1,dragon19,jayde,chuvak,jamesl,fzr600,brandon8,vjqvbh,snowbal,snatch1,bg6njokf,pudder,karolin,candoo,pfuflrf,satchel1,manteca,khongbiet,critter1,partridg,skyclad,bigdon,ginger69,brave1,anthony4,spinnake,chinadol,passout,cochino,nipples1,15058,lopesk,sixflags,lloo999,parkhead,breakdance,cia123,fidodido,yuitre12,fooey,artem1995,gayathri,medin,nondriversig,l12345,bravo7,happy13,kazuya,camster,alex1998,luckyy,zipcode,dizzle,boating1,opusone,newpassw,movies23,kamikazi,zapato,bart316,cowboys0,corsair1,kingshit,hotdog12,rolyat,h200svrm,qwerty4,boofer,rhtyltkm,chris999,vaz21074,simferopol,pitboss,love3,britania,tanyshka,brause,123qwerty123,abeille,moscow1,ilkaev,manut,process1,inetcfg,dragon05,fortknox,castill,rynner,mrmike,koalas,jeebus,stockpor,longman,juanpabl,caiman,roleplay,jeremi,26058,prodojo,002200,magical1,black5,bvlgari,doogie1,cbhtqa,mahina,a1s2d3f4g5h6,jblpro,usmc01,bismilah,guitar01,april9,santana1,1234aa,monkey14,sorokin,evan1,doohan,animalsex,pfqxtyjr,dimitry,catchme,chello,silverch,glock45,dogleg,litespee,nirvana9,peyton18,alydar,warhamer,iluvme,sig229,minotavr,lobzik,jack23,bushwack,onlin,football123,joshua5,federov,winter2,bigmax,fufnfrhbcnb,hfpldfnhb,1dakota,f56307,chipmonk,4nick8,praline,vbhjh123,king11,22tango,gemini12,street1,77879,doodlebu,homyak,165432,chuluthu,trixi,karlito,salom,reisen,cdtnkzxjr,pookie11,tremendo,shazaam,welcome0,00000ty,peewee51,pizzle,gilead,bydand,sarvar,upskirt,legends1,freeway1,teenfuck,ranger9,darkfire,dfymrf,hunt0802,justme1,buffy1ma,1harry,671fsa75yt,burrfoot,budster,pa437tu,jimmyp,alina2006,malacon,charlize,elway1,free12,summer02,gadina,manara,gomer1,1cassie,sanja,kisulya,money3,pujols,ford50,midiland,turga,orange6,demetriu,freakboy,orosie1,radio123,open12,vfufpby,mustek,chris33,animes,meiling,nthtvjr,jasmine9,gfdkjd,oligarh,marimar,chicago9,.kzirf,bugssgub,samuraix,jackie01,pimpjuic,macdad,cagiva,vernost,willyboy,fynjyjdf,tabby1,privet123,torres9,retype,blueroom,raven11,q12we3,alex1989,bringiton,ridered,kareltje,ow8jtcs8t,ciccia,goniners,countryb,24688642,covingto,24861793,beyblade,vikin,badboyz,wlafiga,walstib,mirand,needajob,chloes,balaton,kbpfdtnf,freyja,bond9007,gabriel12,stormbri,hollage,love4eve,fenomeno,darknite,dragstar,kyle123,milfhunter,ma123123123,samia,ghislain,enrique1,ferien12,xjy6721,natalie2,reglisse,wilson2,wesker,rosebud7,amazon1,robertr,roykeane,xtcnth,mamatata,crazyc,mikie,savanah,blowjob69,jackie2,forty1,1coffee,fhbyjxrf,bubbah,goteam,hackedit,risky1,logoff,h397pnvr,buck13,robert23,bronc,st123st,godflesh,pornog,iamking,cisco69,septiembr,dale38,zhongguo,tibbar,panther9,buffa1,bigjohn1,mypuppy,vehvfycr,april16,shippo,fire1234,green15,q123123,gungadin,steveg,olivier1,chinaski,magnoli,faithy,storm12,toadfrog,paul99,78791,august20,automati,squirtle,cheezy,positano,burbon,nunya,llebpmac,kimmi,turtle2,alan123,prokuror,violin1,durex,pussygal,visionar,trick1,chicken6,29024,plowboy,rfybreks,imbue,sasha13,wagner1,vitalogy,cfymrf,thepro,26028,gorbunov,dvdcom,letmein5,duder,fastfun,pronin,libra1,conner1,harley20,stinker1,20068,20038,amitech,syoung,dugway,18068,welcome7,jimmypag,anastaci,kafka1,pfhfnecnhf,catsss,campus100,shamal,nacho1,fire12,vikings2,brasil1,rangerover,mohamma,peresvet,14058,cocomo,aliona,14038,qwaser,vikes,cbkmdf,skyblue1,ou81234,goodlove,dfkmltvfh,108888,roamer,pinky2,static1,zxcv4321,barmen,rock22,shelby2,morgans,1junior,pasword1,logjam,fifty5,nhfrnjhbcn,chaddy,philli,nemesis2,ingenier,djkrjd,ranger3,aikman8,knothead,daddy69,love007,vsythb,ford350,tiger00,renrut,owen11,energy12,march14,alena123,robert19,carisma,orange22,murphy11,podarok,prozak,kfgeirf,wolf13,lydia1,shazza,parasha,akimov,tobbie,pilote,heather4,baster,leones,gznfxjr,megama,987654321g,bullgod,boxster1,minkey,wombats,vergil,colegiata,lincol,smoothe,pride1,carwash1,latrell,bowling3,fylhtq123,pickwick,eider,bubblebox,bunnies1,loquit,slipper1,nutsac,purina,xtutdfhf,plokiju,1qazxs,uhjpysq,zxcvbasdfg,enjoy1,1pumpkin,phantom7,mama22,swordsma,wonderbr,dogdays,milker,u23456,silvan,dfkthbr,slagelse,yeahman,twothree,boston11,wolf100,dannyg,troll1,fynjy123,ghbcnfd,bftest,ballsdeep,bobbyorr,alphasig,cccdemo,fire123,norwest,claire2,august10,lth1108,problemas,sapito,alex06,1rusty,maccom,goirish1,ohyes,bxdumb,nabila,boobear1,rabbit69,princip,alexsander,travail,chantal1,dogggy,greenpea,diablo69,alex2009,bergen09,petticoa,classe,ceilidh,vlad2011,kamakiri,lucidity,qaz321,chileno,cexfhf,99ranger,mcitra,estoppel,volvos60,carter80,webpass,temp12,touareg,fcgbhby,bubba8,sunitha,200190ru,bitch2,shadow23,iluvit,nicole0,ruben1,nikki69,butttt,shocker1,souschef,lopotok01,kantot,corsano,cfnfyf,riverat,makalu,swapna,all4u9,cdtnkfy,ntktgepbr,ronaldo99,thomasj,bmw540i,chrisw,boomba,open321,z1x2c3v4b5n6m7,gaviota,iceman44,frosya,chris100,chris24,cosette,clearwat,micael,boogyman,pussy9,camus1,chumpy,heccrbq,konoplya,chester8,scooter5,ghjgfufylf,giotto,koolkat,zero000,bonita1,ckflrbq,j1964,mandog,18n28n24a,renob,head1,shergar,ringo123,tanita,sex4free,johnny12,halberd,reddevils,biolog,dillinge,fatb0y,c00per,hyperlit,wallace2,spears1,vitamine,buheirf,sloboda,alkash,mooman,marion1,arsenal7,sunder,nokia5610,edifier,pippone,fyfnjkmtdbx,fujimo,pepsi12,kulikova,bolat,duetto,daimon,maddog01,timoshka,ezmoney,desdemon,chesters,aiden,hugues,patrick5,aikman08,robert4,roenick,nyranger,writer1,36169544,foxmulder,118801,kutter,shashank,jamjar,118811,119955,aspirina,dinkus,1sailor,nalgene,19891959,snarf,allie1,cracky,resipsa,45678912,kemerovo,19841989,netware1,alhimik,19801984,nicole123,19761977,51501984,malaka1,montella,peachfuz,jethro1,cypress1,henkie,holdon,esmith,55443322,1friend,quique,bandicoot,statistika,great123,death13,ucht36,master4,67899876,bobsmith,nikko1,jr1234,hillary1,78978978,rsturbo,lzlzdfcz,bloodlust,shadow00,skagen,bambina,yummies,88887777,91328378,matthew4,itdoes,98256518,102938475,alina2002,123123789,fubared,dannys,123456321,nikifor,suck69,newmexico,scubaman,rhbcnb,fifnfy,puffdadd,159357852,dtheyxbr,theman22,212009164,prohor,shirle,nji90okm,newmedia,goose5,roma1995,letssee,iceman11,aksana,wirenut,pimpdady,1212312121,tamplier,pelican1,domodedovo,1928374655,fiction6,duckpond,ybrecz,thwack,onetwo34,gunsmith,murphydo,fallout1,spectre1,jabberwo,jgjesq,turbo6,bobo12,redryder,blackpus,elena1971,danilova,antoin,bobo1234,bobob,bobbobbo,dean1,222222a,jesusgod,matt23,musical1,darkmage,loppol,werrew,josepha,rebel12,toshka,gadfly,hawkwood,alina12,dnomyar,sexaddict,dangit,cool23,yocrack,archimed,farouk,nhfkzkz,lindalou,111zzzzz,ghjatccjh,wethepeople,m123456789,wowsers,kbkbxrf,bulldog5,m_roesel,sissinit,yamoon6,123ewqasd,dangel,miruvor79,kaytee,falcon7,bandit11,dotnet,dannii,arsenal9,miatamx5,1trouble,strip4me,dogpile,sexyred1,rjdfktdf,google10,shortman,crystal7,awesome123,cowdog,haruka,birthday28,jitter,diabolik,boomer12,dknight,bluewate,hockey123,crm0624,blueboys,willy123,jumpup,google2,cobra777,llabesab,vicelord,hopper1,gerryber,remmah,j10e5d4,qqqqqqw,agusti,fre_ak8yj,nahlik,redrobin,scott3,epson1,dumpy,bundao,aniolek,hola123,jergens,itsasecret,maxsam,bluelight,mountai1,bongwater,1london,pepper14,freeuse,dereks,qweqw,fordgt40,rfhfdfy,raider12,hunnybun,compac,splicer,megamon,tuffgong,gymnast1,butter11,modaddy,wapbbs_1,dandelio,soccer77,ghjnbdjcnjzybt,123xyi2,fishead,x002tp00,whodaman,555aaa,oussama,brunodog,technici,pmtgjnbl,qcxdw8ry,schweden,redsox3,throbber,collecto,japan10,dbm123dm,hellhoun,tech1,deadzone,kahlan,wolf123,dethklok,xzsawq,bigguy1,cybrthc,chandle,buck01,qq123123,secreta,williams1,c32649135,delta12,flash33,123joker,spacejam,polopo,holycrap,daman1,tummybed,financia,nusrat,euroline,magicone,jimkirk,ameritec,daniel26,sevenn,topazz,kingpins,dima1991,macdog,spencer5,oi812,geoffre,music11,baffle,123569,usagi,cassiope,polla,lilcrowe,thecakeisalie,vbhjndjhtw,vthokies,oldmans,sophie01,ghoster,penny2,129834,locutus1,meesha,magik,jerry69,daddysgirl,irondesk,andrey12,jasmine123,vepsrfyn,likesdick,1accord,jetboat,grafix,tomuch,showit,protozoa,mosias98,taburetka,blaze420,esenin,anal69,zhv84kv,puissant,charles0,aishwarya,babylon6,bitter1,lenina,raleigh1,lechat,access01,kamilka,fynjy,sparkplu,daisy3112,choppe,zootsuit,1234567j,rubyrose,gorilla9,nightshade,alternativa,cghfdjxybr,snuggles1,10121v,vova1992,leonardo1,dave2,matthewd,vfhfnbr,1986mets,nobull,bacall,mexican1,juanjo,mafia1,boomer22,soylent,edwards1,jordan10,blackwid,alex86,gemini13,lunar2,dctvcjcfnm,malaki,plugger,eagles11,snafu2,1shelly,cintaku,hannah22,tbird1,maks5843,irish88,homer22,amarok,fktrcfylhjdf,lincoln2,acess,gre69kik,need4speed,hightech,core2duo,blunt1,ublhjgjybrf,dragon33,1autopas,autopas1,wwww1,15935746,daniel20,2500aa,massim,1ggggggg,96ford,hardcor1,cobra5,blackdragon,vovan_lt,orochimaru,hjlbntkb,qwertyuiop12,tallen,paradoks,frozenfish,ghjuhfvvbcn,gerri1,nuggett,camilit,doright,trans1,serena1,catch2,bkmyeh,fireston,afhvfwtdn,purple3,figure8,fuckya,scamp1,laranja,ontheoutside,louis123,yellow7,moonwalk,mercury2,tolkein,raide,amenra,a13579,dranreb,5150vh,harish,tracksta,sexking,ozzmosis,katiee,alomar,matrix19,headroom,jahlove,ringding,apollo8,132546,132613,12345672000,saretta,135798,136666,thomas7,136913,onetwothree,hockey33,calida,nefertit,bitwise,tailhook,boop4,kfgecbr,bujhmbujhm,metal69,thedark,meteoro,felicia1,house12,tinuviel,istina,vaz2105,pimp13,toolfan,nina1,tuesday2,maxmotives,lgkp500,locksley,treech,darling1,kurama,aminka,ramin,redhed,dazzler,jager1,stpiliot,cardman,rfvtym,cheeser,14314314,paramoun,samcat,plumpy,stiffie,vsajyjr,panatha,qqq777,car12345,098poi,asdzx,keegan1,furelise,kalifornia,vbhjckfd,beast123,zcfvfzkexifz,harry5,1birdie,96328i,escola,extra330,henry12,gfhfyjqz,14u2nv,max1234,templar1,1dave,02588520,catrin,pangolin,marhaba,latin1,amorcito,dave22,escape1,advance1,yasuhiro,grepw,meetme,orange01,ernes,erdna,zsergn,nautica1,justinb,soundwav,miasma,greg78,nadine1,sexmad,lovebaby,promo1,excel1,babys,dragonma,camry1,sonnenschein,farooq,wazzkaprivet,magal,katinas,elvis99,redsox24,rooney1,chiefy,peggys,aliev,pilsung,mudhen,dontdoit,dennis12,supercal,energia,ballsout,funone,claudiu,brown2,amoco,dabl1125,philos,gjdtkbntkm,servette,13571113,whizzer,nollie,13467982,upiter,12string,bluejay1,silkie,william4,kosta1,143333,connor12,sustanon,06068,corporat,ssnake,laurita,king10,tahoes,arsenal123,sapato,charless,jeanmarc,levent,algerie,marine21,jettas,winsome,dctvgbplf,1701ab,xxxp455w0rd5,lllllll1,ooooooo1,monalis,koufax32,anastasya,debugger,sarita2,jason69,ufkxjyjr,gjlcnfdf,1jerry,daniel10,balinor,sexkitten,death2,qwertasdfgzxcvb,s9te949f,vegeta1,sysman,maxxam,dimabilan,mooose,ilovetit,june23,illest,doesit,mamou,abby12,longjump,transalp,moderato,littleguy,magritte,dilnoza,hawaiiguy,winbig,nemiroff,kokaine,admira,myemail,dream2,browneyes,destiny7,dragonss,suckme1,asa123,andranik,suckem,fleshbot,dandie,timmys,scitra,timdog,hasbeen,guesss,smellyfe,arachne,deutschl,harley88,birthday27,nobody1,papasmur,home1,jonass,bunia3,epatb1,embalm,vfvekmrf,apacer,12345656,estreet,weihnachtsbaum,mrwhite,admin12,kristie1,kelebek,yoda69,socken,tima123,bayern1,fktrcfylth,tamiya,99strenght,andy01,denis2011,19delta,stokecit,aotearoa,stalker2,nicnac,conrad1,popey,agusta,bowl36,1bigfish,mossyoak,1stunner,getinnow,jessejames,gkfnjy,drako,1nissan,egor123,hotness,1hawaii,zxc123456,cantstop,1peaches,madlen,west1234,jeter1,markis,judit,attack1,artemi,silver69,153246,crazy2,green9,yoshimi,1vette,chief123,jasper2,1sierra,twentyon,drstrang,aspirant,yannic,jenna123,bongtoke,slurpy,1sugar,civic97,rusty21,shineon,james19,anna12345,wonderwoman,1kevin,karol1,kanabis,wert21,fktif6115,evil1,kakaha,54gv768,826248s,tyrone1,1winston,sugar2,falcon01,adelya,mopar440,zasxcd,leecher,kinkysex,mercede1,travka,11234567,rebon,geekboy".split(","),
18184english_wikipedia:"the,of,and,in,was,is,for,as,on,with,by,he,at,from,his,an,were,are,which,doc,https,also,or,has,had,first,one,their,its,after,new,who,they,two,her,she,been,other,when,time,during,there,into,school,more,may,years,over,only,year,most,would,world,city,some,where,between,later,three,state,such,then,national,used,made,known,under,many,university,united,while,part,season,team,these,american,than,film,second,born,south,became,states,war,through,being,including,both,before,north,high,however,people,family,early,history,album,area,them,series,against,until,since,district,county,name,work,life,group,music,following,number,company,several,four,called,played,released,career,league,game,government,house,each,based,day,same,won,use,station,club,international,town,located,population,general,college,east,found,age,march,end,september,began,home,public,church,line,june,river,member,system,place,century,band,july,york,january,october,song,august,best,former,british,party,named,held,village,show,local,november,took,service,december,built,another,major,within,along,members,five,single,due,although,small,old,left,final,large,include,building,served,president,received,games,death,february,main,third,set,children,own,order,species,park,law,air,published,road,died,book,men,women,army,often,according,education,central,country,division,english,top,included,development,french,community,among,water,play,side,list,times,near,late,form,original,different,center,power,led,students,german,moved,court,six,land,council,island,u.s.,record,million,research,art,established,award,street,military,television,given,region,support,western,production,non,political,point,cup,period,business,title,started,various,election,using,england,role,produced,become,program,works,field,total,office,class,written,association,radio,union,level,championship,director,few,force,created,department,founded,services,married,though,per,n't,site,open,act,short,society,version,royal,present,northern,worked,professional,full,returned,joined,story,france,european,currently,language,social,california,india,days,design,st.,further,round,australia,wrote,san,project,control,southern,railway,board,popular,continued,free,battle,considered,video,common,position,living,half,playing,recorded,red,post,described,average,records,special,modern,appeared,announced,areas,rock,release,elected,others,example,term,opened,similar,formed,route,census,current,schools,originally,lake,developed,race,himself,forces,addition,information,upon,province,match,event,songs,result,events,win,eastern,track,lead,teams,science,human,construction,minister,germany,awards,available,throughout,training,style,body,museum,australian,health,seven,signed,chief,eventually,appointed,sea,centre,debut,tour,points,media,light,range,character,across,features,families,largest,indian,network,less,performance,players,refer,europe,sold,festival,usually,taken,despite,designed,committee,process,return,official,episode,institute,stage,followed,performed,japanese,personal,thus,arts,space,low,months,includes,china,study,middle,magazine,leading,japan,groups,aircraft,featured,federal,civil,rights,model,coach,canadian,books,remained,eight,type,independent,completed,capital,academy,instead,kingdom,organization,countries,studies,competition,sports,size,above,section,finished,gold,involved,reported,management,systems,industry,directed,market,fourth,movement,technology,bank,ground,campaign,base,lower,sent,rather,added,provided,coast,grand,historic,valley,conference,bridge,winning,approximately,films,chinese,awarded,degree,russian,shows,native,female,replaced,municipality,square,studio,medical,data,african,successful,mid,bay,attack,previous,operations,spanish,theatre,student,republic,beginning,provide,ship,primary,owned,writing,tournament,culture,introduced,texas,related,natural,parts,governor,reached,ireland,units,senior,decided,italian,whose,higher,africa,standard,income,professor,placed,regional,los,buildings,championships,active,novel,energy,generally,interest,via,economic,previously,stated,itself,channel,below,operation,leader,traditional,trade,structure,limited,runs,prior,regular,famous,saint,navy,foreign,listed,artist,catholic,airport,results,parliament,collection,unit,officer,goal,attended,command,staff,commission,lived,location,plays,commercial,places,foundation,significant,older,medal,self,scored,companies,highway,activities,programs,wide,musical,notable,library,numerous,paris,towards,individual,allowed,plant,property,annual,contract,whom,highest,initially,required,earlier,assembly,artists,rural,seat,practice,defeated,ended,soviet,length,spent,manager,press,associated,author,issues,additional,characters,lord,zealand,policy,engine,township,noted,historical,complete,financial,religious,mission,contains,nine,recent,represented,pennsylvania,administration,opening,secretary,lines,report,executive,youth,closed,theory,writer,italy,angeles,appearance,feature,queen,launched,legal,terms,entered,issue,edition,singer,greek,majority,background,source,anti,cultural,complex,changes,recording,stadium,islands,operated,particularly,basketball,month,uses,port,castle,mostly,names,fort,selected,increased,status,earth,subsequently,pacific,cover,variety,certain,goals,remains,upper,congress,becoming,studied,irish,nature,particular,loss,caused,chart,dr.,forced,create,era,retired,material,review,rate,singles,referred,larger,individuals,shown,provides,products,speed,democratic,poland,parish,olympics,cities,themselves,temple,wing,genus,households,serving,cost,wales,stations,passed,supported,view,cases,forms,actor,male,matches,males,stars,tracks,females,administrative,median,effect,biography,train,engineering,camp,offered,chairman,houses,mainly,19th,surface,therefore,nearly,score,ancient,subject,prime,seasons,claimed,experience,specific,jewish,failed,overall,believed,plot,troops,greater,spain,consists,broadcast,heavy,increase,raised,separate,campus,1980s,appears,presented,lies,composed,recently,influence,fifth,nations,creek,references,elections,britain,double,cast,meaning,earned,carried,producer,latter,housing,brothers,attempt,article,response,border,remaining,nearby,direct,ships,value,workers,politician,academic,label,1970s,commander,rule,fellow,residents,authority,editor,transport,dutch,projects,responsible,covered,territory,flight,races,defense,tower,emperor,albums,facilities,daily,stories,assistant,managed,primarily,quality,function,proposed,distribution,conditions,prize,journal,code,vice,newspaper,corps,highly,constructed,mayor,critical,secondary,corporation,rugby,regiment,ohio,appearances,serve,allow,nation,multiple,discovered,directly,scene,levels,growth,elements,acquired,1990s,officers,physical,20th,latin,host,jersey,graduated,arrived,issued,literature,metal,estate,vote,immediately,quickly,asian,competed,extended,produce,urban,1960s,promoted,contemporary,global,formerly,appear,industrial,types,opera,ministry,soldiers,commonly,mass,formation,smaller,typically,drama,shortly,density,senate,effects,iran,polish,prominent,naval,settlement,divided,basis,republican,languages,distance,treatment,continue,product,mile,sources,footballer,format,clubs,leadership,initial,offers,operating,avenue,officially,columbia,grade,squadron,fleet,percent,farm,leaders,agreement,likely,equipment,website,mount,grew,method,transferred,intended,renamed,iron,asia,reserve,capacity,politics,widely,activity,advanced,relations,scottish,dedicated,crew,founder,episodes,lack,amount,build,efforts,concept,follows,ordered,leaves,positive,economy,entertainment,affairs,memorial,ability,illinois,communities,color,text,railroad,scientific,focus,comedy,serves,exchange,environment,cars,direction,organized,firm,description,agency,analysis,purpose,destroyed,reception,planned,revealed,infantry,architecture,growing,featuring,household,candidate,removed,situated,models,knowledge,solo,technical,organizations,assigned,conducted,participated,largely,purchased,register,gained,combined,headquarters,adopted,potential,protection,scale,approach,spread,independence,mountains,titled,geography,applied,safety,mixed,accepted,continues,captured,rail,defeat,principal,recognized,lieutenant,mentioned,semi,owner,joint,liberal,actress,traffic,creation,basic,notes,unique,supreme,declared,simply,plants,sales,massachusetts,designated,parties,jazz,compared,becomes,resources,titles,concert,learning,remain,teaching,versions,content,alongside,revolution,sons,block,premier,impact,champions,districts,generation,estimated,volume,image,sites,account,roles,sport,quarter,providing,zone,yard,scoring,classes,presence,performances,representatives,hosted,split,taught,origin,olympic,claims,critics,facility,occurred,suffered,municipal,damage,defined,resulted,respectively,expanded,platform,draft,opposition,expected,educational,ontario,climate,reports,atlantic,surrounding,performing,reduced,ranked,allows,birth,nominated,younger,newly,kong,positions,theater,philadelphia,heritage,finals,disease,sixth,laws,reviews,constitution,tradition,swedish,theme,fiction,rome,medicine,trains,resulting,existing,deputy,environmental,labour,classical,develop,fans,granted,receive,alternative,begins,nuclear,fame,buried,connected,identified,palace,falls,letters,combat,sciences,effort,villages,inspired,regions,towns,conservative,chosen,animals,labor,attacks,materials,yards,steel,representative,orchestra,peak,entitled,officials,returning,reference,northwest,imperial,convention,examples,ocean,publication,painting,subsequent,frequently,religion,brigade,fully,sides,acts,cemetery,relatively,oldest,suggested,succeeded,achieved,application,programme,cells,votes,promotion,graduate,armed,supply,flying,communist,figures,literary,netherlands,korea,worldwide,citizens,1950s,faculty,draw,stock,seats,occupied,methods,unknown,articles,claim,holds,authorities,audience,sweden,interview,obtained,covers,settled,transfer,marked,allowing,funding,challenge,southeast,unlike,crown,rise,portion,transportation,sector,phase,properties,edge,tropical,standards,institutions,philosophy,legislative,hills,brand,fund,conflict,unable,founding,refused,attempts,metres,permanent,starring,applications,creating,effective,aired,extensive,employed,enemy,expansion,billboard,rank,battalion,multi,vehicle,fought,alliance,category,perform,federation,poetry,bronze,bands,entry,vehicles,bureau,maximum,billion,trees,intelligence,greatest,screen,refers,commissioned,gallery,injury,confirmed,setting,treaty,adult,americans,broadcasting,supporting,pilot,mobile,writers,programming,existence,squad,minnesota,copies,korean,provincial,sets,defence,offices,agricultural,internal,core,northeast,retirement,factory,actions,prevent,communications,ending,weekly,containing,functions,attempted,interior,weight,bowl,recognition,incorporated,increasing,ultimately,documentary,derived,attacked,lyrics,mexican,external,churches,centuries,metropolitan,selling,opposed,personnel,mill,visited,presidential,roads,pieces,norwegian,controlled,18th,rear,influenced,wrestling,weapons,launch,composer,locations,developing,circuit,specifically,studios,shared,canal,wisconsin,publishing,approved,domestic,consisted,determined,comic,establishment,exhibition,southwest,fuel,electronic,cape,converted,educated,melbourne,hits,wins,producing,norway,slightly,occur,surname,identity,represent,constituency,funds,proved,links,structures,athletic,birds,contest,users,poet,institution,display,receiving,rare,contained,guns,motion,piano,temperature,publications,passenger,contributed,toward,cathedral,inhabitants,architect,exist,athletics,muslim,courses,abandoned,signal,successfully,disambiguation,tennessee,dynasty,heavily,maryland,jews,representing,budget,weather,missouri,introduction,faced,pair,chapel,reform,height,vietnam,occurs,motor,cambridge,lands,focused,sought,patients,shape,invasion,chemical,importance,communication,selection,regarding,homes,voivodeship,maintained,borough,failure,aged,passing,agriculture,oregon,teachers,flow,philippines,trail,seventh,portuguese,resistance,reaching,negative,fashion,scheduled,downtown,universities,trained,skills,scenes,views,notably,typical,incident,candidates,engines,decades,composition,commune,chain,inc.,austria,sale,values,employees,chamber,regarded,winners,registered,task,investment,colonial,swiss,user,entirely,flag,stores,closely,entrance,laid,journalist,coal,equal,causes,turkish,quebec,techniques,promote,junction,easily,dates,kentucky,singapore,residence,violence,advance,survey,humans,expressed,passes,streets,distinguished,qualified,folk,establish,egypt,artillery,visual,improved,actual,finishing,medium,protein,switzerland,productions,operate,poverty,neighborhood,organisation,consisting,consecutive,sections,partnership,extension,reaction,factor,costs,bodies,device,ethnic,racial,flat,objects,chapter,improve,musicians,courts,controversy,membership,merged,wars,expedition,interests,arab,comics,gain,describes,mining,bachelor,crisis,joining,decade,1930s,distributed,habitat,routes,arena,cycle,divisions,briefly,vocals,directors,degrees,object,recordings,installed,adjacent,demand,voted,causing,businesses,ruled,grounds,starred,drawn,opposite,stands,formal,operates,persons,counties,compete,wave,israeli,ncaa,resigned,brief,greece,combination,demographics,historian,contain,commonwealth,musician,collected,argued,louisiana,session,cabinet,parliamentary,electoral,loan,profit,regularly,conservation,islamic,purchase,17th,charts,residential,earliest,designs,paintings,survived,moth,items,goods,grey,anniversary,criticism,images,discovery,observed,underground,progress,additionally,participate,thousands,reduce,elementary,owners,stating,iraq,resolution,capture,tank,rooms,hollywood,finance,queensland,reign,maintain,iowa,landing,broad,outstanding,circle,path,manufacturing,assistance,sequence,gmina,crossing,leads,universal,shaped,kings,attached,medieval,ages,metro,colony,affected,scholars,oklahoma,coastal,soundtrack,painted,attend,definition,meanwhile,purposes,trophy,require,marketing,popularity,cable,mathematics,mississippi,represents,scheme,appeal,distinct,factors,acid,subjects,roughly,terminal,economics,senator,diocese,prix,contrast,argentina,czech,wings,relief,stages,duties,16th,novels,accused,whilst,equivalent,charged,measure,documents,couples,request,danish,defensive,guide,devices,statistics,credited,tries,passengers,allied,frame,puerto,peninsula,concluded,instruments,wounded,differences,associate,forests,afterwards,replace,requirements,aviation,solution,offensive,ownership,inner,legislation,hungarian,contributions,actors,translated,denmark,steam,depending,aspects,assumed,injured,severe,admitted,determine,shore,technique,arrival,measures,translation,debuted,delivered,returns,rejected,separated,visitors,damaged,storage,accompanied,markets,industries,losses,gulf,charter,strategy,corporate,socialist,somewhat,significantly,physics,mounted,satellite,experienced,constant,relative,pattern,restored,belgium,connecticut,partners,harvard,retained,networks,protected,mode,artistic,parallel,collaboration,debate,involving,journey,linked,salt,authors,components,context,occupation,requires,occasionally,policies,tamil,ottoman,revolutionary,hungary,poem,versus,gardens,amongst,audio,makeup,frequency,meters,orthodox,continuing,suggests,legislature,coalition,guitarist,eighth,classification,practices,soil,tokyo,instance,limit,coverage,considerable,ranking,colleges,cavalry,centers,daughters,twin,equipped,broadway,narrow,hosts,rates,domain,boundary,arranged,12th,whereas,brazilian,forming,rating,strategic,competitions,trading,covering,baltimore,commissioner,infrastructure,origins,replacement,praised,disc,collections,expression,ukraine,driven,edited,austrian,solar,ensure,premiered,successor,wooden,operational,hispanic,concerns,rapid,prisoners,childhood,meets,influential,tunnel,employment,tribe,qualifying,adapted,temporary,celebrated,appearing,increasingly,depression,adults,cinema,entering,laboratory,script,flows,romania,accounts,fictional,pittsburgh,achieve,monastery,franchise,formally,tools,newspapers,revival,sponsored,processes,vienna,springs,missions,classified,13th,annually,branches,lakes,gender,manner,advertising,normally,maintenance,adding,characteristics,integrated,decline,modified,strongly,critic,victims,malaysia,arkansas,nazi,restoration,powered,monument,hundreds,depth,15th,controversial,admiral,criticized,brick,honorary,initiative,output,visiting,birmingham,progressive,existed,carbon,1920s,credits,colour,rising,hence,defeating,superior,filmed,listing,column,surrounded,orleans,principles,territories,struck,participation,indonesia,movements,index,commerce,conduct,constitutional,spiritual,ambassador,vocal,completion,edinburgh,residing,tourism,finland,bears,medals,resident,themes,visible,indigenous,involvement,basin,electrical,ukrainian,concerts,boats,styles,processing,rival,drawing,vessels,experimental,declined,touring,supporters,compilation,coaching,cited,dated,roots,string,explained,transit,traditionally,poems,minimum,representation,14th,releases,effectively,architectural,triple,indicated,greatly,elevation,clinical,printed,10th,proposal,peaked,producers,romanized,rapidly,stream,innings,meetings,counter,householder,honour,lasted,agencies,document,exists,surviving,experiences,honors,landscape,hurricane,harbor,panel,competing,profile,vessel,farmers,lists,revenue,exception,customers,11th,participants,wildlife,utah,bible,gradually,preserved,replacing,symphony,begun,longest,siege,provinces,mechanical,genre,transmission,agents,executed,videos,benefits,funded,rated,instrumental,ninth,similarly,dominated,destruction,passage,technologies,thereafter,outer,facing,affiliated,opportunities,instrument,governments,scholar,evolution,channels,shares,sessions,widespread,occasions,engineers,scientists,signing,battery,competitive,alleged,eliminated,supplies,judges,hampshire,regime,portrayed,penalty,taiwan,denied,submarine,scholarship,substantial,transition,victorian,http,nevertheless,filed,supports,continental,tribes,ratio,doubles,useful,honours,blocks,principle,retail,departure,ranks,patrol,yorkshire,vancouver,inter,extent,afghanistan,strip,railways,component,organ,symbol,categories,encouraged,abroad,civilian,periods,traveled,writes,struggle,immediate,recommended,adaptation,egyptian,graduating,assault,drums,nomination,historically,voting,allies,detailed,achievement,percentage,arabic,assist,frequent,toured,apply,and/or,intersection,maine,touchdown,throne,produces,contribution,emerged,obtain,archbishop,seek,researchers,remainder,populations,clan,finnish,overseas,fifa,licensed,chemistry,festivals,mediterranean,injuries,animated,seeking,publisher,volumes,limits,venue,jerusalem,generated,trials,islam,youngest,ruling,glasgow,germans,songwriter,persian,municipalities,donated,viewed,belgian,cooperation,posted,tech,dual,volunteer,settlers,commanded,claiming,approval,delhi,usage,terminus,partly,electricity,locally,editions,premiere,absence,belief,traditions,statue,indicate,manor,stable,attributed,possession,managing,viewers,chile,overview,seed,regulations,essential,minority,cargo,segment,endemic,forum,deaths,monthly,playoffs,erected,practical,machines,suburb,relation,mrs.,descent,indoor,continuous,characterized,solutions,caribbean,rebuilt,serbian,summary,contested,psychology,pitch,attending,muhammad,tenure,drivers,diameter,assets,venture,punk,airlines,concentration,athletes,volunteers,pages,mines,influences,sculpture,protest,ferry,behalf,drafted,apparent,furthermore,ranging,romanian,democracy,lanka,significance,linear,d.c.,certified,voters,recovered,tours,demolished,boundaries,assisted,identify,grades,elsewhere,mechanism,1940s,reportedly,aimed,conversion,suspended,photography,departments,beijing,locomotives,publicly,dispute,magazines,resort,conventional,platforms,internationally,capita,settlements,dramatic,derby,establishing,involves,statistical,implementation,immigrants,exposed,diverse,layer,vast,ceased,connections,belonged,interstate,uefa,organised,abuse,deployed,cattle,partially,filming,mainstream,reduction,automatic,rarely,subsidiary,decides,merger,comprehensive,displayed,amendment,guinea,exclusively,manhattan,concerning,commons,radical,serbia,baptist,buses,initiated,portrait,harbour,choir,citizen,sole,unsuccessful,manufactured,enforcement,connecting,increases,patterns,sacred,muslims,clothing,hindu,unincorporated,sentenced,advisory,tanks,campaigns,fled,repeated,remote,rebellion,implemented,texts,fitted,tribute,writings,sufficient,ministers,21st,devoted,jurisdiction,coaches,interpretation,pole,businessman,peru,sporting,prices,cuba,relocated,opponent,arrangement,elite,manufacturer,responded,suitable,distinction,calendar,dominant,tourist,earning,prefecture,ties,preparation,anglo,pursue,worship,archaeological,chancellor,bangladesh,scores,traded,lowest,horror,outdoor,biology,commented,specialized,loop,arriving,farming,housed,historians,'the,patent,pupils,christianity,opponents,athens,northwestern,maps,promoting,reveals,flights,exclusive,lions,norfolk,hebrew,extensively,eldest,shops,acquisition,virtual,renowned,margin,ongoing,essentially,iranian,alternate,sailed,reporting,conclusion,originated,temperatures,exposure,secured,landed,rifle,framework,identical,martial,focuses,topics,ballet,fighters,belonging,wealthy,negotiations,evolved,bases,oriented,acres,democrat,heights,restricted,vary,graduation,aftermath,chess,illness,participating,vertical,collective,immigration,demonstrated,leaf,completing,organic,missile,leeds,eligible,grammar,confederate,improvement,congressional,wealth,cincinnati,spaces,indicates,corresponding,reaches,repair,isolated,taxes,congregation,ratings,leagues,diplomatic,submitted,winds,awareness,photographs,maritime,nigeria,accessible,animation,restaurants,philippine,inaugural,dismissed,armenian,illustrated,reservoir,speakers,programmes,resource,genetic,interviews,camps,regulation,computers,preferred,travelled,comparison,distinctive,recreation,requested,southeastern,dependent,brisbane,breeding,playoff,expand,bonus,gauge,departed,qualification,inspiration,shipping,slaves,variations,shield,theories,munich,recognised,emphasis,favour,variable,seeds,undergraduate,territorial,intellectual,qualify,mini,banned,pointed,democrats,assessment,judicial,examination,attempting,objective,partial,characteristic,hardware,pradesh,execution,ottawa,metre,drum,exhibitions,withdrew,attendance,phrase,journalism,logo,measured,error,christians,trio,protestant,theology,respective,atmosphere,buddhist,substitute,curriculum,fundamental,outbreak,rabbi,intermediate,designation,globe,liberation,simultaneously,diseases,experiments,locomotive,difficulties,mainland,nepal,relegated,contributing,database,developments,veteran,carries,ranges,instruction,lodge,protests,obama,newcastle,experiment,physician,describing,challenges,corruption,delaware,adventures,ensemble,succession,renaissance,tenth,altitude,receives,approached,crosses,syria,croatia,warsaw,professionals,improvements,worn,airline,compound,permitted,preservation,reducing,printing,scientist,activist,comprises,sized,societies,enters,ruler,gospel,earthquake,extend,autonomous,croatian,serial,decorated,relevant,ideal,grows,grass,tier,towers,wider,welfare,columns,alumni,descendants,interface,reserves,banking,colonies,manufacturers,magnetic,closure,pitched,vocalist,preserve,enrolled,cancelled,equation,2000s,nickname,bulgaria,heroes,exile,mathematical,demands,input,structural,tube,stem,approaches,argentine,axis,manuscript,inherited,depicted,targets,visits,veterans,regard,removal,efficiency,organisations,concepts,lebanon,manga,petersburg,rally,supplied,amounts,yale,tournaments,broadcasts,signals,pilots,azerbaijan,architects,enzyme,literacy,declaration,placing,batting,incumbent,bulgarian,consistent,poll,defended,landmark,southwestern,raid,resignation,travels,casualties,prestigious,namely,aims,recipient,warfare,readers,collapse,coached,controls,volleyball,coup,lesser,verse,pairs,exhibited,proteins,molecular,abilities,integration,consist,aspect,advocate,administered,governing,hospitals,commenced,coins,lords,variation,resumed,canton,artificial,elevated,palm,difficulty,civic,efficient,northeastern,inducted,radiation,affiliate,boards,stakes,byzantine,consumption,freight,interaction,oblast,numbered,seminary,contracts,extinct,predecessor,bearing,cultures,functional,neighboring,revised,cylinder,grants,narrative,reforms,athlete,tales,reflect,presidency,compositions,specialist,cricketer,founders,sequel,widow,disbanded,associations,backed,thereby,pitcher,commanding,boulevard,singers,crops,militia,reviewed,centres,waves,consequently,fortress,tributary,portions,bombing,excellence,nest,payment,mars,plaza,unity,victories,scotia,farms,nominations,variant,attacking,suspension,installation,graphics,estates,comments,acoustic,destination,venues,surrender,retreat,libraries,quarterback,customs,berkeley,collaborated,gathered,syndrome,dialogue,recruited,shanghai,neighbouring,psychological,saudi,moderate,exhibit,innovation,depot,binding,brunswick,situations,certificate,actively,shakespeare,editorial,presentation,ports,relay,nationalist,methodist,archives,experts,maintains,collegiate,bishops,maintaining,temporarily,embassy,essex,wellington,connects,reformed,bengal,recalled,inches,doctrine,deemed,legendary,reconstruction,statements,palestinian,meter,achievements,riders,interchange,spots,auto,accurate,chorus,dissolved,missionary,thai,operators,e.g.,generations,failing,delayed,cork,nashville,perceived,venezuela,cult,emerging,tomb,abolished,documented,gaining,canyon,episcopal,stored,assists,compiled,kerala,kilometers,mosque,grammy,theorem,unions,segments,glacier,arrives,theatrical,circulation,conferences,chapters,displays,circular,authored,conductor,fewer,dimensional,nationwide,liga,yugoslavia,peer,vietnamese,fellowship,armies,regardless,relating,dynamic,politicians,mixture,serie,somerset,imprisoned,posts,beliefs,beta,layout,independently,electronics,provisions,fastest,logic,headquartered,creates,challenged,beaten,appeals,plains,protocol,graphic,accommodate,iraqi,midfielder,span,commentary,freestyle,reflected,palestine,lighting,burial,virtually,backing,prague,tribal,heir,identification,prototype,criteria,dame,arch,tissue,footage,extending,procedures,predominantly,updated,rhythm,preliminary,cafe,disorder,prevented,suburbs,discontinued,retiring,oral,followers,extends,massacre,journalists,conquest,larvae,pronounced,behaviour,diversity,sustained,addressed,geographic,restrictions,voiced,milwaukee,dialect,quoted,grid,nationally,nearest,roster,twentieth,separation,indies,manages,citing,intervention,guidance,severely,migration,artwork,focusing,rivals,trustees,varied,enabled,committees,centered,skating,slavery,cardinals,forcing,tasks,auckland,youtube,argues,colored,advisor,mumbai,requiring,theological,registration,refugees,nineteenth,survivors,runners,colleagues,priests,contribute,variants,workshop,concentrated,creator,lectures,temples,exploration,requirement,interactive,navigation,companion,perth,allegedly,releasing,citizenship,observation,stationed,ph.d.,sheep,breed,discovers,encourage,kilometres,journals,performers,isle,saskatchewan,hybrid,hotels,lancashire,dubbed,airfield,anchor,suburban,theoretical,sussex,anglican,stockholm,permanently,upcoming,privately,receiver,optical,highways,congo,colours,aggregate,authorized,repeatedly,varies,fluid,innovative,transformed,praise,convoy,demanded,discography,attraction,export,audiences,ordained,enlisted,occasional,westminster,syrian,heavyweight,bosnia,consultant,eventual,improving,aires,wickets,epic,reactions,scandal,i.e.,discrimination,buenos,patron,investors,conjunction,testament,construct,encountered,celebrity,expanding,georgian,brands,retain,underwent,algorithm,foods,provision,orbit,transformation,associates,tactical,compact,varieties,stability,refuge,gathering,moreover,manila,configuration,gameplay,discipline,entity,comprising,composers,skill,monitoring,ruins,museums,sustainable,aerial,altered,codes,voyage,friedrich,conflicts,storyline,travelling,conducting,merit,indicating,referendum,currency,encounter,particles,automobile,workshops,acclaimed,inhabited,doctorate,cuban,phenomenon,dome,enrollment,tobacco,governance,trend,equally,manufacture,hydrogen,grande,compensation,download,pianist,grain,shifted,neutral,evaluation,define,cycling,seized,array,relatives,motors,firms,varying,automatically,restore,nicknamed,findings,governed,investigate,manitoba,administrator,vital,integral,indonesian,confusion,publishers,enable,geographical,inland,naming,civilians,reconnaissance,indianapolis,lecturer,deer,tourists,exterior,rhode,bassist,symbols,scope,ammunition,yuan,poets,punjab,nursing,cent,developers,estimates,presbyterian,nasa,holdings,generate,renewed,computing,cyprus,arabia,duration,compounds,gastropod,permit,valid,touchdowns,facade,interactions,mineral,practiced,allegations,consequence,goalkeeper,baronet,copyright,uprising,carved,targeted,competitors,mentions,sanctuary,fees,pursued,tampa,chronicle,capabilities,specified,specimens,toll,accounting,limestone,staged,upgraded,philosophical,streams,guild,revolt,rainfall,supporter,princeton,terrain,hometown,probability,assembled,paulo,surrey,voltage,developer,destroyer,floors,lineup,curve,prevention,potentially,onwards,trips,imposed,hosting,striking,strict,admission,apartments,solely,utility,proceeded,observations,euro,incidents,vinyl,profession,haven,distant,expelled,rivalry,runway,torpedo,zones,shrine,dimensions,investigations,lithuania,idaho,pursuit,copenhagen,considerably,locality,wireless,decrease,genes,thermal,deposits,hindi,habitats,withdrawn,biblical,monuments,casting,plateau,thesis,managers,flooding,assassination,acknowledged,interim,inscription,guided,pastor,finale,insects,transported,activists,marshal,intensity,airing,cardiff,proposals,lifestyle,prey,herald,capitol,aboriginal,measuring,lasting,interpreted,occurring,desired,drawings,healthcare,panels,elimination,oslo,ghana,blog,sabha,intent,superintendent,governors,bankruptcy,p.m.,equity,disk,layers,slovenia,prussia,quartet,mechanics,graduates,politically,monks,screenplay,nato,absorbed,topped,petition,bold,morocco,exhibits,canterbury,publish,rankings,crater,dominican,enhanced,planes,lutheran,governmental,joins,collecting,brussels,unified,streak,strategies,flagship,surfaces,oval,archive,etymology,imprisonment,instructor,noting,remix,opposing,servant,rotation,width,trans,maker,synthesis,excess,tactics,snail,ltd.,lighthouse,sequences,cornwall,plantation,mythology,performs,foundations,populated,horizontal,speedway,activated,performer,diving,conceived,edmonton,subtropical,environments,prompted,semifinals,caps,bulk,treasury,recreational,telegraph,continent,portraits,relegation,catholics,graph,velocity,rulers,endangered,secular,observer,learns,inquiry,idol,dictionary,certification,estimate,cluster,armenia,observatory,revived,nadu,consumers,hypothesis,manuscripts,contents,arguments,editing,trails,arctic,essays,belfast,acquire,promotional,undertaken,corridor,proceedings,antarctic,millennium,labels,delegates,vegetation,acclaim,directing,substance,outcome,diploma,philosopher,malta,albanian,vicinity,degc,legends,regiments,consent,terrorist,scattered,presidents,gravity,orientation,deployment,duchy,refuses,estonia,crowned,separately,renovation,rises,wilderness,objectives,agreements,empress,slopes,inclusion,equality,decree,ballot,criticised,rochester,recurring,struggled,disabled,henri,poles,prussian,convert,bacteria,poorly,sudan,geological,wyoming,consistently,minimal,withdrawal,interviewed,proximity,repairs,initiatives,pakistani,republicans,propaganda,viii,abstract,commercially,availability,mechanisms,naples,discussions,underlying,lens,proclaimed,advised,spelling,auxiliary,attract,lithuanian,editors,o'brien,accordance,measurement,novelist,ussr,formats,councils,contestants,indie,facebook,parishes,barrier,battalions,sponsor,consulting,terrorism,implement,uganda,crucial,unclear,notion,distinguish,collector,attractions,filipino,ecology,investments,capability,renovated,iceland,albania,accredited,scouts,armor,sculptor,cognitive,errors,gaming,condemned,successive,consolidated,baroque,entries,regulatory,reserved,treasurer,variables,arose,technological,rounded,provider,rhine,agrees,accuracy,genera,decreased,frankfurt,ecuador,edges,particle,rendered,calculated,careers,faction,rifles,americas,gaelic,portsmouth,resides,merchants,fiscal,premises,coin,draws,presenter,acceptance,ceremonies,pollution,consensus,membrane,brigadier,nonetheless,genres,supervision,predicted,magnitude,finite,differ,ancestry,vale,delegation,removing,proceeds,placement,emigrated,siblings,molecules,payments,considers,demonstration,proportion,newer,valve,achieving,confederation,continuously,luxury,notre,introducing,coordinates,charitable,squadrons,disorders,geometry,winnipeg,ulster,loans,longtime,receptor,preceding,belgrade,mandate,wrestler,neighbourhood,factories,buddhism,imported,sectors,protagonist,steep,elaborate,prohibited,artifacts,prizes,pupil,cooperative,sovereign,subspecies,carriers,allmusic,nationals,settings,autobiography,neighborhoods,analog,facilitate,voluntary,jointly,newfoundland,organizing,raids,exercises,nobel,machinery,baltic,crop,granite,dense,websites,mandatory,seeks,surrendered,anthology,comedian,bombs,slot,synopsis,critically,arcade,marking,equations,halls,indo,inaugurated,embarked,speeds,clause,invention,premiership,likewise,presenting,demonstrate,designers,organize,examined,km/h,bavaria,troop,referee,detection,zurich,prairie,rapper,wingspan,eurovision,luxembourg,slovakia,inception,disputed,mammals,entrepreneur,makers,evangelical,yield,clergy,trademark,defunct,allocated,depicting,volcanic,batted,conquered,sculptures,providers,reflects,armoured,locals,walt,herzegovina,contracted,entities,sponsorship,prominence,flowing,ethiopia,marketed,corporations,withdraw,carnegie,induced,investigated,portfolio,flowering,opinions,viewing,classroom,donations,bounded,perception,leicester,fruits,charleston,academics,statute,complaints,smallest,deceased,petroleum,resolved,commanders,algebra,southampton,modes,cultivation,transmitter,spelled,obtaining,sizes,acre,pageant,bats,abbreviated,correspondence,barracks,feast,tackles,raja,derives,geology,disputes,translations,counted,constantinople,seating,macedonia,preventing,accommodation,homeland,explored,invaded,provisional,transform,sphere,unsuccessfully,missionaries,conservatives,highlights,traces,organisms,openly,dancers,fossils,absent,monarchy,combining,lanes,stint,dynamics,chains,missiles,screening,module,tribune,generating,miners,nottingham,seoul,unofficial,owing,linking,rehabilitation,citation,louisville,mollusk,depicts,differential,zimbabwe,kosovo,recommendations,responses,pottery,scorer,aided,exceptions,dialects,telecommunications,defines,elderly,lunar,coupled,flown,25th,espn,formula_1,bordered,fragments,guidelines,gymnasium,valued,complexity,papal,presumably,maternal,challenging,reunited,advancing,comprised,uncertain,favorable,twelfth,correspondent,nobility,livestock,expressway,chilean,tide,researcher,emissions,profits,lengths,accompanying,witnessed,itunes,drainage,slope,reinforced,feminist,sanskrit,develops,physicians,outlets,isbn,coordinator,averaged,termed,occupy,diagnosed,yearly,humanitarian,prospect,spacecraft,stems,enacted,linux,ancestors,karnataka,constitute,immigrant,thriller,ecclesiastical,generals,celebrations,enhance,heating,advocated,evident,advances,bombardment,watershed,shuttle,wicket,twitter,adds,branded,teaches,schemes,pension,advocacy,conservatory,cairo,varsity,freshwater,providence,seemingly,shells,cuisine,specially,peaks,intensive,publishes,trilogy,skilled,nacional,unemployment,destinations,parameters,verses,trafficking,determination,infinite,savings,alignment,linguistic,countryside,dissolution,measurements,advantages,licence,subfamily,highlands,modest,regent,algeria,crest,teachings,knockout,brewery,combine,conventions,descended,chassis,primitive,fiji,explicitly,cumberland,uruguay,laboratories,bypass,elect,informal,preceded,holocaust,tackle,minneapolis,quantity,securities,console,doctoral,religions,commissioners,expertise,unveiled,precise,diplomat,standings,infant,disciplines,sicily,endorsed,systematic,charted,armored,mild,lateral,townships,hurling,prolific,invested,wartime,compatible,galleries,moist,battlefield,decoration,convent,tubes,terrestrial,nominee,requests,delegate,leased,dubai,polar,applying,addresses,munster,sings,commercials,teamed,dances,eleventh,midland,cedar,flee,sandstone,snails,inspection,divide,asset,themed,comparable,paramount,dairy,archaeology,intact,institutes,rectangular,instances,phases,reflecting,substantially,applies,vacant,lacked,copa,coloured,encounters,sponsors,encoded,possess,revenues,ucla,chaired,a.m.,enabling,playwright,stoke,sociology,tibetan,frames,motto,financing,illustrations,gibraltar,chateau,bolivia,transmitted,enclosed,persuaded,urged,folded,suffolk,regulated,bros.,submarines,myth,oriental,malaysian,effectiveness,narrowly,acute,sunk,replied,utilized,tasmania,consortium,quantities,gains,parkway,enlarged,sided,employers,adequate,accordingly,assumption,ballad,mascot,distances,peaking,saxony,projected,affiliation,limitations,metals,guatemala,scots,theaters,kindergarten,verb,employer,differs,discharge,controller,seasonal,marching,guru,campuses,avoided,vatican,maori,excessive,chartered,modifications,caves,monetary,sacramento,mixing,institutional,celebrities,irrigation,shapes,broadcaster,anthem,attributes,demolition,offshore,specification,surveys,yugoslav,contributor,auditorium,lebanese,capturing,airports,classrooms,chennai,paths,tendency,determining,lacking,upgrade,sailors,detected,kingdoms,sovereignty,freely,decorative,momentum,scholarly,georges,gandhi,speculation,transactions,undertook,interact,similarities,cove,teammate,constituted,painters,tends,madagascar,partnerships,afghan,personalities,attained,rebounds,masses,synagogue,reopened,asylum,embedded,imaging,catalogue,defenders,taxonomy,fiber,afterward,appealed,communists,lisbon,rica,judaism,adviser,batsman,ecological,commands,lgbt,cooling,accessed,wards,shiva,employs,thirds,scenic,worcester,tallest,contestant,humanities,economist,textile,constituencies,motorway,tram,percussion,cloth,leisure,1880s,baden,flags,resemble,riots,coined,sitcom,composite,implies,daytime,tanzania,penalties,optional,competitor,excluded,steering,reversed,autonomy,reviewer,breakthrough,professionally,damages,pomeranian,deputies,valleys,ventures,highlighted,electorate,mapping,shortened,executives,tertiary,specimen,launching,bibliography,sank,pursuing,binary,descendant,marched,natives,ideology,turks,adolf,archdiocese,tribunal,exceptional,nigerian,preference,fails,loading,comeback,vacuum,favored,alter,remnants,consecrated,spectators,trends,patriarch,feedback,paved,sentences,councillor,astronomy,advocates,broader,commentator,commissions,identifying,revealing,theatres,incomplete,enables,constituent,reformation,tract,haiti,atmospheric,screened,explosive,czechoslovakia,acids,symbolic,subdivision,liberals,incorporate,challenger,erie,filmmaker,laps,kazakhstan,organizational,evolutionary,chemicals,dedication,riverside,fauna,moths,maharashtra,annexed,gen.,resembles,underwater,garnered,timeline,remake,suited,educator,hectares,automotive,feared,latvia,finalist,narrator,portable,airways,plaque,designing,villagers,licensing,flank,statues,struggles,deutsche,migrated,cellular,jacksonville,wimbledon,defining,highlight,preparatory,planets,cologne,employ,frequencies,detachment,readily,libya,resign,halt,helicopters,reef,landmarks,collaborative,irregular,retaining,helsinki,folklore,weakened,viscount,interred,professors,memorable,mega,repertoire,rowing,dorsal,albeit,progressed,operative,coronation,liner,telugu,domains,philharmonic,detect,bengali,synthetic,tensions,atlas,dramatically,paralympics,xbox,shire,kiev,lengthy,sued,notorious,seas,screenwriter,transfers,aquatic,pioneers,unesco,radius,abundant,tunnels,syndicated,inventor,accreditation,janeiro,exeter,ceremonial,omaha,cadet,predators,resided,prose,slavic,precision,abbot,deity,engaging,cambodia,estonian,compliance,demonstrations,protesters,reactor,commodore,successes,chronicles,mare,extant,listings,minerals,tonnes,parody,cultivated,traders,pioneering,supplement,slovak,preparations,collision,partnered,vocational,atoms,malayalam,welcomed,documentation,curved,functioning,presently,formations,incorporates,nazis,botanical,nucleus,ethical,greeks,metric,automated,whereby,stance,europeans,duet,disability,purchasing,email,telescope,displaced,sodium,comparative,processor,inning,precipitation,aesthetic,import,coordination,feud,alternatively,mobility,tibet,regained,succeeding,hierarchy,apostolic,catalog,reproduction,inscriptions,vicar,clusters,posthumously,rican,loosely,additions,photographic,nowadays,selective,derivative,keyboards,guides,collectively,affecting,combines,operas,networking,decisive,terminated,continuity,finishes,ancestor,consul,heated,simulation,leipzig,incorporating,georgetown,formula_2,circa,forestry,portrayal,councillors,advancement,complained,forewings,confined,transaction,definitions,reduces,televised,1890s,rapids,phenomena,belarus,alps,landscapes,quarterly,specifications,commemorate,continuation,isolation,antenna,downstream,patents,ensuing,tended,saga,lifelong,columnist,labeled,gymnastics,papua,anticipated,demise,encompasses,madras,antarctica,interval,icon,rams,midlands,ingredients,priory,strengthen,rouge,explicit,gaza,aging,securing,anthropology,listeners,adaptations,underway,vista,malay,fortified,lightweight,violations,concerto,financed,jesuit,observers,trustee,descriptions,nordic,resistant,opted,accepts,prohibition,andhra,inflation,negro,wholly,imagery,spur,instructed,gloucester,cycles,middlesex,destroyers,statewide,evacuated,hyderabad,peasants,mice,shipyard,coordinate,pitching,colombian,exploring,numbering,compression,countess,hiatus,exceed,raced,archipelago,traits,soils,o'connor,vowel,android,facto,angola,amino,holders,logistics,circuits,emergence,kuwait,partition,emeritus,outcomes,submission,promotes,barack,negotiated,loaned,stripped,50th,excavations,treatments,fierce,participant,exports,decommissioned,cameo,remarked,residences,fuselage,mound,undergo,quarry,node,midwest,specializing,occupies,etc.,showcase,molecule,offs,modules,salon,exposition,revision,peers,positioned,hunters,competes,algorithms,reside,zagreb,calcium,uranium,silicon,airs,counterpart,outlet,collectors,sufficiently,canberra,inmates,anatomy,ensuring,curves,aviv,firearms,basque,volcano,thrust,sheikh,extensions,installations,aluminum,darker,sacked,emphasized,aligned,asserted,pseudonym,spanning,decorations,eighteenth,orbital,spatial,subdivided,notation,decay,macedonian,amended,declining,cyclist,feat,unusually,commuter,birthplace,latitude,activation,overhead,30th,finalists,whites,encyclopedia,tenor,qatar,survives,complement,concentrations,uncommon,astronomical,bangalore,pius,genome,memoir,recruit,prosecutor,modification,paired,container,basilica,arlington,displacement,germanic,mongolia,proportional,debates,matched,calcutta,rows,tehran,aerospace,prevalent,arise,lowland,24th,spokesman,supervised,advertisements,clash,tunes,revelation,wanderers,quarterfinals,fisheries,steadily,memoirs,pastoral,renewable,confluence,acquiring,strips,slogan,upstream,scouting,analyst,practitioners,turbine,strengthened,heavier,prehistoric,plural,excluding,isles,persecution,turin,rotating,villain,hemisphere,unaware,arabs,corpus,relied,singular,unanimous,schooling,passive,angles,dominance,instituted,aria,outskirts,balanced,beginnings,financially,structured,parachute,viewer,attitudes,subjected,escapes,derbyshire,erosion,addressing,styled,declaring,originating,colts,adjusted,stained,occurrence,fortifications,baghdad,nitrogen,localities,yemen,galway,debris,lodz,victorious,pharmaceutical,substances,unnamed,dwelling,atop,developmental,activism,voter,refugee,forested,relates,overlooking,genocide,kannada,insufficient,oversaw,partisan,dioxide,recipients,factions,mortality,capped,expeditions,receptors,reorganized,prominently,atom,flooded,flute,orchestral,scripts,mathematician,airplay,detached,rebuilding,dwarf,brotherhood,salvation,expressions,arabian,cameroon,poetic,recruiting,bundesliga,inserted,scrapped,disabilities,evacuation,pasha,undefeated,crafts,rituals,aluminium,norm,pools,submerged,occupying,pathway,exams,prosperity,wrestlers,promotions,basal,permits,nationalism,trim,merge,gazette,tributaries,transcription,caste,porto,emerge,modeled,adjoining,counterparts,paraguay,redevelopment,renewal,unreleased,equilibrium,similarity,minorities,soviets,comprise,nodes,tasked,unrelated,expired,johan,precursor,examinations,electrons,socialism,exiled,admiralty,floods,wigan,nonprofit,lacks,brigades,screens,repaired,hanover,fascist,labs,osaka,delays,judged,statutory,colt,col.,offspring,solving,bred,assisting,retains,somalia,grouped,corresponds,tunisia,chaplain,eminent,chord,22nd,spans,viral,innovations,possessions,mikhail,kolkata,icelandic,implications,introduces,racism,workforce,alto,compulsory,admits,censorship,onset,reluctant,inferior,iconic,progression,liability,turnout,satellites,behavioral,coordinated,exploitation,posterior,averaging,fringe,krakow,mountainous,greenwich,para,plantations,reinforcements,offerings,famed,intervals,constraints,individually,nutrition,1870s,taxation,threshold,tomatoes,fungi,contractor,ethiopian,apprentice,diabetes,wool,gujarat,honduras,norse,bucharest,23rd,arguably,accompany,prone,teammates,perennial,vacancy,polytechnic,deficit,okinawa,functionality,reminiscent,tolerance,transferring,myanmar,concludes,neighbours,hydraulic,economically,slower,plots,charities,synod,investor,catholicism,identifies,bronx,interpretations,adverse,judiciary,hereditary,nominal,sensor,symmetry,cubic,triangular,tenants,divisional,outreach,representations,passages,undergoing,cartridge,testified,exceeded,impacts,limiting,railroads,defeats,regain,rendering,humid,retreated,reliability,governorate,antwerp,infamous,implied,packaging,lahore,trades,billed,extinction,ecole,rejoined,recognizes,projection,qualifications,stripes,forts,socially,lexington,accurately,sexuality,westward,wikipedia,pilgrimage,abolition,choral,stuttgart,nests,expressing,strikeouts,assessed,monasteries,reconstructed,humorous,marxist,fertile,consort,urdu,patronage,peruvian,devised,lyric,baba,nassau,communism,extraction,popularly,markings,inability,litigation,accounted,processed,emirates,tempo,cadets,eponymous,contests,broadly,oxide,courtyard,frigate,directory,apex,outline,regency,chiefly,patrols,secretariat,cliffs,residency,privy,armament,australians,dorset,geometric,genetics,scholarships,fundraising,flats,demographic,multimedia,captained,documentaries,updates,canvas,blockade,guerrilla,songwriting,administrators,intake,drought,implementing,fraction,cannes,refusal,inscribed,meditation,announcing,exported,ballots,formula_3,curator,basel,arches,flour,subordinate,confrontation,gravel,simplified,berkshire,patriotic,tuition,employing,servers,castile,posting,combinations,discharged,miniature,mutations,constellation,incarnation,ideals,necessity,granting,ancestral,crowds,pioneered,mormon,methodology,rama,indirect,complexes,bavarian,patrons,uttar,skeleton,bollywood,flemish,viable,bloc,breeds,triggered,sustainability,tailed,referenced,comply,takeover,latvian,homestead,platoon,communal,nationality,excavated,targeting,sundays,posed,physicist,turret,endowment,marginal,dispatched,commentators,renovations,attachment,collaborations,ridges,barriers,obligations,shareholders,prof.,defenses,presided,rite,backgrounds,arbitrary,affordable,gloucestershire,thirteenth,inlet,miniseries,possesses,detained,pressures,subscription,realism,solidarity,proto,postgraduate,noun,burmese,abundance,homage,reasoning,anterior,robust,fencing,shifting,vowels,garde,profitable,loch,anchored,coastline,samoa,terminology,prostitution,magistrate,venezuelan,speculated,regulate,fixture,colonists,digit,induction,manned,expeditionary,computational,centennial,principally,vein,preserving,engineered,numerical,cancellation,conferred,continually,borne,seeded,advertisement,unanimously,treaties,infections,ions,sensors,lowered,amphibious,lava,fourteenth,bahrain,niagara,nicaragua,squares,congregations,26th,periodic,proprietary,1860s,contributors,seller,overs,emission,procession,presumed,illustrator,zinc,gases,tens,applicable,stretches,reproductive,sixteenth,apparatus,accomplishments,canoe,guam,oppose,recruitment,accumulated,limerick,namibia,staging,remixes,ordnance,uncertainty,pedestrian,temperate,treason,deposited,registry,cerambycidae,attracting,lankan,reprinted,shipbuilding,homosexuality,neurons,eliminating,1900s,resume,ministries,beneficial,blackpool,surplus,northampton,licenses,constructing,announcer,standardized,alternatives,taipei,inadequate,failures,yields,medalist,titular,obsolete,torah,burlington,predecessors,lublin,retailers,castles,depiction,issuing,gubernatorial,propulsion,tiles,damascus,discs,alternating,pomerania,peasant,tavern,redesignated,27th,illustration,focal,mans,codex,specialists,productivity,antiquity,controversies,promoter,pits,companions,behaviors,lyrical,prestige,creativity,swansea,dramas,approximate,feudal,tissues,crude,campaigned,unprecedented,chancel,amendments,surroundings,allegiance,exchanges,align,firmly,optimal,commenting,reigning,landings,obscure,1850s,contemporaries,paternal,devi,endurance,communes,incorporation,denominations,exchanged,routing,resorts,amnesty,slender,explores,suppression,heats,pronunciation,centred,coupe,stirling,freelance,treatise,linguistics,laos,informs,discovering,pillars,encourages,halted,robots,definitive,maturity,tuberculosis,venetian,silesian,unchanged,originates,mali,lincolnshire,quotes,seniors,premise,contingent,distribute,danube,gorge,logging,dams,curling,seventeenth,specializes,wetlands,deities,assess,thickness,rigid,culminated,utilities,substrate,insignia,nile,assam,shri,currents,suffrage,canadians,mortar,asteroid,bosnian,discoveries,enzymes,sanctioned,replica,hymn,investigators,tidal,dominate,derivatives,converting,leinster,verbs,honoured,criticisms,dismissal,discrete,masculine,reorganization,unlimited,wurttemberg,sacks,allocation,bahn,jurisdictions,participates,lagoon,famine,communion,culminating,surveyed,shortage,cables,intersects,cassette,foremost,adopting,solicitor,outright,bihar,reissued,farmland,dissertation,turnpike,baton,photographed,christchurch,kyoto,finances,rails,histories,linebacker,kilkenny,accelerated,dispersed,handicap,absorption,rancho,ceramic,captivity,cites,font,weighed,mater,utilize,bravery,extract,validity,slovenian,seminars,discourse,ranged,duel,ironically,warships,sega,temporal,surpassed,prolonged,recruits,northumberland,greenland,contributes,patented,eligibility,unification,discusses,reply,translates,beirut,relies,torque,northward,reviewers,monastic,accession,neural,tramway,heirs,sikh,subscribers,amenities,taliban,audit,rotterdam,wagons,kurdish,favoured,combustion,meanings,persia,browser,diagnostic,niger,formula_4,denomination,dividing,parameter,branding,badminton,leningrad,sparked,hurricanes,beetles,propeller,mozambique,refined,diagram,exhaust,vacated,readings,markers,reconciliation,determines,concurrent,imprint,primera,organism,demonstrating,filmmakers,vanderbilt,affiliates,traction,evaluated,defendants,megachile,investigative,zambia,assassinated,rewarded,probable,staffordshire,foreigners,directorate,nominees,consolidation,commandant,reddish,differing,unrest,drilling,bohemia,resembling,instrumentation,considerations,haute,promptly,variously,dwellings,clans,tablet,enforced,cockpit,semifinal,hussein,prisons,ceylon,emblem,monumental,phrases,correspond,crossover,outlined,characterised,acceleration,caucus,crusade,protested,composing,rajasthan,habsburg,rhythmic,interception,inherent,cooled,ponds,spokesperson,gradual,consultation,kuala,globally,suppressed,builders,avengers,suffix,integer,enforce,fibers,unionist,proclamation,uncovered,infrared,adapt,eisenhower,utilizing,captains,stretched,observing,assumes,prevents,analyses,saxophone,caucasus,notices,villains,dartmouth,mongol,hostilities,stretching,veterinary,lenses,texture,prompting,overthrow,excavation,islanders,masovian,battleship,biographer,replay,degradation,departing,luftwaffe,fleeing,oversight,immigrated,serbs,fishermen,strengthening,respiratory,italians,denotes,radial,escorted,motif,wiltshire,expresses,accessories,reverted,establishments,inequality,protocols,charting,famously,satirical,entirety,trench,friction,atletico,sampling,subset,weekday,upheld,sharply,correlation,incorrect,mughal,travelers,hasan,earnings,offset,evaluate,specialised,recognizing,flexibility,nagar,postseason,algebraic,capitalism,crystals,melodies,polynomial,racecourse,defences,austro,wembley,attracts,anarchist,resurrection,reviewing,decreasing,prefix,ratified,mutation,displaying,separating,restoring,assemblies,ordinance,priesthood,cruisers,appoint,moldova,imports,directive,epidemic,militant,senegal,signaling,restriction,critique,retrospective,nationalists,undertake,sioux,canals,algerian,redesigned,philanthropist,depict,conceptual,turbines,intellectuals,eastward,applicants,contractors,vendors,undergone,namesake,ensured,tones,substituted,hindwings,arrests,tombs,transitional,principality,reelection,taiwanese,cavity,manifesto,broadcasters,spawned,thoroughbred,identities,generators,proposes,hydroelectric,johannesburg,cortex,scandinavian,killings,aggression,boycott,catalyst,physiology,fifteenth,waterfront,chromosome,organist,costly,calculation,cemeteries,flourished,recognise,juniors,merging,disciples,ashore,workplace,enlightenment,diminished,debated,hailed,podium,educate,mandated,distributor,litre,electromagnetic,flotilla,estuary,peterborough,staircase,selections,melodic,confronts,wholesale,integrate,intercepted,catalonia,unite,immense,palatinate,switches,earthquakes,occupational,successors,praising,concluding,faculties,firstly,overhaul,empirical,metacritic,inauguration,evergreen,laden,winged,philosophers,amalgamated,geoff,centimeters,napoleonic,upright,planting,brewing,fined,sensory,migrants,wherein,inactive,headmaster,warwickshire,siberia,terminals,denounced,academia,divinity,bilateral,clive,omitted,peerage,relics,apartheid,syndicate,fearing,fixtures,desirable,dismantled,ethnicity,valves,biodiversity,aquarium,ideological,visibility,creators,analyzed,tenant,balkan,postwar,supplier,smithsonian,risen,morphology,digits,bohemian,wilmington,vishnu,demonstrates,aforementioned,biographical,mapped,khorasan,phosphate,presentations,ecosystem,processors,calculations,mosaic,clashes,penned,recalls,coding,angular,lattice,macau,accountability,extracted,pollen,therapeutic,overlap,violinist,deposed,candidacy,infants,covenant,bacterial,restructuring,dungeons,ordination,conducts,builds,invasive,customary,concurrently,relocation,cello,statutes,borneo,entrepreneurs,sanctions,packet,rockefeller,piedmont,comparisons,waterfall,receptions,glacial,surge,signatures,alterations,advertised,enduring,somali,botanist,100th,canonical,motifs,longitude,circulated,alloy,indirectly,margins,preserves,internally,besieged,shale,peripheral,drained,baseman,reassigned,tobago,soloist,socio,grazing,contexts,roofs,portraying,ottomans,shrewsbury,noteworthy,lamps,supplying,beams,qualifier,portray,greenhouse,stronghold,hitter,rites,cretaceous,urging,derive,nautical,aiming,fortunes,verde,donors,reliance,exceeding,exclusion,exercised,simultaneous,continents,guiding,pillar,gradient,poznan,eruption,clinics,moroccan,indicator,trams,piers,parallels,fragment,teatro,potassium,satire,compressed,businessmen,influx,seine,perspectives,shelters,decreases,mounting,formula_5,confederacy,equestrian,expulsion,mayors,liberia,resisted,affinity,shrub,unexpectedly,stimulus,amtrak,deported,perpendicular,statesman,wharf,storylines,romanesque,weights,surfaced,interceptions,dhaka,crambidae,orchestras,rwanda,conclude,constitutes,subsidiaries,admissions,prospective,shear,bilingual,campaigning,presiding,domination,commemorative,trailing,confiscated,petrol,acquisitions,polymer,onlyinclude,chloride,elevations,resolutions,hurdles,pledged,likelihood,objected,erect,encoding,databases,aristotle,hindus,marshes,bowled,ministerial,grange,acronym,annexation,squads,ambient,pilgrims,botany,sofla,astronomer,planetary,descending,bestowed,ceramics,diplomacy,metabolism,colonization,potomac,africans,engraved,recycling,commitments,resonance,disciplinary,jamaican,narrated,spectral,tipperary,waterford,stationary,arbitration,transparency,threatens,crossroads,slalom,oversee,centenary,incidence,economies,livery,moisture,newsletter,autobiographical,bhutan,propelled,dependence,moderately,adobe,barrels,subdivisions,outlook,labelled,stratford,arising,diaspora,barony,automobiles,ornamental,slated,norms,primetime,generalized,analysts,vectors,libyan,yielded,certificates,rooted,vernacular,belarusian,marketplace,prediction,fairfax,malawi,viruses,wooded,demos,mauritius,prosperous,coincided,liberties,huddersfield,ascent,warnings,hinduism,glucose,pulitzer,unused,filters,illegitimate,acquitted,protestants,canopy,staple,psychedelic,winding,abbas,pathways,cheltenham,lagos,niche,invaders,proponents,barred,conversely,doncaster,recession,embraced,rematch,concession,emigration,upgrades,bowls,tablets,remixed,loops,kensington,shootout,monarchs,organizers,harmful,punjabi,broadband,exempt,neolithic,profiles,portrays,parma,cyrillic,quasi,attested,regimental,revive,torpedoes,heidelberg,rhythms,spherical,denote,hymns,icons,theologian,qaeda,exceptionally,reinstated,comune,playhouse,lobbying,grossing,viceroy,delivers,visually,armistice,utrecht,syllable,vertices,analogous,annex,refurbished,entrants,knighted,disciple,rhetoric,detailing,inactivated,ballads,algae,intensified,favourable,sanitation,receivers,pornography,commemorated,cannons,entrusted,manifold,photographers,pueblo,textiles,steamer,myths,marquess,onward,liturgical,romney,uzbekistan,consistency,denoted,hertfordshire,convex,hearings,sulfur,universidad,podcast,selecting,emperors,arises,justices,1840s,mongolian,exploited,termination,digitally,infectious,sedan,symmetric,penal,illustrate,formulation,attribute,problematic,modular,inverse,berth,searches,rutgers,leicestershire,enthusiasts,lockheed,upwards,transverse,accolades,backward,archaeologists,crusaders,nuremberg,defects,ferries,vogue,containers,openings,transporting,separates,lumpur,purchases,attain,wichita,topology,woodlands,deleted,periodically,syntax,overturned,musicals,corp.,strasbourg,instability,nationale,prevailing,cache,marathi,versailles,unmarried,grains,straits,antagonist,segregation,assistants,d'etat,contention,dictatorship,unpopular,motorcycles,criterion,analytical,salzburg,militants,hanged,worcestershire,emphasize,paralympic,erupted,convinces,offences,oxidation,nouns,populace,atari,spanned,hazardous,educators,playable,births,baha'i,preseason,generates,invites,meteorological,handbook,foothills,enclosure,diffusion,mirza,convergence,geelong,coefficient,connector,formula_6,cylindrical,disasters,pleaded,knoxville,contamination,compose,libertarian,arrondissement,franciscan,intercontinental,susceptible,initiation,malaria,unbeaten,consonants,waived,saloon,popularized,estadio,pseudo,interdisciplinary,transports,transformers,carriages,bombings,revolves,ceded,collaborator,celestial,exemption,colchester,maltese,oceanic,ligue,crete,shareholder,routed,depictions,ridden,advisors,calculate,lending,guangzhou,simplicity,newscast,scheduling,snout,eliot,undertaking,armenians,nottinghamshire,whitish,consulted,deficiency,salle,cinemas,superseded,rigorous,kerman,convened,landowners,modernization,evenings,pitches,conditional,scandinavia,differed,formulated,cyclists,swami,guyana,dunes,electrified,appalachian,abdomen,scenarios,prototypes,sindh,consonant,adaptive,boroughs,wolverhampton,modelling,cylinders,amounted,minimize,ambassadors,lenin,settler,coincide,approximation,grouping,murals,bullying,registers,rumours,engagements,energetic,vertex,annals,bordering,geologic,yellowish,runoff,converts,allegheny,facilitated,saturdays,colliery,monitored,rainforest,interfaces,geographically,impaired,prevalence,joachim,paperback,slowed,shankar,distinguishing,seminal,categorized,authorised,auspices,bandwidth,asserts,rebranded,balkans,supplemented,seldom,weaving,capsule,apostles,populous,monmouth,payload,symphonic,densely,shoreline,managerial,masonry,antioch,averages,textbooks,royalist,coliseum,tandem,brewers,diocesan,posthumous,walled,incorrectly,distributions,ensued,reasonably,graffiti,propagation,automation,harmonic,augmented,middleweight,limbs,elongated,landfall,comparatively,literal,grossed,koppen,wavelength,1830s,cerebral,boasts,congestion,physiological,practitioner,coasts,cartoonist,undisclosed,frontal,launches,burgundy,qualifiers,imposing,stade,flanked,assyrian,raided,multiplayer,montane,chesapeake,pathology,drains,vineyards,intercollegiate,semiconductor,grassland,convey,citations,predominant,rejects,benefited,yahoo,graphs,busiest,encompassing,hamlets,explorers,suppress,minors,graphical,calculus,sediment,intends,diverted,mainline,unopposed,cottages,initiate,alumnus,towed,autism,forums,darlington,modernist,oxfordshire,lectured,capitalist,suppliers,panchayat,actresses,foundry,southbound,commodity,wesleyan,divides,palestinians,luton,caretaker,nobleman,mutiny,organizer,preferences,nomenclature,splits,unwilling,offenders,timor,relying,halftime,semitic,arithmetic,milestone,jesuits,arctiidae,retrieved,consuming,contender,edged,plagued,inclusive,transforming,khmer,federally,insurgents,distributing,amherst,rendition,prosecutors,viaduct,disqualified,kabul,liturgy,prevailed,reelected,instructors,swimmers,aperture,churchyard,interventions,totals,darts,metropolis,fuels,fluent,northbound,correctional,inflicted,barrister,realms,culturally,aristocratic,collaborating,emphasizes,choreographer,inputs,ensembles,humboldt,practised,endowed,strains,infringement,archaeologist,congregational,magna,relativity,efficiently,proliferation,mixtape,abruptly,regeneration,commissioning,yukon,archaic,reluctantly,retailer,northamptonshire,universally,crossings,boilers,nickelodeon,revue,abbreviation,retaliation,scripture,routinely,medicinal,benedictine,kenyan,retention,deteriorated,glaciers,apprenticeship,coupling,researched,topography,entrances,anaheim,pivotal,compensate,arched,modify,reinforce,dusseldorf,journeys,motorsport,conceded,sumatra,spaniards,quantitative,loire,cinematography,discarded,botswana,morale,engined,zionist,philanthropy,sainte,fatalities,cypriot,motorsports,indicators,pricing,institut,bethlehem,implicated,gravitational,differentiation,rotor,thriving,precedent,ambiguous,concessions,forecast,conserved,fremantle,asphalt,landslide,middlesbrough,formula_7,humidity,overseeing,chronological,diaries,multinational,crimean,turnover,improvised,youths,declares,tasmanian,canadiens,fumble,refinery,weekdays,unconstitutional,upward,guardians,brownish,imminent,hamas,endorsement,naturalist,martyrs,caledonia,chords,yeshiva,reptiles,severity,mitsubishi,fairs,installment,substitution,repertory,keyboardist,interpreter,silesia,noticeable,rhineland,transmit,inconsistent,booklet,academies,epithet,pertaining,progressively,aquatics,scrutiny,prefect,toxicity,rugged,consume,o'donnell,evolve,uniquely,cabaret,mediated,landowner,transgender,palazzo,compilations,albuquerque,induce,sinai,remastered,efficacy,underside,analogue,specify,possessing,advocating,compatibility,liberated,greenville,mecklenburg,header,memorials,sewage,rhodesia,1800s,salaries,atoll,coordinating,partisans,repealed,amidst,subjective,optimization,nectar,evolving,exploits,madhya,styling,accumulation,raion,postage,responds,buccaneers,frontman,brunei,choreography,coated,kinetic,sampled,inflammatory,complementary,eclectic,norte,vijay,a.k.a,mainz,casualty,connectivity,laureate,franchises,yiddish,reputed,unpublished,economical,periodicals,vertically,bicycles,brethren,capacities,unitary,archeological,tehsil,domesday,wehrmacht,justification,angered,mysore,fielded,abuses,nutrients,ambitions,taluk,battleships,symbolism,superiority,neglect,attendees,commentaries,collaborators,predictions,yorker,breeders,investing,libretto,informally,coefficients,memorandum,pounder,collingwood,tightly,envisioned,arbor,mistakenly,captures,nesting,conflicting,enhancing,streetcar,manufactures,buckinghamshire,rewards,commemorating,stony,expenditure,tornadoes,semantic,relocate,weimar,iberian,sighted,intending,ensign,beverages,expectation,differentiate,centro,utilizes,saxophonist,catchment,transylvania,ecosystems,shortest,sediments,socialists,ineffective,kapoor,formidable,heroine,guantanamo,prepares,scattering,pamphlet,verified,elector,barons,totaling,shrubs,pyrenees,amalgamation,mutually,longitudinal,comte,negatively,masonic,envoy,sexes,akbar,mythical,tonga,bishopric,assessments,malaya,warns,interiors,reefs,reflections,neutrality,musically,nomadic,waterways,provence,collaborate,scaled,adulthood,emerges,euros,optics,incentives,overland,periodical,liege,awarding,realization,slang,affirmed,schooner,hokkaido,czechoslovak,protectorate,undrafted,disagreed,commencement,electors,spruce,swindon,fueled,equatorial,inventions,suites,slovene,backdrop,adjunct,energies,remnant,inhabit,alliances,simulcast,reactors,mosques,travellers,outfielder,plumage,migratory,benin,experimented,fibre,projecting,drafting,laude,evidenced,northernmost,indicted,directional,replication,croydon,comedies,jailed,organizes,devotees,reservoirs,turrets,originate,economists,songwriters,junta,trenches,mounds,proportions,comedic,apostle,azerbaijani,farmhouse,resembled,disrupted,playback,mixes,diagonal,relevance,govern,programmer,gdansk,maize,soundtracks,tendencies,mastered,impacted,believers,kilometre,intervene,chairperson,aerodrome,sails,subsidies,ensures,aesthetics,congresses,ratios,sardinia,southernmost,functioned,controllers,downward,randomly,distortion,regents,palatine,disruption,spirituality,vidhan,tracts,compiler,ventilation,anchorage,symposium,assert,pistols,excelled,avenues,convoys,moniker,constructions,proponent,phased,spines,organising,schleswig,policing,campeonato,mined,hourly,croix,lucrative,authenticity,haitian,stimulation,burkina,espionage,midfield,manually,staffed,awakening,metabolic,biographies,entrepreneurship,conspicuous,guangdong,preface,subgroup,mythological,adjutant,feminism,vilnius,oversees,honourable,tripoli,stylized,kinase,societe,notoriety,altitudes,configurations,outward,transmissions,announces,auditor,ethanol,clube,nanjing,mecca,haifa,blogs,postmaster,paramilitary,depart,positioning,potent,recognizable,spire,brackets,remembrance,overlapping,turkic,articulated,scientology,operatic,deploy,readiness,biotechnology,restrict,cinematographer,inverted,synonymous,administratively,westphalia,commodities,replaces,downloads,centralized,munitions,preached,sichuan,fashionable,implementations,matrices,hiv/aids,loyalist,luzon,celebrates,hazards,heiress,mercenaries,synonym,creole,ljubljana,technician,auditioned,technicians,viewpoint,wetland,mongols,princely,sharif,coating,dynasties,southward,doubling,formula_8,mayoral,harvesting,conjecture,goaltender,oceania,spokane,welterweight,bracket,gatherings,weighted,newscasts,mussolini,affiliations,disadvantage,vibrant,spheres,sultanate,distributors,disliked,establishes,marches,drastically,yielding,jewellery,yokohama,vascular,airlift,canons,subcommittee,repression,strengths,graded,outspoken,fused,pembroke,filmography,redundant,fatigue,repeal,threads,reissue,pennant,edible,vapor,corrections,stimuli,commemoration,dictator,anand,secession,amassed,orchards,pontifical,experimentation,greeted,bangor,forwards,decomposition,quran,trolley,chesterfield,traverse,sermons,burials,skier,climbs,consultants,petitioned,reproduce,parted,illuminated,kurdistan,reigned,occupants,packaged,geometridae,woven,regulating,protagonists,crafted,affluent,clergyman,consoles,migrant,supremacy,attackers,caliph,defect,convection,rallies,huron,resin,segunda,quota,warship,overseen,criticizing,shrines,glamorgan,lowering,beaux,hampered,invasions,conductors,collects,bluegrass,surrounds,substrates,perpetual,chronology,pulmonary,executions,crimea,compiling,noctuidae,battled,tumors,minsk,novgorod,serviced,yeast,computation,swamps,theodor,baronetcy,salford,uruguayan,shortages,odisha,siberian,novelty,cinematic,invitational,decks,dowager,oppression,bandits,appellate,state-of-the-art,clade,palaces,signalling,galaxies,industrialist,tensor,learnt,incurred,magistrates,binds,orbits,ciudad,willingness,peninsular,basins,biomedical,shafts,marlborough,bournemouth,withstand,fitzroy,dunedin,variance,steamship,integrating,muscular,fines,akron,bulbophyllum,malmo,disclosed,cornerstone,runways,medicines,twenty20,gettysburg,progresses,frigates,bodied,transformations,transforms,helens,modelled,versatile,regulator,pursuits,legitimacy,amplifier,scriptures,voyages,examines,presenters,octagonal,poultry,formula_9,anatolia,computed,migrate,directorial,hybrids,localized,preferring,guggenheim,persisted,grassroots,inflammation,fishery,otago,vigorous,professions,instructional,inexpensive,insurgency,legislators,sequels,surnames,agrarian,stainless,nairobi,minas,forerunner,aristocracy,transitions,sicilian,showcased,doses,hiroshima,summarized,gearbox,emancipation,limitation,nuclei,seismic,abandonment,dominating,appropriations,occupations,electrification,hilly,contracting,exaggerated,entertainer,kazan,oricon,cartridges,characterization,parcel,maharaja,exceeds,aspiring,obituary,flattened,contrasted,narration,replies,oblique,outpost,fronts,arranger,talmud,keynes,doctrines,endured,confesses,fortification,supervisors,kilometer,academie,jammu,bathurst,piracy,prostitutes,navarre,cumulative,cruises,lifeboat,twinned,radicals,interacting,expenditures,wexford,libre,futsal,curated,clockwise,colloquially,procurement,immaculate,lyricist,enhancement,porcelain,alzheimer,highlighting,judah,disagreements,storytelling,sheltered,wroclaw,vaudeville,contrasts,neoclassical,compares,contrasting,deciduous,francaise,descriptive,cyclic,reactive,antiquities,meiji,repeats,creditors,forcibly,newmarket,picturesque,impending,uneven,bison,raceway,solvent,ecumenical,optic,professorship,harvested,waterway,banjo,pharaoh,geologist,scanning,dissent,recycled,unmanned,retreating,gospels,aqueduct,branched,tallinn,groundbreaking,syllables,hangar,designations,procedural,craters,cabins,encryption,anthropologist,montevideo,outgoing,inverness,chattanooga,fascism,calais,chapels,groundwater,downfall,misleading,robotic,tortricidae,pixel,handel,prohibit,crewe,renaming,reprised,kickoff,leftist,spaced,integers,causeway,pines,authorship,organise,ptolemy,accessibility,virtues,lesions,iroquois,qur'an,atheist,synthesized,biennial,confederates,dietary,skaters,stresses,tariff,koreans,intercity,republics,quintet,baroness,naive,amplitude,insistence,tbilisi,residues,grammatical,diversified,egyptians,accompaniment,vibration,repository,mandal,topological,distinctions,coherent,invariant,batters,nuevo,internationals,implements,follower,bahia,widened,independents,cantonese,totaled,guadalajara,wolverines,befriended,muzzle,surveying,hungarians,medici,deportation,rayon,approx,recounts,attends,clerical,hellenic,furnished,alleging,soluble,systemic,gallantry,bolshevik,intervened,hostel,gunpowder,specialising,stimulate,leiden,removes,thematic,floral,bafta,printers,conglomerate,eroded,analytic,successively,lehigh,thessaloniki,kilda,clauses,ascended,nehru,scripted,tokugawa,competence,diplomats,exclude,consecration,freedoms,assaults,revisions,blacksmith,textual,sparse,concacaf,slain,uploaded,enraged,whaling,guise,stadiums,debuting,dormitory,cardiovascular,yunnan,dioceses,consultancy,notions,lordship,archdeacon,collided,medial,airfields,garment,wrestled,adriatic,reversal,refueling,verification,jakob,horseshoe,intricate,veracruz,sarawak,syndication,synthesizer,anthologies,stature,feasibility,guillaume,narratives,publicized,antrim,intermittent,constituents,grimsby,filmmaking,doping,unlawful,nominally,transmitting,documenting,seater,internationale,ejected,steamboat,alsace,boise,ineligible,geared,vassal,mustered,ville,inline,pairing,eurasian,kyrgyzstan,barnsley,reprise,stereotypes,rushes,conform,firefighters,deportivo,revolutionaries,rabbis,concurrency,charters,sustaining,aspirations,algiers,chichester,falkland,morphological,systematically,volcanoes,designate,artworks,reclaimed,jurist,anglia,resurrected,chaotic,feasible,circulating,simulated,environmentally,confinement,adventist,harrisburg,laborers,ostensibly,universiade,pensions,influenza,bratislava,octave,refurbishment,gothenburg,putin,barangay,annapolis,breaststroke,illustrates,distorted,choreographed,promo,emphasizing,stakeholders,descends,exhibiting,intrinsic,invertebrates,evenly,roundabout,salts,formula_10,strata,inhibition,branching,stylistic,rumored,realises,mitochondrial,commuted,adherents,logos,bloomberg,telenovela,guineas,charcoal,engages,winery,reflective,siena,cambridgeshire,ventral,flashback,installing,engraving,grasses,traveller,rotated,proprietor,nationalities,precedence,sourced,trainers,cambodian,reductions,depleted,saharan,classifications,biochemistry,plaintiffs,arboretum,humanist,fictitious,aleppo,climates,bazaar,his/her,homogeneous,multiplication,moines,indexed,linguist,skeletal,foliage,societal,differentiated,informing,mammal,infancy,archival,cafes,malls,graeme,musee,schizophrenia,fargo,pronouns,derivation,descend,ascending,terminating,deviation,recaptured,confessions,weakening,tajikistan,bahadur,pasture,b/hip,donegal,supervising,sikhs,thinkers,euclidean,reinforcement,friars,portage,fuscous,lucknow,synchronized,assertion,choirs,privatization,corrosion,multitude,skyscraper,royalties,ligament,usable,spores,directs,clashed,stockport,fronted,dependency,contiguous,biologist,backstroke,powerhouse,frescoes,phylogenetic,welding,kildare,gabon,conveyed,augsburg,severn,continuum,sahib,lille,injuring,passeriformesfamily,succeeds,translating,unitarian,startup,turbulent,outlying,philanthropic,stanislaw,idols,claremont,conical,haryana,armagh,blended,implicit,conditioned,modulation,rochdale,labourers,coinage,shortstop,potsdam,gears,obesity,bestseller,advisers,bouts,comedians,jozef,lausanne,taxonomic,correlated,columbian,marne,indications,psychologists,libel,edict,beaufort,disadvantages,renal,finalized,racehorse,unconventional,disturbances,falsely,zoology,adorned,redesign,executing,narrower,commended,appliances,stalls,resurgence,saskatoon,miscellaneous,permitting,epoch,formula_11,cumbria,forefront,vedic,eastenders,disposed,supermarkets,rower,inhibitor,magnesium,colourful,yusuf,harrow,formulas,centrally,balancing,ionic,nocturnal,consolidate,ornate,raiding,charismatic,accelerate,nominate,residual,dhabi,commemorates,attribution,uninhabited,mindanao,atrocities,genealogical,romani,applicant,enactment,abstraction,trough,pulpit,minuscule,misconduct,grenades,timely,supplements,messaging,curvature,ceasefire,telangana,susquehanna,braking,redistribution,shreveport,neighbourhoods,gregorian,widowed,khuzestan,empowerment,scholastic,evangelist,peptide,topical,theorist,historia,thence,sudanese,museo,jurisprudence,masurian,frankish,headlined,recounted,netball,petitions,tolerant,hectare,truncated,southend,methane,captives,reigns,massif,subunit,acidic,weightlifting,footballers,sabah,britannia,tunisian,segregated,sawmill,withdrawing,unpaid,weaponry,somme,perceptions,unicode,alcoholism,durban,wrought,waterfalls,jihad,auschwitz,upland,eastbound,adjective,anhalt,evaluating,regimes,guildford,reproduced,pamphlets,hierarchical,maneuvers,hanoi,fabricated,repetition,enriched,arterial,replacements,tides,globalization,adequately,westbound,satisfactory,fleets,phosphorus,lastly,neuroscience,anchors,xinjiang,membranes,improvisation,shipments,orthodoxy,submissions,bolivian,mahmud,ramps,leyte,pastures,outlines,flees,transmitters,fares,sequential,stimulated,novice,alternately,symmetrical,breakaway,layered,baronets,lizards,blackish,edouard,horsepower,penang,principals,mercantile,maldives,overwhelmingly,hawke,rallied,prostate,conscription,juveniles,maccabi,carvings,strikers,sudbury,spurred,improves,lombardy,macquarie,parisian,elastic,distillery,shetland,humane,brentford,wrexham,warehouses,routines,encompassed,introductory,isfahan,instituto,palais,revolutions,sporadic,impoverished,portico,fellowships,speculative,enroll,dormant,adhere,fundamentally,sculpted,meritorious,template,upgrading,reformer,rectory,uncredited,indicative,creeks,galveston,radically,hezbollah,firearm,educating,prohibits,trondheim,locus,refit,headwaters,screenings,lowlands,wasps,coarse,attaining,sedimentary,perished,pitchfork,interned,cerro,stagecoach,aeronautical,liter,transitioned,haydn,inaccurate,legislatures,bromwich,knesset,spectroscopy,butte,asiatic,degraded,concordia,catastrophic,lobes,wellness,pensacola,periphery,hapoel,theta,horizontally,freiburg,liberalism,pleas,durable,warmian,offenses,mesopotamia,shandong,unsuitable,hospitalized,appropriately,phonetic,encompass,conversions,observes,illnesses,breakout,assigns,crowns,inhibitors,nightly,manifestation,fountains,maximize,alphabetical,sloop,expands,newtown,widening,gaddafi,commencing,camouflage,footprint,tyrol,barangays,universite,highlanders,budgets,query,lobbied,westchester,equator,stipulated,pointe,distinguishes,allotted,embankment,advises,storing,loyalists,fourier,rehearsals,starvation,gland,rihanna,tubular,expressive,baccalaureate,intersections,revered,carbonate,eritrea,craftsmen,cosmopolitan,sequencing,corridors,shortlisted,bangladeshi,persians,mimic,parades,repetitive,recommends,flanks,promoters,incompatible,teaming,ammonia,greyhound,solos,improper,legislator,newsweek,recurrent,vitro,cavendish,eireann,crises,prophets,mandir,strategically,guerrillas,formula_12,ghent,contenders,equivalence,drone,sociological,hamid,castes,statehood,aland,clinched,relaunched,tariffs,simulations,williamsburg,rotate,mediation,smallpox,harmonica,lodges,lavish,restrictive,o'sullivan,detainees,polynomials,echoes,intersecting,learners,elects,charlemagne,defiance,epsom,liszt,facilitating,absorbing,revelations,padua,pieter,pious,penultimate,mammalian,montenegrin,supplementary,widows,aromatic,croats,roanoke,trieste,legions,subdistrict,babylonian,grasslands,volga,violently,sparsely,oldies,telecommunication,respondents,quarries,downloadable,commandos,taxpayer,catalytic,malabar,afforded,copying,declines,nawab,junctions,assessing,filtering,classed,disused,compliant,christoph,gottingen,civilizations,hermitage,caledonian,whereupon,ethnically,springsteen,mobilization,terraces,indus,excel,zoological,enrichment,simulate,guitarists,registrar,cappella,invoked,reused,manchu,configured,uppsala,genealogy,mergers,casts,curricular,rebelled,subcontinent,horticultural,parramatta,orchestrated,dockyard,claudius,decca,prohibiting,turkmenistan,brahmin,clandestine,obligatory,elaborated,parasitic,helix,constraint,spearheaded,rotherham,eviction,adapting,albans,rescues,sociologist,guiana,convicts,occurrences,kamen,antennas,asturias,wheeled,sanitary,deterioration,trier,theorists,baseline,announcements,valea,planners,factual,serialized,serials,bilbao,demoted,fission,jamestown,cholera,alleviate,alteration,indefinite,sulfate,paced,climatic,valuation,artisans,proficiency,aegean,regulators,fledgling,sealing,influencing,servicemen,frequented,cancers,tambon,narayan,bankers,clarified,embodied,engraver,reorganisation,dissatisfied,dictated,supplemental,temperance,ratification,puget,nutrient,pretoria,papyrus,uniting,ascribed,cores,coptic,schoolhouse,barrio,1910s,armory,defected,transatlantic,regulates,ported,artefacts,specifies,boasted,scorers,mollusks,emitted,navigable,quakers,projective,dialogues,reunification,exponential,vastly,banners,unsigned,dissipated,halves,coincidentally,leasing,purported,escorting,estimation,foxes,lifespan,inflorescence,assimilation,showdown,staunch,prologue,ligand,superliga,telescopes,northwards,keynote,heaviest,taunton,redeveloped,vocalists,podlaskie,soyuz,rodents,azores,moravian,outset,parentheses,apparel,domestically,authoritative,polymers,monterrey,inhibit,launcher,jordanian,folds,taxis,mandates,singled,liechtenstein,subsistence,marxism,ousted,governorship,servicing,offseason,modernism,prism,devout,translators,islamist,chromosomes,pitted,bedfordshire,fabrication,authoritarian,javanese,leaflets,transient,substantive,predatory,sigismund,assassinate,diagrams,arrays,rediscovered,reclamation,spawning,fjord,peacekeeping,strands,fabrics,highs,regulars,tirana,ultraviolet,athenian,filly,barnet,naacp,nueva,favourites,terminates,showcases,clones,inherently,interpreting,bjorn,finely,lauded,unspecified,chola,pleistocene,insulation,antilles,donetsk,funnel,nutritional,biennale,reactivated,southport,primate,cavaliers,austrians,interspersed,restarted,suriname,amplifiers,wladyslaw,blockbuster,sportsman,minogue,brightness,benches,bridgeport,initiating,israelis,orbiting,newcomers,externally,scaling,transcribed,impairment,luxurious,longevity,impetus,temperament,ceilings,tchaikovsky,spreads,pantheon,bureaucracy,1820s,heraldic,villas,formula_13,galician,meath,avoidance,corresponded,headlining,connacht,seekers,rappers,solids,monograph,scoreless,opole,isotopes,himalayas,parodies,garments,microscopic,republished,havilland,orkney,demonstrators,pathogen,saturated,hellenistic,facilitates,aerodynamic,relocating,indochina,laval,astronomers,bequeathed,administrations,extracts,nagoya,torquay,demography,medicare,ambiguity,renumbered,pursuant,concave,syriac,electrode,dispersal,henan,bialystok,walsall,crystalline,puebla,janata,illumination,tianjin,enslaved,coloration,championed,defamation,grille,johor,rejoin,caspian,fatally,planck,workings,appointing,institutionalized,wessex,modernized,exemplified,regatta,jacobite,parochial,programmers,blending,eruptions,insurrection,regression,indices,sited,dentistry,mobilized,furnishings,levant,primaries,ardent,nagasaki,conqueror,dorchester,opined,heartland,amman,mortally,wellesley,bowlers,outputs,coveted,orthography,immersion,disrepair,disadvantaged,curate,childless,condensed,codice_1,remodeled,resultant,bolsheviks,superfamily,saxons,2010s,contractual,rivalries,malacca,oaxaca,magnate,vertebrae,quezon,olympiad,yucatan,tyres,macro,specialization,commendation,caliphate,gunnery,exiles,excerpts,fraudulent,adjustable,aramaic,interceptor,drumming,standardization,reciprocal,adolescents,federalist,aeronautics,favorably,enforcing,reintroduced,zhejiang,refining,biplane,banknotes,accordion,intersect,illustrating,summits,classmate,militias,biomass,massacres,epidemiology,reworked,wrestlemania,nantes,auditory,taxon,elliptical,chemotherapy,asserting,avoids,proficient,airmen,yellowstone,multicultural,alloys,utilization,seniority,kuyavian,huntsville,orthogonal,bloomington,cultivars,casimir,internment,repulsed,impedance,revolving,fermentation,parana,shutout,partnering,empowered,islamabad,polled,classify,amphibians,greyish,obedience,4x100,projectile,khyber,halfback,relational,d'ivoire,synonyms,endeavour,padma,customized,mastery,defenceman,berber,purge,interestingly,covent,promulgated,restricting,condemnation,hillsborough,walkers,privateer,intra,captaincy,naturalized,huffington,detecting,hinted,migrating,bayou,counterattack,anatomical,foraging,unsafe,swiftly,outdated,paraguayan,attire,masjid,endeavors,jerseys,triassic,quechua,growers,axial,accumulate,wastewater,cognition,fungal,animator,pagoda,kochi,uniformly,antibody,yerevan,hypotheses,combatants,italianate,draining,fragmentation,snowfall,formative,inversion,kitchener,identifier,additive,lucha,selects,ashland,cambrian,racetrack,trapping,congenital,primates,wavelengths,expansions,yeomanry,harcourt,wealthiest,awaited,punta,intervening,aggressively,vichy,piloted,midtown,tailored,heyday,metadata,guadalcanal,inorganic,hadith,pulses,francais,tangent,scandals,erroneously,tractors,pigment,constabulary,jiangsu,landfill,merton,basalt,astor,forbade,debuts,collisions,exchequer,stadion,roofed,flavour,sculptors,conservancy,dissemination,electrically,undeveloped,existent,surpassing,pentecostal,manifested,amend,formula_14,superhuman,barges,tunis,analytics,argyll,liquids,mechanized,domes,mansions,himalayan,indexing,reuters,nonlinear,purification,exiting,timbers,triangles,decommissioning,departmental,causal,fonts,americana,sept.,seasonally,incomes,razavi,sheds,memorabilia,rotational,terre,sutra,protege,yarmouth,grandmaster,annum,looted,imperialism,variability,liquidation,baptised,isotope,showcasing,milling,rationale,hammersmith,austen,streamlined,acknowledging,contentious,qaleh,breadth,turing,referees,feral,toulon,unofficially,identifiable,standout,labeling,dissatisfaction,jurgen,angrily,featherweight,cantons,constrained,dominates,standalone,relinquished,theologians,markedly,italics,downed,nitrate,likened,gules,craftsman,singaporean,pixels,mandela,moray,parity,departement,antigen,academically,burgh,brahma,arranges,wounding,triathlon,nouveau,vanuatu,banded,acknowledges,unearthed,stemming,authentication,byzantines,converge,nepali,commonplace,deteriorating,recalling,palette,mathematicians,greenish,pictorial,ahmedabad,rouen,validation,u.s.a.,'best,malvern,archers,converter,undergoes,fluorescent,logistical,notification,transvaal,illicit,symphonies,stabilization,worsened,fukuoka,decrees,enthusiast,seychelles,blogger,louvre,dignitaries,burundi,wreckage,signage,pinyin,bursts,federer,polarization,urbana,lazio,schism,nietzsche,venerable,administers,seton,kilograms,invariably,kathmandu,farmed,disqualification,earldom,appropriated,fluctuations,kermanshah,deployments,deformation,wheelbase,maratha,psalm,bytes,methyl,engravings,skirmish,fayette,vaccines,ideally,astrology,breweries,botanic,opposes,harmonies,irregularities,contended,gaulle,prowess,constants,aground,filipinos,fresco,ochreous,jaipur,willamette,quercus,eastwards,mortars,champaign,braille,reforming,horned,hunan,spacious,agitation,draught,specialties,flourishing,greensboro,necessitated,swedes,elemental,whorls,hugely,structurally,plurality,synthesizers,embassies,assad,contradictory,inference,discontent,recreated,inspectors,unicef,commuters,embryo,modifying,stints,numerals,communicated,boosted,trumpeter,brightly,adherence,remade,leases,restrained,eucalyptus,dwellers,planar,grooves,gainesville,daimler,anzac,szczecin,cornerback,prized,peking,mauritania,khalifa,motorized,lodging,instrumentalist,fortresses,cervical,formula_15,passerine,sectarian,researches,apprenticed,reliefs,disclose,gliding,repairing,queue,kyushu,literate,canoeing,sacrament,separatist,calabria,parkland,flowed,investigates,statistically,visionary,commits,dragoons,scrolls,premieres,revisited,subdued,censored,patterned,elective,outlawed,orphaned,leyland,richly,fujian,miniatures,heresy,plaques,countered,nonfiction,exponent,moravia,dispersion,marylebone,midwestern,enclave,ithaca,federated,electronically,handheld,microscopy,tolls,arrivals,climbers,continual,cossacks,moselle,deserts,ubiquitous,gables,forecasts,deforestation,vertebrates,flanking,drilled,superstructure,inspected,consultative,bypassed,ballast,subsidy,socioeconomic,relic,grenada,journalistic,administering,accommodated,collapses,appropriation,reclassified,foreword,porte,assimilated,observance,fragmented,arundel,thuringia,gonzaga,shenzhen,shipyards,sectional,ayrshire,sloping,dependencies,promenade,ecuadorian,mangrove,constructs,goalscorer,heroism,iteration,transistor,omnibus,hampstead,cochin,overshadowed,chieftain,scalar,finishers,ghanaian,abnormalities,monoplane,encyclopaedia,characterize,travancore,baronetage,bearers,biking,distributes,paving,christened,inspections,banco,humber,corinth,quadratic,albanians,lineages,majored,roadside,inaccessible,inclination,darmstadt,fianna,epilepsy,propellers,papacy,montagu,bhutto,sugarcane,optimized,pilasters,contend,batsmen,brabant,housemates,sligo,ascot,aquinas,supervisory,accorded,gerais,echoed,nunavut,conservatoire,carniola,quartermaster,gminas,impeachment,aquitaine,reformers,quarterfinal,karlsruhe,accelerator,coeducational,archduke,gelechiidae,seaplane,dissident,frenchman,palau,depots,hardcover,aachen,darreh,denominational,groningen,parcels,reluctance,drafts,elliptic,counters,decreed,airship,devotional,contradiction,formula_16,undergraduates,qualitative,guatemalan,slavs,southland,blackhawks,detrimental,abolish,chechen,manifestations,arthritis,perch,fated,hebei,peshawar,palin,immensely,havre,totalling,rampant,ferns,concourse,triples,elites,olympian,larva,herds,lipid,karabakh,distal,monotypic,vojvodina,batavia,multiplied,spacing,spellings,pedestrians,parchment,glossy,industrialization,dehydrogenase,patriotism,abolitionist,mentoring,elizabethan,figurative,dysfunction,abyss,constantin,middletown,stigma,mondays,gambia,gaius,israelites,renounced,nepalese,overcoming,buren,sulphur,divergence,predation,looting,iberia,futuristic,shelved,anthropological,innsbruck,escalated,clermont,entrepreneurial,benchmark,mechanically,detachments,populist,apocalyptic,exited,embryonic,stanza,readership,chiba,landlords,expansive,boniface,therapies,perpetrators,whitehall,kassel,masts,carriageway,clinch,pathogens,mazandaran,undesirable,teutonic,miocene,nagpur,juris,cantata,compile,diffuse,dynastic,reopening,comptroller,o'neal,flourish,electing,scientifically,departs,welded,modal,cosmology,fukushima,libertadores,chang'an,asean,generalization,localization,afrikaans,cricketers,accompanies,emigrants,esoteric,southwards,shutdown,prequel,fittings,innate,wrongly,equitable,dictionaries,senatorial,bipolar,flashbacks,semitism,walkway,lyrically,legality,sorbonne,vigorously,durga,samoan,karel,interchanges,patna,decider,registering,electrodes,anarchists,excursion,overthrown,gilan,recited,michelangelo,advertiser,kinship,taboo,cessation,formula_17,premiers,traversed,madurai,poorest,torneo,exerted,replicate,spelt,sporadically,horde,landscaping,razed,hindered,esperanto,manchuria,propellant,jalan,baha'is,sikkim,linguists,pandit,racially,ligands,dowry,francophone,escarpment,behest,magdeburg,mainstay,villiers,yangtze,grupo,conspirators,martyrdom,noticeably,lexical,kazakh,unrestricted,utilised,sired,inhabits,proofs,joseon,pliny,minted,buddhists,cultivate,interconnected,reuse,viability,australasian,derelict,resolving,overlooks,menon,stewardship,playwrights,thwarted,filmfare,disarmament,protections,bundles,sidelined,hypothesized,singer/songwriter,forage,netted,chancery,townshend,restructured,quotation,hyperbolic,succumbed,parliaments,shenandoah,apical,kibbutz,storeys,pastors,lettering,ukrainians,hardships,chihuahua,avail,aisles,taluka,antisemitism,assent,ventured,banksia,seamen,hospice,faroe,fearful,woreda,outfield,chlorine,transformer,tatar,panoramic,pendulum,haarlem,styria,cornice,importing,catalyzes,subunits,enamel,bakersfield,realignment,sorties,subordinates,deanery,townland,gunmen,tutelage,evaluations,allahabad,thrace,veneto,mennonite,sharia,subgenus,satisfies,puritan,unequal,gastrointestinal,ordinances,bacterium,horticulture,argonauts,adjectives,arable,duets,visualization,woolwich,revamped,euroleague,thorax,completes,originality,vasco,freighter,sardar,oratory,sects,extremes,signatories,exporting,arisen,exacerbated,departures,saipan,furlongs,d'italia,goring,dakar,conquests,docked,offshoot,okrug,referencing,disperse,netting,summed,rewritten,articulation,humanoid,spindle,competitiveness,preventive,facades,westinghouse,wycombe,synthase,emulate,fostering,abdel,hexagonal,myriad,caters,arjun,dismay,axiom,psychotherapy,colloquial,complemented,martinique,fractures,culmination,erstwhile,atrium,electronica,anarchism,nadal,montpellier,algebras,submitting,adopts,stemmed,overcame,internacional,asymmetric,gallipoli,gliders,flushing,extermination,hartlepool,tesla,interwar,patriarchal,hitherto,ganges,combatant,marred,philology,glastonbury,reversible,isthmus,undermined,southwark,gateshead,andalusia,remedies,hastily,optimum,smartphone,evade,patrolled,beheaded,dopamine,waivers,ugandan,gujarati,densities,predicting,intestinal,tentative,interstellar,kolonia,soloists,penetrated,rebellions,qeshlaq,prospered,colegio,deficits,konigsberg,deficient,accessing,relays,kurds,politburo,codified,incarnations,occupancy,cossack,metaphysical,deprivation,chopra,piccadilly,formula_18,makeshift,protestantism,alaskan,frontiers,faiths,tendon,dunkirk,durability,autobots,bonuses,coinciding,emails,gunboat,stucco,magma,neutrons,vizier,subscriptions,visuals,envisaged,carpets,smoky,schema,parliamentarian,immersed,domesticated,parishioners,flinders,diminutive,mahabharata,ballarat,falmouth,vacancies,gilded,twigs,mastering,clerics,dalmatia,islington,slogans,compressor,iconography,congolese,sanction,blends,bulgarians,moderator,outflow,textures,safeguard,trafalgar,tramways,skopje,colonialism,chimneys,jazeera,organisers,denoting,motivations,ganga,longstanding,deficiencies,gwynedd,palladium,holistic,fascia,preachers,embargo,sidings,busan,ignited,artificially,clearwater,cemented,northerly,salim,equivalents,crustaceans,oberliga,quadrangle,historiography,romanians,vaults,fiercely,incidental,peacetime,tonal,bhopal,oskar,radha,pesticides,timeslot,westerly,cathedrals,roadways,aldershot,connectors,brahmins,paler,aqueous,gustave,chromatic,linkage,lothian,specialises,aggregation,tributes,insurgent,enact,hampden,ghulam,federations,instigated,lyceum,fredrik,chairmanship,floated,consequent,antagonists,intimidation,patriarchate,warbler,heraldry,entrenched,expectancy,habitation,partitions,widest,launchers,nascent,ethos,wurzburg,lycee,chittagong,mahatma,merseyside,asteroids,yokosuka,cooperatives,quorum,redistricting,bureaucratic,yachts,deploying,rustic,phonology,chorale,cellist,stochastic,crucifixion,surmounted,confucian,portfolios,geothermal,crested,calibre,tropics,deferred,nasir,iqbal,persistence,essayist,chengdu,aborigines,fayetteville,bastion,interchangeable,burlesque,kilmarnock,specificity,tankers,colonels,fijian,quotations,enquiry,quito,palmerston,delle,multidisciplinary,polynesian,iodine,antennae,emphasised,manganese,baptists,galilee,jutland,latent,excursions,skepticism,tectonic,precursors,negligible,musique,misuse,vitoria,expressly,veneration,sulawesi,footed,mubarak,chongqing,chemically,midday,ravaged,facets,varma,yeovil,ethnographic,discounted,physicists,attache,disbanding,essen,shogunate,cooperated,waikato,realising,motherwell,pharmacology,sulfide,inward,expatriate,devoid,cultivar,monde,andean,groupings,goran,unaffected,moldovan,postdoctoral,coleophora,delegated,pronoun,conductivity,coleridge,disapproval,reappeared,microbial,campground,olsztyn,fostered,vaccination,rabbinical,champlain,milestones,viewership,caterpillar,effected,eupithecia,financier,inferred,uzbek,bundled,bandar,balochistan,mysticism,biosphere,holotype,symbolizes,lovecraft,photons,abkhazia,swaziland,subgroups,measurable,falkirk,valparaiso,ashok,discriminatory,rarity,tabernacle,flyweight,jalisco,westernmost,antiquarian,extracellular,margrave,colspan=9,midsummer,digestive,reversing,burgeoning,substitutes,medallist,khrushchev,guerre,folio,detonated,partido,plentiful,aggregator,medallion,infiltration,shaded,santander,fared,auctioned,permian,ramakrishna,andorra,mentors,diffraction,bukit,potentials,translucent,feminists,tiers,protracted,coburg,wreath,guelph,adventurer,he/she,vertebrate,pipelines,celsius,outbreaks,australasia,deccan,garibaldi,unionists,buildup,biochemical,reconstruct,boulders,stringent,barbed,wording,furnaces,pests,befriends,organises,popes,rizal,tentacles,cadre,tallahassee,punishments,occidental,formatted,mitigation,rulings,rubens,cascades,inducing,choctaw,volta,synagogues,movable,altarpiece,mitigate,practise,intermittently,encountering,memberships,earns,signify,retractable,amounting,pragmatic,wilfrid,dissenting,divergent,kanji,reconstituted,devonian,constitutions,levied,hendrik,starch,costal,honduran,ditches,polygon,eindhoven,superstars,salient,argus,punitive,purana,alluvial,flaps,inefficient,retracted,advantageous,quang,andersson,danville,binghamton,symbolize,conclave,shaanxi,silica,interpersonal,adept,frans,pavilions,lubbock,equip,sunken,limburg,activates,prosecutions,corinthian,venerated,shootings,retreats,parapet,orissa,riviere,animations,parodied,offline,metaphysics,bluffs,plume,piety,fruition,subsidized,steeplechase,shanxi,eurasia,angled,forecasting,suffragan,ashram,larval,labyrinth,chronicler,summaries,trailed,merges,thunderstorms,filtered,formula_19,advertisers,alpes,informatics,parti,constituting,undisputed,certifications,javascript,molten,sclerosis,rumoured,boulogne,hmong,lewes,breslau,notts,bantu,ducal,messengers,radars,nightclubs,bantamweight,carnatic,kaunas,fraternal,triggering,controversially,londonderry,visas,scarcity,offaly,uprisings,repelled,corinthians,pretext,kuomintang,kielce,empties,matriculated,pneumatic,expos,agile,treatises,midpoint,prehistory,oncology,subsets,hydra,hypertension,axioms,wabash,reiterated,swapped,achieves,premio,ageing,overture,curricula,challengers,subic,selangor,liners,frontline,shutter,validated,normalized,entertainers,molluscs,maharaj,allegation,youngstown,synth,thoroughfare,regionally,pillai,transcontinental,pedagogical,riemann,colonia,easternmost,tentatively,profiled,herefordshire,nativity,meuse,nucleotide,inhibits,huntingdon,throughput,recorders,conceding,domed,homeowners,centric,gabled,canoes,fringes,breeder,subtitled,fluoride,haplogroup,zionism,izmir,phylogeny,kharkiv,romanticism,adhesion,usaaf,delegations,lorestan,whalers,biathlon,vaulted,mathematically,pesos,skirmishes,heisman,kalamazoo,gesellschaft,launceston,interacts,quadruple,kowloon,psychoanalysis,toothed,ideologies,navigational,valence,induces,lesotho,frieze,rigging,undercarriage,explorations,spoof,eucharist,profitability,virtuoso,recitals,subterranean,sizeable,herodotus,subscriber,huxley,pivot,forewing,warring,boleslaw,bharatiya,suffixes,trois,percussionist,downturn,garrisons,philosophies,chants,mersin,mentored,dramatist,guilds,frameworks,thermodynamic,venomous,mehmed,assembling,rabbinic,hegemony,replicas,enlargement,claimant,retitled,utica,dumfries,metis,deter,assortment,tubing,afflicted,weavers,rupture,ornamentation,transept,salvaged,upkeep,callsign,rajput,stevenage,trimmed,intracellular,synchronization,consular,unfavorable,royalists,goldwyn,fasting,hussars,doppler,obscurity,currencies,amiens,acorn,tagore,townsville,gaussian,migrations,porta,anjou,graphite,seaport,monographs,gladiators,metrics,calligraphy,sculptural,swietokrzyskie,tolombeh,eredivisie,shoals,queries,carts,exempted,fiberglass,mirrored,bazar,progeny,formalized,mukherjee,professed,amazon.com,cathode,moreton,removable,mountaineers,nagano,transplantation,augustinian,steeply,epilogue,adapter,decisively,accelerating,mediaeval,substituting,tasman,devonshire,litres,enhancements,himmler,nephews,bypassing,imperfect,argentinian,reims,integrates,sochi,ascii,licences,niches,surgeries,fables,versatility,indra,footpath,afonso,crore,evaporation,encodes,shelling,conformity,simplify,updating,quotient,overt,firmware,umpires,architectures,eocene,conservatism,secretion,embroidery,f.c..,tuvalu,mosaics,shipwreck,prefectural,cohort,grievances,garnering,centerpiece,apoptosis,djibouti,bethesda,formula_20,shonen,richland,justinian,dormitories,meteorite,reliably,obtains,pedagogy,hardness,cupola,manifolds,amplification,steamers,familial,dumbarton,jerzy,genital,maidstone,salinity,grumman,signifies,presbytery,meteorology,procured,aegis,streamed,deletion,nuestra,mountaineering,accords,neuronal,khanate,grenoble,axles,dispatches,tokens,turku,auctions,propositions,planters,proclaiming,recommissioned,stravinsky,obverse,bombarded,waged,saviour,massacred,reformist,purportedly,resettlement,ravenna,embroiled,minden,revitalization,hikers,bridging,torpedoed,depletion,nizam,affectionately,latitudes,lubeck,spore,polymerase,aarhus,nazism,101st,buyout,galerie,diets,overflow,motivational,renown,brevet,deriving,melee,goddesses,demolish,amplified,tamworth,retake,brokerage,beneficiaries,henceforth,reorganised,silhouette,browsers,pollutants,peron,lichfield,encircled,defends,bulge,dubbing,flamenco,coimbatore,refinement,enshrined,grizzlies,capacitor,usefulness,evansville,interscholastic,rhodesian,bulletins,diamondbacks,rockers,platted,medalists,formosa,transporter,slabs,guadeloupe,disparate,concertos,violins,regaining,mandible,untitled,agnostic,issuance,hamiltonian,brampton,srpska,homology,downgraded,florentine,epitaph,kanye,rallying,analysed,grandstand,infinitely,antitrust,plundered,modernity,colspan=3|total,amphitheatre,doric,motorists,yemeni,carnivorous,probabilities,prelate,struts,scrapping,bydgoszcz,pancreatic,signings,predicts,compendium,ombudsman,apertura,appoints,rebbe,stereotypical,valladolid,clustered,touted,plywood,inertial,kettering,curving,d'honneur,housewives,grenadier,vandals,barbarossa,necked,waltham,reputedly,jharkhand,cistercian,pursues,viscosity,organiser,cloister,islet,stardom,moorish,himachal,strives,scripps,staggered,blasts,westwards,millimeters,angolan,hubei,agility,admirals,mordellistena,coincides,platte,vehicular,cordillera,riffs,schoolteacher,canaan,acoustics,tinged,reinforcing,concentrates,daleks,monza,selectively,musik,polynesia,exporter,reviving,macclesfield,bunkers,ballets,manors,caudal,microbiology,primes,unbroken,outcry,flocks,pakhtunkhwa,abelian,toowoomba,luminous,mould,appraisal,leuven,experimentally,interoperability,hideout,perak,specifying,knighthood,vasily,excerpt,computerized,niels,networked,byzantium,reaffirmed,geographer,obscured,fraternities,mixtures,allusion,accra,lengthened,inquest,panhandle,pigments,revolts,bluetooth,conjugate,overtaken,foray,coils,breech,streaks,impressionist,mendelssohn,intermediary,panned,suggestive,nevis,upazila,rotunda,mersey,linnaeus,anecdotes,gorbachev,viennese,exhaustive,moldavia,arcades,irrespective,orator,diminishing,predictive,cohesion,polarized,montage,avian,alienation,conus,jaffna,urbanization,seawater,extremity,editorials,scrolling,dreyfus,traverses,topographic,gunboats,extratropical,normans,correspondents,recognises,millennia,filtration,ammonium,voicing,complied,prefixes,diplomas,figurines,weakly,gated,oscillator,lucerne,embroidered,outpatient,airframe,fractional,disobedience,quarterbacks,formula_21,shinto,chiapas,epistle,leakage,pacifist,avignon,penrith,renders,mantua,screenplays,gustaf,tesco,alphabetically,rations,discharges,headland,tapestry,manipur,boolean,mediator,ebenezer,subchannel,fable,bestselling,ateneo,trademarks,recurrence,dwarfs,britannica,signifying,vikram,mediate,condensation,censuses,verbandsgemeinde,cartesian,sprang,surat,britons,chelmsford,courtenay,statistic,retina,abortions,liabilities,closures,mississauga,skyscrapers,saginaw,compounded,aristocrat,msnbc,stavanger,septa,interpretive,hinder,visibly,seeding,shutouts,irregularly,quebecois,footbridge,hydroxide,implicitly,lieutenants,simplex,persuades,midshipman,heterogeneous,officiated,crackdown,lends,tartu,altars,fractions,dissidents,tapered,modernisation,scripting,blazon,aquaculture,thermodynamics,sistan,hasidic,bellator,pavia,propagated,theorized,bedouin,transnational,mekong,chronicled,declarations,kickstarter,quotas,runtime,duquesne,broadened,clarendon,brownsville,saturation,tatars,electorates,malayan,replicated,observable,amphitheater,endorsements,referral,allentown,mormons,pantomime,eliminates,typeface,allegorical,varna,conduction,evoke,interviewer,subordinated,uyghur,landscaped,conventionally,ascend,edifice,postulated,hanja,whitewater,embarking,musicologist,tagalog,frontage,paratroopers,hydrocarbons,transliterated,nicolae,viewpoints,surrealist,asheville,falklands,hacienda,glide,opting,zimbabwean,discal,mortgages,nicaraguan,yadav,ghosh,abstracted,castilian,compositional,cartilage,intergovernmental,forfeited,importation,rapping,artes,republika,narayana,condominium,frisian,bradman,duality,marche,extremist,phosphorylation,genomes,allusions,valencian,habeas,ironworks,multiplex,harpsichord,emigrate,alternated,breda,waffen,smartphones,familiarity,regionalliga,herbaceous,piping,dilapidated,carboniferous,xviii,critiques,carcinoma,sagar,chippewa,postmodern,neapolitan,excludes,notoriously,distillation,tungsten,richness,installments,monoxide,chand,privatisation,molded,maths,projectiles,luoyang,epirus,lemma,concentric,incline,erroneous,sideline,gazetted,leopards,fibres,renovate,corrugated,unilateral,repatriation,orchestration,saeed,rockingham,loughborough,formula_22,bandleader,appellation,openness,nanotechnology,massively,tonnage,dunfermline,exposes,moored,ridership,motte,eurobasket,majoring,feats,silla,laterally,playlist,downwards,methodologies,eastbourne,daimyo,cellulose,leyton,norwalk,oblong,hibernian,opaque,insular,allegory,camogie,inactivation,favoring,masterpieces,rinpoche,serotonin,portrayals,waverley,airliner,longford,minimalist,outsourcing,excise,meyrick,qasim,organisational,synaptic,farmington,gorges,scunthorpe,zoned,tohoku,librarians,davao,decor,theatrically,brentwood,pomona,acquires,planter,capacitors,synchronous,skateboarding,coatings,turbocharged,ephraim,capitulation,scoreboard,hebrides,ensues,cereals,ailing,counterpoint,duplication,antisemitic,clique,aichi,oppressive,transcendental,incursions,rename,renumbering,powys,vestry,bitterly,neurology,supplanted,affine,susceptibility,orbiter,activating,overlaps,ecoregion,raman,canoer,darfur,microorganisms,precipitated,protruding,torun,anthropologists,rennes,kangaroos,parliamentarians,edits,littoral,archived,begum,rensselaer,microphones,ypres,empower,etruscan,wisden,montfort,calibration,isomorphic,rioting,kingship,verbally,smyrna,cohesive,canyons,fredericksburg,rahul,relativistic,micropolitan,maroons,industrialized,henchmen,uplift,earthworks,mahdi,disparity,cultured,transliteration,spiny,fragmentary,extinguished,atypical,inventors,biosynthesis,heralded,curacao,anomalies,aeroplane,surya,mangalore,maastricht,ashkenazi,fusiliers,hangzhou,emitting,monmouthshire,schwarzenegger,ramayana,peptides,thiruvananthapuram,alkali,coimbra,budding,reasoned,epithelial,harbors,rudimentary,classically,parque,ealing,crusades,rotations,riparian,pygmy,inertia,revolted,microprocessor,calendars,solvents,kriegsmarine,accademia,cheshmeh,yoruba,ardabil,mitra,genomic,notables,propagate,narrates,univision,outposts,polio,birkenhead,urinary,crocodiles,pectoral,barrymore,deadliest,rupees,chaim,protons,comical,astrophysics,unifying,formula_23,vassals,cortical,audubon,pedals,tenders,resorted,geophysical,lenders,recognising,tackling,lanarkshire,doctrinal,annan,combating,guangxi,estimating,selectors,tribunals,chambered,inhabiting,exemptions,curtailed,abbasid,kandahar,boron,bissau,150th,codenamed,wearer,whorl,adhered,subversive,famer,smelting,inserting,mogadishu,zoologist,mosul,stumps,almanac,olympiacos,stamens,participatory,cults,honeycomb,geologists,dividend,recursive,skiers,reprint,pandemic,liber,percentages,adversely,stoppage,chieftains,tubingen,southerly,overcrowding,unorganized,hangars,fulfil,hails,cantilever,woodbridge,pinus,wiesbaden,fertilization,fluorescence,enhances,plenary,troublesome,episodic,thrissur,kickboxing,allele,staffing,garda,televisions,philatelic,spacetime,bullpen,oxides,leninist,enrolling,inventive,truro,compatriot,ruskin,normative,assay,gotha,murad,illawarra,gendarmerie,strasse,mazraeh,rebounded,fanfare,liaoning,rembrandt,iranians,emirate,governs,latency,waterfowl,chairmen,katowice,aristocrats,eclipsed,sentient,sonatas,interplay,sacking,decepticons,dynamical,arbitrarily,resonant,petar,velocities,alludes,wastes,prefectures,belleville,sensibility,salvadoran,consolidating,medicaid,trainees,vivekananda,molar,porous,upload,youngster,infused,doctorates,wuhan,annihilation,enthusiastically,gamespot,kanpur,accumulating,monorail,operetta,tiling,sapporo,finns,calvinist,hydrocarbon,sparrows,orienteering,cornelis,minster,vuelta,plebiscite,embraces,panchayats,focussed,remediation,brahman,olfactory,reestablished,uniqueness,northumbria,rwandan,predominately,abode,ghats,balances,californian,uptake,bruges,inert,westerns,reprints,cairn,yarra,resurfaced,audible,rossini,regensburg,italiana,fleshy,irrigated,alerts,yahya,varanasi,marginalized,expatriates,cantonment,normandie,sahitya,directives,rounder,hulls,fictionalized,constables,inserts,hipped,potosi,navies,biologists,canteen,husbandry,augment,fortnight,assamese,kampala,o'keefe,paleolithic,bluish,promontory,consecutively,striving,niall,reuniting,dipole,friendlies,disapproved,thrived,netflix,liberian,dielectric,medway,strategist,sankt,pickups,hitters,encode,rerouted,claimants,anglesey,partitioned,cavan,flutes,reared,repainted,armaments,bowed,thoracic,balliol,piero,chaplains,dehestan,sender,junkers,sindhi,sickle,dividends,metallurgy,honorific,berths,namco,springboard,resettled,gansu,copyrighted,criticizes,utopian,bendigo,ovarian,binomial,spaceflight,oratorio,proprietors,supergroup,duplicated,foreground,strongholds,revolved,optimize,layouts,westland,hurler,anthropomorphic,excelsior,merchandising,reeds,vetoed,cryptography,hollyoaks,monash,flooring,ionian,resilience,johnstown,resolves,lawmakers,alegre,wildcards,intolerance,subculture,selector,slums,formulate,bayonet,istvan,restitution,interchangeably,awakens,rostock,serpentine,oscillation,reichstag,phenotype,recessed,piotr,annotated,preparedness,consultations,clausura,preferential,euthanasia,genoese,outcrops,freemasonry,geometrical,genesee,islets,prometheus,panamanian,thunderbolt,terraced,stara,shipwrecks,futebol,faroese,sharqi,aldermen,zeitung,unify,formula_24,humanism,syntactic,earthen,blyth,taxed,rescinded,suleiman,cymru,dwindled,vitality,superieure,resupply,adolphe,ardennes,rajiv,profiling,olympique,gestation,interfaith,milosevic,tagline,funerary,druze,silvery,plough,shrubland,relaunch,disband,nunatak,minimizing,excessively,waned,attaching,luminosity,bugle,encampment,electrostatic,minesweeper,dubrovnik,rufous,greenock,hochschule,assyrians,extracting,malnutrition,priya,attainment,anhui,connotations,predicate,seabirds,deduced,pseudonyms,gopal,plovdiv,refineries,imitated,kwazulu,terracotta,tenets,discourses,brandeis,whigs,dominions,pulmonate,landslides,tutors,determinant,richelieu,farmstead,tubercles,technicolor,hegel,redundancy,greenpeace,shortening,mules,distilled,xxiii,fundamentalist,acrylic,outbuildings,lighted,corals,signaled,transistors,cavite,austerity,76ers,exposures,dionysius,outlining,commutative,permissible,knowledgeable,howrah,assemblage,inhibited,crewmen,mbit/s,pyramidal,aberdeenshire,bering,rotates,atheism,howitzer,saone,lancet,fermented,contradicted,materiel,ofsted,numeric,uniformity,josephus,nazarene,kuwaiti,noblemen,pediment,emergent,campaigner,akademi,murcia,perugia,gallen,allsvenskan,finned,cavities,matriculation,rosters,twickenham,signatory,propel,readable,contends,artisan,flamboyant,reggio,italo,fumbles,widescreen,rectangle,centimetres,collaborates,envoys,rijeka,phonological,thinly,refractive,civilisation,reductase,cognate,dalhousie,monticello,lighthouses,jitsu,luneburg,socialite,fermi,collectible,optioned,marquee,jokingly,architecturally,kabir,concubine,nationalisation,watercolor,wicklow,acharya,pooja,leibniz,rajendra,nationalized,stalemate,bloggers,glutamate,uplands,shivaji,carolingian,bucuresti,dasht,reappears,muscat,functionally,formulations,hinged,hainan,catechism,autosomal,incremental,asahi,coeur,diversification,multilateral,fewest,recombination,finisher,harrogate,hangul,feasts,photovoltaic,paget,liquidity,alluded,incubation,applauded,choruses,malagasy,hispanics,bequest,underparts,cassava,kazimierz,gastric,eradication,mowtowr,tyrosine,archbishopric,e9e9e9,unproductive,uxbridge,hydrolysis,harbours,officio,deterministic,devonport,kanagawa,breaches,freetown,rhinoceros,chandigarh,janos,sanatorium,liberator,inequalities,agonist,hydrophobic,constructors,nagorno,snowboarding,welcomes,subscribed,iloilo,resuming,catalysts,stallions,jawaharlal,harriers,definitively,roughriders,hertford,inhibiting,elgar,randomized,incumbents,episcopate,rainforests,yangon,improperly,kemal,interpreters,diverged,uttarakhand,umayyad,phnom,panathinaikos,shabbat,diode,jiangxi,forbidding,nozzle,artistry,licensee,processions,staffs,decimated,expressionism,shingle,palsy,ontology,mahayana,maribor,sunil,hostels,edwardian,jetty,freehold,overthrew,eukaryotic,schuylkill,rawalpindi,sheath,recessive,ferenc,mandibles,berlusconi,confessor,convergent,ababa,slugging,rentals,sephardic,equivalently,collagen,markov,dynamically,hailing,depressions,sprawling,fairgrounds,indistinguishable,plutarch,pressurized,banff,coldest,braunschweig,mackintosh,sociedad,wittgenstein,tromso,airbase,lecturers,subtitle,attaches,purified,contemplated,dreamworks,telephony,prophetic,rockland,aylesbury,biscay,coherence,aleksandar,judoka,pageants,theses,homelessness,luthor,sitcoms,hinterland,fifths,derwent,privateers,enigmatic,nationalistic,instructs,superimposed,conformation,tricycle,dusan,attributable,unbeknownst,laptops,etching,archbishops,ayatollah,cranial,gharbi,interprets,lackawanna,abingdon,saltwater,tories,lender,minaj,ancillary,ranching,pembrokeshire,topographical,plagiarism,murong,marque,chameleon,assertions,infiltrated,guildhall,reverence,schenectady,formula_25,kollam,notary,mexicana,initiates,abdication,basra,theorems,ionization,dismantling,eared,censors,budgetary,numeral,verlag,excommunicated,distinguishable,quarried,cagliari,hindustan,symbolizing,watertown,descartes,relayed,enclosures,militarily,sault,devolved,dalian,djokovic,filaments,staunton,tumour,curia,villainous,decentralized,galapagos,moncton,quartets,onscreen,necropolis,brasileiro,multipurpose,alamos,comarca,jorgen,concise,mercia,saitama,billiards,entomologist,montserrat,lindbergh,commuting,lethbridge,phoenician,deviations,anaerobic,denouncing,redoubt,fachhochschule,principalities,negros,announcers,seconded,parrots,konami,revivals,approving,devotee,riyadh,overtook,morecambe,lichen,expressionist,waterline,silverstone,geffen,sternites,aspiration,behavioural,grenville,tripura,mediums,genders,pyotr,charlottesville,sacraments,programmable,ps100,shackleton,garonne,sumerian,surpass,authorizing,interlocking,lagoons,voiceless,advert,steeple,boycotted,alouettes,yosef,oxidative,sassanid,benefiting,sayyid,nauru,predetermined,idealism,maxillary,polymerization,semesters,munchen,conor,outfitted,clapham,progenitor,gheorghe,observational,recognitions,numerically,colonized,hazrat,indore,contaminants,fatality,eradicate,assyria,convocation,cameos,skillful,skoda,corfu,confucius,overtly,ramadan,wollongong,placements,d.c..,permutation,contemporaneous,voltages,elegans,universitat,samar,plunder,dwindling,neuter,antonin,sinhala,campania,solidified,stanzas,fibrous,marburg,modernize,sorcery,deutscher,florets,thakur,disruptive,infielder,disintegration,internazionale,vicariate,effigy,tripartite,corrective,klamath,environs,leavenworth,sandhurst,workmen,compagnie,hoseynabad,strabo,palisades,ordovician,sigurd,grandsons,defection,viacom,sinhalese,innovator,uncontrolled,slavonic,indexes,refrigeration,aircrew,superbike,resumption,neustadt,confrontations,arras,hindenburg,ripon,embedding,isomorphism,dwarves,matchup,unison,lofty,argos,louth,constitutionally,transitive,newington,facelift,degeneration,perceptual,aviators,enclosing,igneous,symbolically,academician,constitutionality,iso/iec,sacrificial,maturation,apprentices,enzymology,naturalistic,hajji,arthropods,abbess,vistula,scuttled,gradients,pentathlon,etudes,freedmen,melaleuca,thrice,conductive,sackville,franciscans,stricter,golds,kites,worshiped,monsignor,trios,orally,tiered,primacy,bodywork,castleford,epidemics,alveolar,chapelle,chemists,hillsboro,soulful,warlords,ngati,huguenot,diurnal,remarking,luger,motorways,gauss,jahan,cutoff,proximal,bandai,catchphrase,jonubi,ossetia,codename,codice_2,throated,itinerant,chechnya,riverfront,leela,evoked,entailed,zamboanga,rejoining,circuitry,haymarket,khartoum,feuds,braced,miyazaki,mirren,lubusz,caricature,buttresses,attrition,characterizes,widnes,evanston,materialism,contradictions,marist,midrash,gainsborough,ulithi,turkmen,vidya,escuela,patrician,inspirations,reagent,premierships,humanistic,euphrates,transitioning,belfry,zedong,adaption,kaliningrad,lobos,epics,waiver,coniferous,polydor,inductee,refitted,moraine,unsatisfactory,worsening,polygamy,rajya,nested,subgenre,broadside,stampeders,lingua,incheon,pretender,peloton,persuading,excitation,multan,predates,tonne,brackish,autoimmune,insulated,podcasts,iraqis,bodybuilding,condominiums,midlothian,delft,debtor,asymmetrical,lycaenidae,forcefully,pathogenic,tamaulipas,andaman,intravenous,advancements,senegalese,chronologically,realigned,inquirer,eusebius,dekalb,additives,shortlist,goldwater,hindustani,auditing,caterpillars,pesticide,nakhon,ingestion,lansdowne,traditionalist,northland,thunderbirds,josip,nominating,locale,ventricular,animators,verandah,epistles,surveyors,anthems,dredd,upheaval,passaic,anatolian,svalbard,associative,floodplain,taranaki,estuaries,irreducible,beginners,hammerstein,allocate,coursework,secreted,counteract,handwritten,foundational,passover,discoverer,decoding,wares,bourgeoisie,playgrounds,nazionale,abbreviations,seanad,golan,mishra,godavari,rebranding,attendances,backstory,interrupts,lettered,hasbro,ultralight,hormozgan,armee,moderne,subdue,disuse,improvisational,enrolment,persists,moderated,carinthia,hatchback,inhibitory,capitalized,anatoly,abstracts,albemarle,bergamo,insolvency,sentai,cellars,walloon,joked,kashmiri,dirac,materialized,renomination,homologous,gusts,eighteens,centrifugal,storied,baluchestan,formula_26,poincare,vettel,infuriated,gauges,streetcars,vedanta,stately,liquidated,goguryeo,swifts,accountancy,levee,acadian,hydropower,eustace,comintern,allotment,designating,torsion,molding,irritation,aerobic,halen,concerted,plantings,garrisoned,gramophone,cytoplasm,onslaught,requisitioned,relieving,genitive,centrist,jeong,espanola,dissolving,chatterjee,sparking,connaught,varese,arjuna,carpathian,empowering,meteorologist,decathlon,opioid,hohenzollern,fenced,ibiza,avionics,footscray,scrum,discounts,filament,directories,a.f.c,stiffness,quaternary,adventurers,transmits,harmonious,taizong,radiating,germantown,ejection,projectors,gaseous,nahuatl,vidyalaya,nightlife,redefined,refuted,destitute,arista,potters,disseminated,distanced,jamboree,kaohsiung,tilted,lakeshore,grained,inflicting,kreis,novelists,descendents,mezzanine,recast,fatah,deregulation,ac/dc,australis,kohgiluyeh,boreal,goths,authoring,intoxicated,nonpartisan,theodosius,pyongyang,shree,boyhood,sanfl,plenipotentiary,photosynthesis,presidium,sinaloa,honshu,texan,avenida,transmembrane,malays,acropolis,catalunya,vases,inconsistencies,methodists,quell,suisse,banat,simcoe,cercle,zealanders,discredited,equine,sages,parthian,fascists,interpolation,classifying,spinoff,yehuda,cruised,gypsum,foaled,wallachia,saraswati,imperialist,seabed,footnotes,nakajima,locales,schoolmaster,drosophila,bridgehead,immanuel,courtier,bookseller,niccolo,stylistically,portmanteau,superleague,konkani,millimetres,arboreal,thanjavur,emulation,sounders,decompression,commoners,infusion,methodological,osage,rococo,anchoring,bayreuth,formula_27,abstracting,symbolized,bayonne,electrolyte,rowed,corvettes,traversing,editorship,sampler,presidio,curzon,adirondack,swahili,rearing,bladed,lemur,pashtun,behaviours,bottling,zaire,recognisable,systematics,leeward,formulae,subdistricts,smithfield,vijaya,buoyancy,boosting,cantonal,rishi,airflow,kamakura,adana,emblems,aquifer,clustering,husayn,woolly,wineries,montessori,turntable,exponentially,caverns,espoused,pianists,vorpommern,vicenza,latterly,o'rourke,williamstown,generale,kosice,duisburg,poirot,marshy,mismanagement,mandalay,dagenham,universes,chiral,radiated,stewards,vegan,crankshaft,kyrgyz,amphibian,cymbals,infrequently,offenbach,environmentalist,repatriated,permutations,midshipmen,loudoun,refereed,bamberg,ornamented,nitric,selim,translational,dorsum,annunciation,gippsland,reflector,informational,regia,reactionary,ahmet,weathering,erlewine,legalized,berne,occupant,divas,manifests,analyzes,disproportionate,mitochondria,totalitarian,paulista,interscope,anarcho,correlate,brookfield,elongate,brunel,ordinal,precincts,volatility,equaliser,hittite,somaliland,ticketing,monochrome,ubuntu,chhattisgarh,titleholder,ranches,referendums,blooms,accommodates,merthyr,religiously,ryukyu,tumultuous,checkpoints,anode,mi'kmaq,cannonball,punctuation,remodelled,assassinations,criminology,alternates,yonge,pixar,namibian,piraeus,trondelag,hautes,lifeboats,shoal,atelier,vehemently,sadat,postcode,jainism,lycoming,undisturbed,lutherans,genomics,popmatters,tabriz,isthmian,notched,autistic,horsham,mites,conseil,bloomsbury,seung,cybertron,idris,overhauled,disbandment,idealized,goldfields,worshippers,lobbyist,ailments,paganism,herbarium,athenians,messerschmitt,faraday,entangled,'olya,untreated,criticising,howitzers,parvati,lobed,debussy,atonement,tadeusz,permeability,mueang,sepals,degli,optionally,fuelled,follies,asterisk,pristina,lewiston,congested,overpass,affixed,pleads,telecasts,stanislaus,cryptographic,friesland,hamstring,selkirk,antisubmarine,inundated,overlay,aggregates,fleur,trolleybus,sagan,ibsen,inductees,beltway,tiled,ladders,cadbury,laplace,ascetic,micronesia,conveying,bellingham,cleft,batches,usaid,conjugation,macedon,assisi,reappointed,brine,jinnah,prairies,screenwriting,oxidized,despatches,linearly,fertilizers,brazilians,absorbs,wagga,modernised,scorsese,ashraf,charlestown,esque,habitable,nizhny,lettres,tuscaloosa,esplanade,coalitions,carbohydrates,legate,vermilion,standardised,galleria,psychoanalytic,rearrangement,substation,competency,nationalised,reshuffle,reconstructions,mehdi,bougainville,receivership,contraception,enlistment,conducive,aberystwyth,solicitors,dismisses,fibrosis,montclair,homeowner,surrealism,s.h.i.e.l.d,peregrine,compilers,1790s,parentage,palmas,rzeszow,worldview,eased,svenska,housemate,bundestag,originator,enlisting,outwards,reciprocity,formula_28,carbohydrate,democratically,firefighting,romagna,acknowledgement,khomeini,carbide,quests,vedas,characteristically,guwahati,brixton,unintended,brothels,parietal,namur,sherbrooke,moldavian,baruch,milieu,undulating,laurier,entre,dijon,ethylene,abilene,heracles,paralleling,ceres,dundalk,falun,auspicious,chisinau,polarity,foreclosure,templates,ojibwe,punic,eriksson,biden,bachchan,glaciation,spitfires,norsk,nonviolent,heidegger,algonquin,capacitance,cassettes,balconies,alleles,airdate,conveys,replays,classifies,infrequent,amine,cuttings,rarer,woking,olomouc,amritsar,rockabilly,illyrian,maoist,poignant,tempore,stalinist,segmented,bandmate,mollusc,muhammed,totalled,byrds,tendered,endogenous,kottayam,aisne,oxidase,overhears,illustrators,verve,commercialization,purplish,directv,moulded,lyttelton,baptismal,captors,saracens,georgios,shorten,polity,grids,fitzwilliam,sculls,impurities,confederations,akhtar,intangible,oscillations,parabolic,harlequin,maulana,ovate,tanzanian,singularity,confiscation,qazvin,speyer,phonemes,overgrown,vicarage,gurion,undocumented,niigata,thrones,preamble,stave,interment,liiga,ataturk,aphrodite,groupe,indentured,habsburgs,caption,utilitarian,ozark,slovenes,reproductions,plasticity,serbo,dulwich,castel,barbuda,salons,feuding,lenape,wikileaks,swamy,breuning,shedding,afield,superficially,operationally,lamented,okanagan,hamadan,accolade,furthering,adolphus,fyodor,abridged,cartoonists,pinkish,suharto,cytochrome,methylation,debit,colspan=9|,refine,taoist,signalled,herding,leaved,bayan,fatherland,rampart,sequenced,negation,storyteller,occupiers,barnabas,pelicans,nadir,conscripted,railcars,prerequisite,furthered,columba,carolinas,markup,gwalior,franche,chaco,eglinton,ramparts,rangoon,metabolites,pollination,croat,televisa,holyoke,testimonial,setlist,safavid,sendai,georgians,shakespearean,galleys,regenerative,krzysztof,overtones,estado,barbary,cherbourg,obispo,sayings,composites,sainsbury,deliberation,cosmological,mahalleh,embellished,ascap,biala,pancras,calumet,grands,canvases,antigens,marianas,defenseman,approximated,seedlings,soren,stele,nuncio,immunology,testimonies,glossary,recollections,suitability,tampere,venous,cohomology,methanol,echoing,ivanovich,warmly,sterilization,imran,multiplying,whitechapel,undersea,xuanzong,tacitus,bayesian,roundhouse,correlations,rioters,molds,fiorentina,bandmates,mezzo,thani,guerilla,200th,premiums,tamils,deepwater,chimpanzees,tribesmen,selwyn,globo,turnovers,punctuated,erode,nouvelle,banbury,exponents,abolishing,helical,maimonides,endothelial,goteborg,infield,encroachment,cottonwood,mazowiecki,parable,saarbrucken,reliever,epistemology,artistes,enrich,rationing,formula_29,palmyra,subfamilies,kauai,zoran,fieldwork,arousal,creditor,friuli,celts,comoros,equated,escalation,negev,tallied,inductive,anion,netanyahu,mesoamerican,lepidoptera,aspirated,remit,westmorland,italic,crosse,vaclav,fuego,owain,balmain,venetians,ethnicities,deflected,ticino,apulia,austere,flycatcher,reprising,repressive,hauptbahnhof,subtype,ophthalmology,summarizes,eniwetok,colonisation,subspace,nymphalidae,earmarked,tempe,burnet,crests,abbots,norwegians,enlarge,ashoka,frankfort,livorno,malware,renters,singly,iliad,moresby,rookies,gustavus,affirming,alleges,legume,chekhov,studded,abdicated,suzhou,isidore,townsite,repayment,quintus,yankovic,amorphous,constructor,narrowing,industrialists,tanganyika,capitalization,connective,mughals,rarities,aerodynamics,worthing,antalya,diagnostics,shaftesbury,thracian,obstetrics,benghazi,multiplier,orbitals,livonia,roscommon,intensify,ravel,oaths,overseer,locomotion,necessities,chickasaw,strathclyde,treviso,erfurt,aortic,contemplation,accrington,markazi,predeceased,hippocampus,whitecaps,assemblyman,incursion,ethnography,extraliga,reproducing,directorship,benzene,byway,stupa,taxable,scottsdale,onondaga,favourably,countermeasures,lithuanians,thatched,deflection,tarsus,consuls,annuity,paralleled,contextual,anglian,klang,hoisted,multilingual,enacting,samaj,taoiseach,carthaginian,apologised,hydrology,entrant,seamless,inflorescences,mugabe,westerners,seminaries,wintering,penzance,mitre,sergeants,unoccupied,delimitation,discriminate,upriver,abortive,nihon,bessarabia,calcareous,buffaloes,patil,daegu,streamline,berks,chaparral,laity,conceptions,typified,kiribati,threaded,mattel,eccentricity,signified,patagonia,slavonia,certifying,adnan,astley,sedition,minimally,enumerated,nikos,goalless,walid,narendra,causa,missoula,coolant,dalek,outcrop,hybridization,schoolchildren,peasantry,afghans,confucianism,shahr,gallic,tajik,kierkegaard,sauvignon,commissar,patriarchs,tuskegee,prussians,laois,ricans,talmudic,officiating,aesthetically,baloch,antiochus,separatists,suzerainty,arafat,shading,u.s.c,chancellors,inc..,toolkit,nepenthes,erebidae,solicited,pratap,kabbalah,alchemist,caltech,darjeeling,biopic,spillway,kaiserslautern,nijmegen,bolstered,neath,pahlavi,eugenics,bureaus,retook,northfield,instantaneous,deerfield,humankind,selectivity,putative,boarders,cornhuskers,marathas,raikkonen,aliabad,mangroves,garages,gulch,karzai,poitiers,chernobyl,thane,alexios,belgrano,scion,solubility,urbanized,executable,guizhou,nucleic,tripled,equalled,harare,houseguests,potency,ghazi,repeater,overarching,regrouped,broward,ragtime,d'art,nandi,regalia,campsites,mamluk,plating,wirral,presumption,zenit,archivist,emmerdale,decepticon,carabidae,kagoshima,franconia,guarani,formalism,diagonally,submarginal,denys,walkways,punts,metrolink,hydrographic,droplets,upperside,martyred,hummingbird,antebellum,curiously,mufti,friary,chabad,czechs,shaykh,reactivity,berklee,turbonilla,tongan,sultans,woodville,unlicensed,enmity,dominicans,operculum,quarrying,watercolour,catalyzed,gatwick,'what,mesozoic,auditors,shizuoka,footballing,haldane,telemundo,appended,deducted,disseminate,o'shea,pskov,abrasive,entente,gauteng,calicut,lemurs,elasticity,suffused,scopula,staining,upholding,excesses,shostakovich,loanwords,naidu,championnat,chromatography,boasting,goaltenders,engulfed,salah,kilogram,morristown,shingles,shi'a,labourer,renditions,frantisek,jekyll,zonal,nanda,sheriffs,eigenvalues,divisione,endorsing,ushered,auvergne,cadres,repentance,freemasons,utilising,laureates,diocletian,semiconductors,o'grady,vladivostok,sarkozy,trackage,masculinity,hydroxyl,mervyn,muskets,speculations,gridiron,opportunistic,mascots,aleutian,fillies,sewerage,excommunication,borrowers,capillary,trending,sydenham,synthpop,rajah,cagayan,deportes,kedah,faure,extremism,michoacan,levski,culminates,occitan,bioinformatics,unknowingly,inciting,emulated,footpaths,piacenza,dreadnought,viceroyalty,oceanographic,scouted,combinatorial,ornithologist,cannibalism,mujahideen,independiente,cilicia,hindwing,minimized,odeon,gyorgy,rubles,purchaser,collieries,kickers,interurban,coiled,lynchburg,respondent,plzen,detractors,etchings,centering,intensification,tomography,ranjit,warblers,retelling,reinstatement,cauchy,modulus,redirected,evaluates,beginner,kalateh,perforated,manoeuvre,scrimmage,internships,megawatts,mottled,haakon,tunbridge,kalyan,summarised,sukarno,quetta,canonized,henryk,agglomeration,coahuila,diluted,chiropractic,yogyakarta,talladega,sheik,cation,halting,reprisals,sulfuric,musharraf,sympathizers,publicised,arles,lectionary,fracturing,startups,sangha,latrobe,rideau,ligaments,blockading,cremona,lichens,fabaceae,modulated,evocative,embodies,battersea,indistinct,altai,subsystem,acidity,somatic,formula_30,tariq,rationality,sortie,ashlar,pokal,cytoplasmic,valour,bangla,displacing,hijacking,spectrometry,westmeath,weill,charing,goias,revolvers,individualized,tenured,nawaz,piquet,chanted,discard,bernd,phalanx,reworking,unilaterally,subclass,yitzhak,piloting,circumvent,disregarded,semicircular,viscous,tibetans,endeavours,retaliated,cretan,vienne,workhouse,sufficiency,aurangzeb,legalization,lipids,expanse,eintracht,sanjak,megas,125th,bahraini,yakima,eukaryotes,thwart,affirmation,peloponnese,retailing,carbonyl,chairwoman,macedonians,dentate,rockaway,correctness,wealthier,metamorphic,aragonese,fermanagh,pituitary,schrodinger,evokes,spoiler,chariots,akita,genitalia,combe,confectionery,desegregation,experiential,commodores,persepolis,viejo,restorations,virtualization,hispania,printmaking,stipend,yisrael,theravada,expended,radium,tweeted,polygonal,lippe,charente,leveraged,cutaneous,fallacy,fragrant,bypasses,elaborately,rigidity,majid,majorca,kongo,plasmodium,skits,audiovisual,eerste,staircases,prompts,coulthard,northwestward,riverdale,beatrix,copyrights,prudential,communicates,mated,obscenity,asynchronous,analyse,hansa,searchlight,farnborough,patras,asquith,qarah,contours,fumbled,pasteur,redistributed,almeria,sanctuaries,jewry,israelite,clinicians,koblenz,bookshop,affective,goulburn,panelist,sikorsky,cobham,mimics,ringed,portraiture,probabilistic,girolamo,intelligible,andalusian,jalal,athenaeum,eritrean,auxiliaries,pittsburg,devolution,sangam,isolating,anglers,cronulla,annihilated,kidderminster,synthesize,popularised,theophilus,bandstand,innumerable,chagrin,retroactively,weser,multiples,birdlife,goryeo,pawnee,grosser,grappling,tactile,ahmadinejad,turboprop,erdogan,matchday,proletarian,adhering,complements,austronesian,adverts,luminaries,archeology,impressionism,conifer,sodomy,interracial,platoons,lessen,postings,pejorative,registrations,cookery,persecutions,microbes,audits,idiosyncratic,subsp,suspensions,restricts,colouring,ratify,instrumentals,nucleotides,sulla,posits,bibliotheque,diameters,oceanography,instigation,subsumed,submachine,acceptor,legation,borrows,sedge,discriminated,loaves,insurers,highgate,detectable,abandons,kilns,sportscaster,harwich,iterations,preakness,arduous,tensile,prabhu,shortwave,philologist,shareholding,vegetative,complexities,councilors,distinctively,revitalize,automaton,amassing,montreux,khanh,surabaya,nurnberg,pernambuco,cuisines,charterhouse,firsts,tercera,inhabitant,homophobia,naturalism,einar,powerplant,coruna,entertainments,whedon,rajputs,raton,democracies,arunachal,oeuvre,wallonia,jeddah,trolleybuses,evangelism,vosges,kiowa,minimise,encirclement,undertakes,emigrant,beacons,deepened,grammars,publius,preeminent,seyyed,repechage,crafting,headingley,osteopathic,lithography,hotly,bligh,inshore,betrothed,olympians,formula_31,dissociation,trivandrum,arran,petrovic,stettin,disembarked,simplification,bronzes,philo,acrobatic,jonsson,conjectured,supercharged,kanto,detects,cheeses,correlates,harmonics,lifecycle,sudamericana,reservists,decayed,elitserien,parametric,113th,dusky,hogarth,modulo,symbiotic,monopolies,discontinuation,converges,southerners,tucuman,eclipses,enclaves,emits,famicom,caricatures,artistically,levelled,mussels,erecting,mouthparts,cunard,octaves,crucible,guardia,unusable,lagrangian,droughts,ephemeral,pashto,canis,tapering,sasebo,silurian,metallurgical,outscored,evolves,reissues,sedentary,homotopy,greyhawk,reagents,inheriting,onshore,tilting,rebuffed,reusable,naturalists,basingstoke,insofar,offensives,dravidian,curators,planks,rajan,isoforms,flagstaff,preside,globular,egalitarian,linkages,biographers,goalscorers,molybdenum,centralised,nordland,jurists,ellesmere,rosberg,hideyoshi,restructure,biases,borrower,scathing,redress,tunnelling,workflow,magnates,mahendra,dissenters,plethora,transcriptions,handicrafts,keyword,xi'an,petrograd,unser,prokofiev,90deg,madan,bataan,maronite,kearny,carmarthen,termini,consulates,disallowed,rockville,bowery,fanzine,docklands,bests,prohibitions,yeltsin,selassie,naturalization,realisation,dispensary,tribeca,abdulaziz,pocahontas,stagnation,pamplona,cuneiform,propagating,subsurface,christgau,epithelium,schwerin,lynching,routledge,hanseatic,upanishad,glebe,yugoslavian,complicity,endowments,girona,mynetworktv,entomology,plinth,ba'ath,supercup,torus,akkadian,salted,englewood,commandery,belgaum,prefixed,colorless,dartford,enthroned,caesarea,nominative,sandown,safeguards,hulled,formula_32,leamington,dieppe,spearhead,generalizations,demarcation,llanelli,masque,brickwork,recounting,sufism,strikingly,petrochemical,onslow,monologues,emigrating,anderlecht,sturt,hossein,sakhalin,subduction,novices,deptford,zanjan,airstrikes,coalfield,reintroduction,timbaland,hornby,messianic,stinging,universalist,situational,radiocarbon,strongman,rowling,saloons,traffickers,overran,fribourg,cambrai,gravesend,discretionary,finitely,archetype,assessor,pilipinas,exhumed,invocation,interacted,digitized,timisoara,smelter,teton,sexism,precepts,srinagar,pilsudski,carmelite,hanau,scoreline,hernando,trekking,blogging,fanbase,wielded,vesicles,nationalization,banja,rafts,motoring,luang,takeda,girder,stimulates,histone,sunda,nanoparticles,attains,jumpers,catalogued,alluding,pontus,ancients,examiners,shinkansen,ribbentrop,reimbursement,pharmacological,ramat,stringed,imposes,cheaply,transplanted,taiping,mizoram,looms,wallabies,sideman,kootenay,encased,sportsnet,revolutionized,tangier,benthic,runic,pakistanis,heatseekers,shyam,mishnah,presbyterians,stadt,sutras,straddles,zoroastrian,infer,fueling,gymnasts,ofcom,gunfight,journeyman,tracklist,oshawa,ps500,pa'in,mackinac,xiongnu,mississippian,breckinridge,freemason,bight,autoroute,liberalization,distantly,thrillers,solomons,presumptive,romanization,anecdotal,bohemians,unpaved,milder,concurred,spinners,alphabets,strenuous,rivieres,kerrang,mistreatment,dismounted,intensively,carlist,dancehall,shunting,pluralism,trafficked,brokered,bonaventure,bromide,neckar,designates,malian,reverses,sotheby,sorghum,serine,environmentalists,languedoc,consulship,metering,bankstown,handlers,militiamen,conforming,regularity,pondicherry,armin,capsized,consejo,capitalists,drogheda,granular,purged,acadians,endocrine,intramural,elicit,terns,orientations,miklos,omitting,apocryphal,slapstick,brecon,pliocene,affords,typography,emigre,tsarist,tomasz,beset,nishi,necessitating,encyclical,roleplaying,journeyed,inflow,sprints,progressives,novosibirsk,cameroonian,ephesus,speckled,kinshasa,freiherr,burnaby,dalmatian,torrential,rigor,renegades,bhakti,nurburgring,cosimo,convincingly,reverting,visayas,lewisham,charlottetown,charadriiformesfamily,transferable,jodhpur,converters,deepening,camshaft,underdeveloped,protease,polonia,uterine,quantify,tobruk,dealerships,narasimha,fortran,inactivity,1780s,victors,categorised,naxos,workstation,skink,sardinian,chalice,precede,dammed,sondheim,phineas,tutored,sourcing,uncompromising,placer,tyneside,courtiers,proclaims,pharmacies,hyogo,booksellers,sengoku,kursk,spectrometer,countywide,wielkopolski,bobsleigh,shetty,llywelyn,consistory,heretics,guinean,cliches,individualism,monolithic,imams,usability,bursa,deliberations,railings,torchwood,inconsistency,balearic,stabilizer,demonstrator,facet,radioactivity,outboard,educates,d'oyly,heretical,handover,jurisdictional,shockwave,hispaniola,conceptually,routers,unaffiliated,trentino,formula_33,cypriots,intervenes,neuchatel,formulating,maggiore,delisted,alcohols,thessaly,potable,estimator,suborder,fluency,mimicry,clergymen,infrastructures,rivals.com,baroda,subplot,majlis,plano,clinching,connotation,carinae,savile,intercultural,transcriptional,sandstones,ailerons,annotations,impresario,heinkel,scriptural,intermodal,astrological,ribbed,northeastward,posited,boers,utilise,kalmar,phylum,breakwater,skype,textured,guideline,azeri,rimini,massed,subsidence,anomalous,wolfsburg,polyphonic,accrediting,vodacom,kirov,captaining,kelantan,logie,fervent,eamon,taper,bundeswehr,disproportionately,divination,slobodan,pundits,hispano,kinetics,reunites,makati,ceasing,statistician,amending,chiltern,eparchy,riverine,melanoma,narragansett,pagans,raged,toppled,breaching,zadar,holby,dacian,ochre,velodrome,disparities,amphoe,sedans,webpage,williamsport,lachlan,groton,baring,swastika,heliport,unwillingness,razorbacks,exhibitors,foodstuffs,impacting,tithe,appendages,dermot,subtypes,nurseries,balinese,simulating,stary,remakes,mundi,chautauqua,geologically,stockade,hakka,dilute,kalimantan,pahang,overlapped,fredericton,baha'u'llah,jahangir,damping,benefactors,shomali,triumphal,cieszyn,paradigms,shielded,reggaeton,maharishi,zambian,shearing,golestan,mirroring,partitioning,flyover,songbook,incandescent,merrimack,huguenots,sangeet,vulnerabilities,trademarked,drydock,tantric,honoris,queenstown,labelling,iterative,enlists,statesmen,anglicans,herge,qinghai,burgundian,islami,delineated,zhuge,aggregated,banknote,qatari,suitably,tapestries,asymptotic,charleroi,majorities,pyramidellidae,leanings,climactic,tahir,ramsar,suppressor,revisionist,trawler,ernakulam,penicillium,categorization,slits,entitlement,collegium,earths,benefice,pinochet,puritans,loudspeaker,stockhausen,eurocup,roskilde,alois,jaroslav,rhondda,boutiques,vigor,neurotransmitter,ansar,malden,ferdinando,sported,relented,intercession,camberwell,wettest,thunderbolts,positional,oriel,cloverleaf,penalized,shoshone,rajkumar,completeness,sharjah,chromosomal,belgians,woolen,ultrasonic,sequentially,boleyn,mordella,microsystems,initiator,elachista,mineralogy,rhododendron,integrals,compostela,hamza,sawmills,stadio,berlioz,maidens,stonework,yachting,tappeh,myocardial,laborer,workstations,costumed,nicaea,lanark,roundtable,mashhad,nablus,algonquian,stuyvesant,sarkar,heroines,diwan,laments,intonation,intrigues,almaty,feuded,grandes,algarve,rehabilitate,macrophages,cruciate,dismayed,heuristic,eliezer,kozhikode,covalent,finalised,dimorphism,yaroslavl,overtaking,leverkusen,middlebury,feeders,brookings,speculates,insoluble,lodgings,jozsef,cysteine,shenyang,habilitation,spurious,brainchild,mtdna,comique,albedo,recife,partick,broadening,shahi,orientated,himalaya,swabia,palme,mennonites,spokeswoman,conscripts,sepulchre,chartres,eurozone,scaffold,invertebrate,parishad,bagan,heian,watercolors,basse,supercomputer,commences,tarragona,plainfield,arthurian,functor,identically,murex,chronicling,pressings,burrowing,histoire,guayaquil,goalkeeping,differentiable,warburg,machining,aeneas,kanawha,holocene,ramesses,reprisal,qingdao,avatars,turkestan,cantatas,besieging,repudiated,teamsters,equipping,hydride,ahmadiyya,euston,bottleneck,computations,terengganu,kalinga,stela,rediscovery,'this,azhar,stylised,karelia,polyethylene,kansai,motorised,lounges,normalization,calculators,1700s,goalkeepers,unfolded,commissary,cubism,vignettes,multiverse,heaters,briton,sparingly,childcare,thorium,plock,riksdag,eunuchs,catalysis,limassol,perce,uncensored,whitlam,ulmus,unites,mesopotamian,refraction,biodiesel,forza,fulda,unseated,mountbatten,shahrak,selenium,osijek,mimicking,antimicrobial,axons,simulcasting,donizetti,swabian,sportsmen,hafiz,neared,heraclius,locates,evaded,subcarpathian,bhubaneswar,negeri,jagannath,thaksin,aydin,oromo,lateran,goldsmiths,multiculturalism,cilia,mihai,evangelists,lorient,qajar,polygons,vinod,mechanised,anglophone,prefabricated,mosses,supervillain,airliners,biofuels,iodide,innovators,valais,wilberforce,logarithm,intelligentsia,dissipation,sanctioning,duchies,aymara,porches,simulators,mostar,telepathic,coaxial,caithness,burghs,fourths,stratification,joaquim,scribes,meteorites,monarchist,germination,vries,desiring,replenishment,istria,winemaking,tammany,troupes,hetman,lanceolate,pelagic,triptych,primeira,scant,outbound,hyphae,denser,bentham,basie,normale,executes,ladislaus,kontinental,herat,cruiserweight,activision,customization,manoeuvres,inglewood,northwood,waveform,investiture,inpatient,alignments,kiryat,rabat,archimedes,ustad,monsanto,archetypal,kirkby,sikhism,correspondingly,catskill,overlaid,petrels,widowers,unicameral,federalists,metalcore,gamerankings,mussel,formula_34,lymphocytes,cystic,southgate,vestiges,immortals,kalam,strove,amazons,pocono,sociologists,sopwith,adheres,laurens,caregivers,inspecting,transylvanian,rebroadcast,rhenish,miserables,pyrams,blois,newtonian,carapace,redshirt,gotland,nazir,unilever,distortions,linebackers,federalism,mombasa,lumen,bernoulli,favouring,aligarh,denounce,steamboats,dnieper,stratigraphic,synths,bernese,umass,icebreaker,guanajuato,heisenberg,boldly,diodes,ladakh,dogmatic,scriptwriter,maritimes,battlestar,symposia,adaptable,toluca,bhavan,nanking,ieyasu,picardy,soybean,adalbert,brompton,deutsches,brezhnev,glandular,laotian,hispanicized,ibadan,personification,dalit,yamuna,regio,dispensed,yamagata,zweibrucken,revising,fandom,stances,participle,flavours,khitan,vertebral,crores,mayaguez,dispensation,guntur,undefined,harpercollins,unionism,meena,leveling,philippa,refractory,telstra,judea,attenuation,pylons,elaboration,elegy,edging,gracillariidae,residencies,absentia,reflexive,deportations,dichotomy,stoves,sanremo,shimon,menachem,corneal,conifers,mordellidae,facsimile,diagnoses,cowper,citta,viticulture,divisive,riverview,foals,mystics,polyhedron,plazas,airspeed,redgrave,motherland,impede,multiplicity,barrichello,airships,pharmacists,harvester,clays,payloads,differentiating,popularize,caesars,tunneling,stagnant,circadian,indemnity,sensibilities,musicology,prefects,serfs,metra,lillehammer,carmarthenshire,kiosks,welland,barbican,alkyl,tillandsia,gatherers,asociacion,showings,bharati,brandywine,subversion,scalable,pfizer,dawla,barium,dardanelles,nsdap,konig,ayutthaya,hodgkin,sedimentation,completions,purchasers,sponsorships,maximizing,banked,taoism,minot,enrolls,fructose,aspired,capuchin,outages,artois,carrollton,totality,osceola,pawtucket,fontainebleau,converged,queretaro,competencies,botha,allotments,sheaf,shastri,obliquely,banding,catharines,outwardly,monchengladbach,driest,contemplative,cassini,ranga,pundit,kenilworth,tiananmen,disulfide,formula_35,townlands,codice_3,looping,caravans,rachmaninoff,segmentation,fluorine,anglicised,gnostic,dessau,discern,reconfigured,altrincham,rebounding,battlecruiser,ramblers,1770s,convective,triomphe,miyagi,mourners,instagram,aloft,breastfeeding,courtyards,folkestone,changsha,kumamoto,saarland,grayish,provisionally,appomattox,uncial,classicism,mahindra,elapsed,supremes,monophyletic,cautioned,formula_36,noblewoman,kernels,sucre,swaps,bengaluru,grenfell,epicenter,rockhampton,worshipful,licentiate,metaphorical,malankara,amputated,wattle,palawan,tankobon,nobunaga,polyhedra,transduction,jilin,syrians,affinities,fluently,emanating,anglicized,sportscar,botanists,altona,dravida,chorley,allocations,kunming,luanda,premiering,outlived,mesoamerica,lingual,dissipating,impairments,attenborough,balustrade,emulator,bakhsh,cladding,increments,ascents,workington,qal'eh,winless,categorical,petrel,emphasise,dormer,toros,hijackers,telescopic,solidly,jankovic,cession,gurus,madoff,newry,subsystems,northside,talib,englishmen,farnese,holographic,electives,argonne,scrivener,predated,brugge,nauvoo,catalyses,soared,siddeley,graphically,powerlifting,funicular,sungai,coercive,fusing,uncertainties,locos,acetic,diverge,wedgwood,dressings,tiebreaker,didactic,vyacheslav,acreage,interplanetary,battlecruisers,sunbury,alkaloids,hairpin,automata,wielkie,interdiction,plugins,monkees,nudibranch,esporte,approximations,disabling,powering,characterisation,ecologically,martinsville,termen,perpetuated,lufthansa,ascendancy,motherboard,bolshoi,athanasius,prunus,dilution,invests,nonzero,mendocino,charan,banque,shaheed,counterculture,unita,voivode,hospitalization,vapour,supermarine,resistor,steppes,osnabruck,intermediates,benzodiazepines,sunnyside,privatized,geopolitical,ponta,beersheba,kievan,embody,theoretic,sangh,cartographer,blige,rotors,thruway,battlefields,discernible,demobilized,broodmare,colouration,sagas,policymakers,serialization,augmentation,hoare,frankfurter,transnistria,kinases,detachable,generational,converging,antiaircraft,khaki,bimonthly,coadjutor,arkhangelsk,kannur,buffers,livonian,northwich,enveloped,cysts,yokozuna,herne,beeching,enron,virginian,woollen,excepting,competitively,outtakes,recombinant,hillcrest,clearances,pathe,cumbersome,brasov,u.s.a,likud,christiania,cruciform,hierarchies,wandsworth,lupin,resins,voiceover,sitar,electrochemical,mediacorp,typhus,grenadiers,hepatic,pompeii,weightlifter,bosniak,oxidoreductase,undersecretary,rescuers,ranji,seleucid,analysing,exegesis,tenancy,toure,kristiansand,110th,carillon,minesweepers,poitou,acceded,palladian,redevelop,naismith,rifled,proletariat,shojo,hackensack,harvests,endpoint,kuban,rosenborg,stonehenge,authorisation,jacobean,revocation,compatriots,colliding,undetermined,okayama,acknowledgment,angelou,fresnel,chahar,ethereal,mg/kg,emmet,mobilised,unfavourable,cultura,characterizing,parsonage,skeptics,expressways,rabaul,medea,guardsmen,visakhapatnam,caddo,homophobic,elmwood,encircling,coexistence,contending,seljuk,mycologist,infertility,moliere,insolvent,covenants,underpass,holme,landesliga,workplaces,delinquency,methamphetamine,contrived,tableau,tithes,overlying,usurped,contingents,spares,oligocene,molde,beatification,mordechai,balloting,pampanga,navigators,flowered,debutant,codec,orogeny,newsletters,solon,ambivalent,ubisoft,archdeaconry,harpers,kirkus,jabal,castings,kazhagam,sylhet,yuwen,barnstaple,amidships,causative,isuzu,watchtower,granules,canaveral,remuneration,insurer,payout,horizonte,integrative,attributing,kiwis,skanderbeg,asymmetry,gannett,urbanism,disassembled,unaltered,precluded,melodifestivalen,ascends,plugin,gurkha,bisons,stakeholder,industrialisation,abbotsford,sextet,bustling,uptempo,slavia,choreographers,midwives,haram,javed,gazetteer,subsection,natively,weighting,lysine,meera,redbridge,muchmusic,abruzzo,adjoins,unsustainable,foresters,kbit/s,cosmopterigidae,secularism,poetics,causality,phonograph,estudiantes,ceausescu,universitario,adjoint,applicability,gastropods,nagaland,kentish,mechelen,atalanta,woodpeckers,lombards,gatineau,romansh,avraham,acetylcholine,perturbation,galois,wenceslaus,fuzhou,meandering,dendritic,sacristy,accented,katha,therapeutics,perceives,unskilled,greenhouses,analogues,chaldean,timbre,sloped,volodymyr,sadiq,maghreb,monogram,rearguard,caucuses,mures,metabolite,uyezd,determinism,theosophical,corbet,gaels,disruptions,bicameral,ribosomal,wolseley,clarksville,watersheds,tarsi,radon,milanese,discontinuous,aristotelian,whistleblower,representational,hashim,modestly,localised,atrial,hazara,ravana,troyes,appointees,rubus,morningside,amity,aberdare,ganglia,wests,zbigniew,aerobatic,depopulated,corsican,introspective,twinning,hardtop,shallower,cataract,mesolithic,emblematic,graced,lubrication,republicanism,voronezh,bastions,meissen,irkutsk,oboes,hokkien,sprites,tenet,individualist,capitulated,oakville,dysentery,orientalist,hillsides,keywords,elicited,incised,lagging,apoel,lengthening,attractiveness,marauders,sportswriter,decentralization,boltzmann,contradicts,draftsman,precipitate,solihull,norske,consorts,hauptmann,riflemen,adventists,syndromes,demolishing,customize,continuo,peripherals,seamlessly,linguistically,bhushan,orphanages,paraul,lessened,devanagari,quarto,responders,patronymic,riemannian,altoona,canonization,honouring,geodetic,exemplifies,republica,enzymatic,porters,fairmount,pampa,sufferers,kamchatka,conjugated,coachella,uthman,repositories,copious,headteacher,awami,phoneme,homomorphism,franconian,moorland,davos,quantified,kamloops,quarks,mayoralty,weald,peacekeepers,valerian,particulate,insiders,perthshire,caches,guimaraes,piped,grenadines,kosciuszko,trombonist,artemisia,covariance,intertidal,soybeans,beatified,ellipse,fruiting,deafness,dnipropetrovsk,accrued,zealous,mandala,causation,junius,kilowatt,bakeries,montpelier,airdrie,rectified,bungalows,toleration,debian,pylon,trotskyist,posteriorly,two-and-a-half,herbivorous,islamists,poetical,donne,wodehouse,frome,allium,assimilate,phonemic,minaret,unprofitable,darpa,untenable,leaflet,bitcoin,zahir,thresholds,argentino,jacopo,bespoke,stratified,wellbeing,shiite,basaltic,timberwolves,secrete,taunts,marathons,isomers,carre,consecrators,penobscot,pitcairn,sakha,crosstown,inclusions,impassable,fenders,indre,uscgc,jordi,retinue,logarithmic,pilgrimages,railcar,cashel,blackrock,macroscopic,aligning,tabla,trestle,certify,ronson,palps,dissolves,thickened,silicate,taman,walsingham,hausa,lowestoft,rondo,oleksandr,cuyahoga,retardation,countering,cricketing,holborn,identifiers,hells,geophysics,infighting,sculpting,balaji,webbed,irradiation,runestone,trusses,oriya,sojourn,forfeiture,colonize,exclaimed,eucharistic,lackluster,glazing,northridge,gutenberg,stipulates,macroeconomic,priori,outermost,annular,udinese,insulating,headliner,godel,polytope,megalithic,salix,sharapova,derided,muskegon,braintree,plateaus,confers,autocratic,isomer,interstitial,stamping,omits,kirtland,hatchery,evidences,intifada,111th,podgorica,capua,motivating,nuneaton,jakub,korsakov,amitabh,mundial,monrovia,gluten,predictor,marshalling,d'orleans,levers,touchscreen,brantford,fricative,banishment,descendent,antagonism,ludovico,loudspeakers,formula_37,livelihoods,manassas,steamships,dewsbury,uppermost,humayun,lures,pinnacles,dependents,lecce,clumps,observatories,paleozoic,dedicating,samiti,draughtsman,gauls,incite,infringing,nepean,pythagorean,convents,triumvirate,seigneur,gaiman,vagrant,fossa,byproduct,serrated,renfrewshire,sheltering,achaemenid,dukedom,catchers,sampdoria,platelet,bielefeld,fluctuating,phenomenology,strikeout,ethnology,prospectors,woodworking,tatra,wildfires,meditations,agrippa,fortescue,qureshi,wojciech,methyltransferase,accusative,saatchi,amerindian,volcanism,zeeland,toyama,vladimirovich,allege,polygram,redox,budgeted,advisories,nematode,chipset,starscream,tonbridge,hardening,shales,accompanist,paraded,phonographic,whitefish,sportive,audiobook,kalisz,hibernation,latif,duels,ps200,coxeter,nayak,safeguarding,cantabria,minesweeping,zeiss,dunams,catholicos,sawtooth,ontological,nicobar,bridgend,unclassified,intrinsically,hanoverian,rabbitohs,kenseth,alcalde,northumbrian,raritan,septuagint,presse,sevres,origen,dandenong,peachtree,intersected,impeded,usages,hippodrome,novara,trajectories,customarily,yardage,inflected,yanow,kalan,taverns,liguria,librettist,intermarriage,1760s,courant,gambier,infanta,ptolemaic,ukulele,haganah,sceptical,manchukuo,plexus,implantation,hilal,intersex,efficiencies,arbroath,hagerstown,adelphi,diario,marais,matti,lifes,coining,modalities,divya,bletchley,conserving,ivorian,mithridates,generative,strikeforce,laymen,toponymy,pogrom,satya,meticulously,agios,dufferin,yaakov,fortnightly,cargoes,deterrence,prefrontal,przemysl,mitterrand,commemorations,chatsworth,gurdwara,abuja,chakraborty,badajoz,geometries,artiste,diatonic,ganglion,presides,marymount,nanak,cytokines,feudalism,storks,rowers,widens,politico,evangelicals,assailants,pittsfield,allowable,bijapur,telenovelas,dichomeris,glenelg,herbivores,keita,inked,radom,fundraisers,constantius,boheme,portability,komnenos,crystallography,derrida,moderates,tavistock,fateh,spacex,disjoint,bristles,commercialized,interwoven,empirically,regius,bulacan,newsday,showa,radicalism,yarrow,pleura,sayed,structuring,cotes,reminiscences,acetyl,edicts,escalators,aomori,encapsulated,legacies,bunbury,placings,fearsome,postscript,powerfully,keighley,hildesheim,amicus,crevices,deserters,benelux,aurangabad,freeware,ioannis,carpathians,chirac,seceded,prepaid,landlocked,naturalised,yanukovych,soundscan,blotch,phenotypic,determinants,twente,dictatorial,giessen,composes,recherche,pathophysiology,inventories,ayurveda,elevating,gravestone,degeneres,vilayet,popularizing,spartanburg,bloemfontein,previewed,renunciation,genotype,ogilvy,tracery,blacklisted,emissaries,diploid,disclosures,tupolev,shinjuku,antecedents,pennine,braganza,bhattacharya,countable,spectroscopic,ingolstadt,theseus,corroborated,compounding,thrombosis,extremadura,medallions,hasanabad,lambton,perpetuity,glycol,besancon,palaiologos,pandey,caicos,antecedent,stratum,laserdisc,novitiate,crowdfunding,palatal,sorceress,dassault,toughness,celle,cezanne,vientiane,tioga,hander,crossbar,gisborne,cursor,inspectorate,serif,praia,sphingidae,nameplate,psalter,ivanovic,sitka,equalised,mutineers,sergius,outgrowth,creationism,haredi,rhizomes,predominate,undertakings,vulgate,hydrothermal,abbeville,geodesic,kampung,physiotherapy,unauthorised,asteraceae,conservationist,minoan,supersport,mohammadabad,cranbrook,mentorship,legitimately,marshland,datuk,louvain,potawatomi,carnivores,levies,lyell,hymnal,regionals,tinto,shikoku,conformal,wanganui,beira,lleida,standstill,deloitte,formula_40,corbusier,chancellery,mixtapes,airtime,muhlenberg,formula_39,bracts,thrashers,prodigious,gironde,chickamauga,uyghurs,substitutions,pescara,batangas,gregarious,gijon,paleo,mathura,pumas,proportionally,hawkesbury,yucca,kristiania,funimation,fluted,eloquence,mohun,aftermarket,chroniclers,futurist,nonconformist,branko,mannerisms,lesnar,opengl,altos,retainers,ashfield,shelbourne,sulaiman,divisie,gwent,locarno,lieder,minkowski,bivalve,redeployed,cartography,seaway,bookings,decays,ostend,antiquaries,pathogenesis,formula_38,chrysalis,esperance,valli,motogp,homelands,bridged,bloor,ghazal,vulgaris,baekje,prospector,calculates,debtors,hesperiidae,titian,returner,landgrave,frontenac,kelowna,pregame,castelo,caius,canoeist,watercolours,winterthur,superintendents,dissonance,dubstep,adorn,matic,salih,hillel,swordsman,flavoured,emitter,assays,monongahela,deeded,brazzaville,sufferings,babylonia,fecal,umbria,astrologer,gentrification,frescos,phasing,zielona,ecozone,candido,manoj,quadrilateral,gyula,falsetto,prewar,puntland,infinitive,contraceptive,bakhtiari,ohrid,socialization,tailplane,evoking,havelock,macapagal,plundering,104th,keynesian,templars,phrasing,morphologically,czestochowa,humorously,catawba,burgas,chiswick,ellipsoid,kodansha,inwards,gautama,katanga,orthopaedic,heilongjiang,sieges,outsourced,subterminal,vijayawada,hares,oration,leitrim,ravines,manawatu,cryogenic,tracklisting,about.com,ambedkar,degenerated,hastened,venturing,lobbyists,shekhar,typefaces,northcote,rugen,'good,ornithology,asexual,hemispheres,unsupported,glyphs,spoleto,epigenetic,musicianship,donington,diogo,kangxi,bisected,polymorphism,megawatt,salta,embossed,cheetahs,cruzeiro,unhcr,aristide,rayleigh,maturing,indonesians,noire,llano,ffffff,camus,purges,annales,convair,apostasy,algol,phage,apaches,marketers,aldehyde,pompidou,kharkov,forgeries,praetorian,divested,retrospectively,gornji,scutellum,bitumen,pausanias,magnification,imitations,nyasaland,geographers,floodlights,athlone,hippolyte,expositions,clarinetist,razak,neutrinos,rotax,sheykh,plush,interconnect,andalus,cladogram,rudyard,resonator,granby,blackfriars,placido,windscreen,sahel,minamoto,haida,cations,emden,blackheath,thematically,blacklist,pawel,disseminating,academical,undamaged,raytheon,harsher,powhatan,ramachandran,saddles,paderborn,capping,zahra,prospecting,glycine,chromatin,profane,banska,helmand,okinawan,dislocation,oscillators,insectivorous,foyle,gilgit,autonomic,tuareg,sluice,pollinated,multiplexed,granary,narcissus,ranchi,staines,nitra,goalscoring,midwifery,pensioners,algorithmic,meetinghouse,biblioteca,besar,narva,angkor,predate,lohan,cyclical,detainee,occipital,eventing,faisalabad,dartmoor,kublai,courtly,resigns,radii,megachilidae,cartels,shortfall,xhosa,unregistered,benchmarks,dystopian,bulkhead,ponsonby,jovanovic,accumulates,papuan,bhutanese,intuitively,gotaland,headliners,recursion,dejan,novellas,diphthongs,imbued,withstood,analgesic,amplify,powertrain,programing,maidan,alstom,affirms,eradicated,summerslam,videogame,molla,severing,foundered,gallium,atmospheres,desalination,shmuel,howmeh,catolica,bossier,reconstructing,isolates,lyase,tweets,unconnected,tidewater,divisible,cohorts,orebro,presov,furnishing,folklorist,simplifying,centrale,notations,factorization,monarchies,deepen,macomb,facilitation,hennepin,declassified,redrawn,microprocessors,preliminaries,enlarging,timeframe,deutschen,shipbuilders,patiala,ferrous,aquariums,genealogies,vieux,unrecognized,bridgwater,tetrahedral,thule,resignations,gondwana,registries,agder,dataset,felled,parva,analyzer,worsen,coleraine,columella,blockaded,polytechnique,reassembled,reentry,narvik,greys,nigra,knockouts,bofors,gniezno,slotted,hamasaki,ferrers,conferring,thirdly,domestication,photojournalist,universality,preclude,ponting,halved,thereupon,photosynthetic,ostrava,mismatch,pangasinan,intermediaries,abolitionists,transited,headings,ustase,radiological,interconnection,dabrowa,invariants,honorius,preferentially,chantilly,marysville,dialectical,antioquia,abstained,gogol,dirichlet,muricidae,symmetries,reproduces,brazos,fatwa,bacillus,ketone,paribas,chowk,multiplicative,dermatitis,mamluks,devotes,adenosine,newbery,meditative,minefields,inflection,oxfam,conwy,bystrica,imprints,pandavas,infinitesimal,conurbation,amphetamine,reestablish,furth,edessa,injustices,frankston,serjeant,4x200,khazar,sihanouk,longchamp,stags,pogroms,coups,upperparts,endpoints,infringed,nuanced,summing,humorist,pacification,ciaran,jamaat,anteriorly,roddick,springboks,faceted,hypoxia,rigorously,cleves,fatimid,ayurvedic,tabled,ratna,senhora,maricopa,seibu,gauguin,holomorphic,campgrounds,amboy,coordinators,ponderosa,casemates,ouachita,nanaimo,mindoro,zealander,rimsky,cluny,tomaszow,meghalaya,caetano,tilak,roussillon,landtag,gravitation,dystrophy,cephalopods,trombones,glens,killarney,denominated,anthropogenic,pssas,roubaix,carcasses,montmorency,neotropical,communicative,rabindranath,ordinated,separable,overriding,surged,sagebrush,conciliation,codice_4,durrani,phosphatase,qadir,votive,revitalized,taiyuan,tyrannosaurus,graze,slovaks,nematodes,environmentalism,blockhouse,illiteracy,schengen,ecotourism,alternation,conic,wields,hounslow,blackfoot,kwame,ambulatory,volhynia,hordaland,croton,piedras,rohit,drava,conceptualized,birla,illustrative,gurgaon,barisal,tutsi,dezong,nasional,polje,chanson,clarinets,krasnoyarsk,aleksandrovich,cosmonaut,d'este,palliative,midseason,silencing,wardens,durer,girders,salamanders,torrington,supersonics,lauda,farid,circumnavigation,embankments,funnels,bajnoksag,lorries,cappadocia,jains,warringah,retirees,burgesses,equalization,cusco,ganesan,algal,amazonian,lineups,allocating,conquerors,usurper,mnemonic,predating,brahmaputra,ahmadabad,maidenhead,numismatic,subregion,encamped,reciprocating,freebsd,irgun,tortoises,governorates,zionists,airfoil,collated,ajmer,fiennes,etymological,polemic,chadian,clerestory,nordiques,fluctuated,calvados,oxidizing,trailhead,massena,quarrels,dordogne,tirunelveli,pyruvate,pulsed,athabasca,sylar,appointee,serer,japonica,andronikos,conferencing,nicolaus,chemin,ascertained,incited,woodbine,helices,hospitalised,emplacements,to/from,orchestre,tyrannical,pannonia,methodism,pop/rock,shibuya,berbers,despot,seaward,westpac,separator,perpignan,alamein,judeo,publicize,quantization,ethniki,gracilis,menlo,offside,oscillating,unregulated,succumbing,finnmark,metrical,suleyman,raith,sovereigns,bundesstrasse,kartli,fiduciary,darshan,foramen,curler,concubines,calvinism,larouche,bukhara,sophomores,mohanlal,lutheranism,monomer,eamonn,'black,uncontested,immersive,tutorials,beachhead,bindings,permeable,postulates,comite,transformative,indiscriminate,hofstra,associacao,amarna,dermatology,lapland,aosta,babur,unambiguous,formatting,schoolboys,gwangju,superconducting,replayed,adherent,aureus,compressors,forcible,spitsbergen,boulevards,budgeting,nossa,annandale,perumal,interregnum,sassoon,kwajalein,greenbrier,caldas,triangulation,flavius,increment,shakhtar,nullified,pinfall,nomen,microfinance,depreciation,cubist,steeper,splendour,gruppe,everyman,chasers,campaigners,bridle,modality,percussive,darkly,capes,velar,picton,triennial,factional,padang,toponym,betterment,norepinephrine,112th,estuarine,diemen,warehousing,morphism,ideologically,pairings,immunization,crassus,exporters,sefer,flocked,bulbous,deseret,booms,calcite,bohol,elven,groot,pulau,citigroup,wyeth,modernizing,layering,pastiche,complies,printmaker,condenser,theropod,cassino,oxyrhynchus,akademie,trainings,lowercase,coxae,parte,chetniks,pentagonal,keselowski,monocoque,morsi,reticulum,meiosis,clapboard,recoveries,tinge,an/fps,revista,sidon,livre,epidermis,conglomerates,kampong,congruent,harlequins,tergum,simplifies,epidemiological,underwriting,tcp/ip,exclusivity,multidimensional,mysql,columbine,ecologist,hayat,sicilies,levees,handset,aesop,usenet,pacquiao,archiving,alexandrian,compensatory,broadsheet,annotation,bahamian,d'affaires,interludes,phraya,shamans,marmara,customizable,immortalized,ambushes,chlorophyll,diesels,emulsion,rheumatoid,voluminous,screenwriters,tailoring,sedis,runcorn,democratization,bushehr,anacostia,constanta,antiquary,sixtus,radiate,advaita,antimony,acumen,barristers,reichsbahn,ronstadt,symbolist,pasig,cursive,secessionist,afrikaner,munnetra,inversely,adsorption,syllabic,moltke,idioms,midline,olimpico,diphosphate,cautions,radziwill,mobilisation,copelatus,trawlers,unicron,bhaskar,financiers,minimalism,derailment,marxists,oireachtas,abdicate,eigenvalue,zafar,vytautas,ganguly,chelyabinsk,telluride,subordination,ferried,dived,vendee,pictish,dimitrov,expiry,carnation,cayley,magnitudes,lismore,gretna,sandwiched,unmasked,sandomierz,swarthmore,tetra,nanyang,pevsner,dehradun,mormonism,rashi,complying,seaplanes,ningbo,cooperates,strathcona,mornington,mestizo,yulia,edgbaston,palisade,ethno,polytopes,espirito,tymoshenko,pronunciations,paradoxical,taichung,chipmunks,erhard,maximise,accretion,kanda,`abdu'l,narrowest,umpiring,mycenaean,divisor,geneticist,ceredigion,barque,hobbyists,equates,auxerre,spinose,cheil,sweetwater,guano,carboxylic,archiv,tannery,cormorant,agonists,fundacion,anbar,tunku,hindrance,meerut,concordat,secunderabad,kachin,achievable,murfreesboro,comprehensively,forges,broadest,synchronised,speciation,scapa,aliyev,conmebol,tirelessly,subjugated,pillaged,udaipur,defensively,lakhs,stateless,haasan,headlamps,patterning,podiums,polyphony,mcmurdo,mujer,vocally,storeyed,mucosa,multivariate,scopus,minimizes,formalised,certiorari,bourges,populate,overhanging,gaiety,unreserved,borromeo,woolworths,isotopic,bashar,purify,vertebra,medan,juxtaposition,earthwork,elongation,chaudhary,schematic,piast,steeped,nanotubes,fouls,achaea,legionnaires,abdur,qmjhl,embraer,hardback,centerville,ilocos,slovan,whitehorse,mauritian,moulding,mapuche,donned,provisioning,gazprom,jonesboro,audley,lightest,calyx,coldwater,trigonometric,petroglyphs,psychoanalyst,congregate,zambezi,fissure,supervises,bexley,etobicoke,wairarapa,tectonics,emphasises,formula_41,debugging,linfield,spatially,ionizing,ungulates,orinoco,clades,erlangen,news/talk,vols.,ceara,yakovlev,finsbury,entanglement,fieldhouse,graphene,intensifying,grigory,keyong,zacatecas,ninian,allgemeine,keswick,societa,snorri,femininity,najib,monoclonal,guyanese,postulate,huntly,abbeys,machinist,yunus,emphasising,ishaq,urmia,bremerton,pretenders,lumiere,thoroughfares,chikara,dramatized,metathorax,taiko,transcendence,wycliffe,retrieves,umpired,steuben,racehorses,taylors,kuznetsov,montezuma,precambrian,canopies,gaozong,propodeum,disestablished,retroactive,shoreham,rhizome,doubleheader,clinician,diwali,quartzite,shabaab,agassiz,despatched,stormwater,luxemburg,callao,universidade,courland,skane,glyph,dormers,witwatersrand,curacy,qualcomm,nansen,entablature,lauper,hausdorff,lusaka,ruthenian,360deg,cityscape,douai,vaishnava,spars,vaulting,rationalist,gygax,sequestration,typology,pollinates,accelerators,leben,colonials,cenotaph,imparted,carthaginians,equaled,rostrum,gobind,bodhisattva,oberst,bicycling,arabi,sangre,biophysics,hainaut,vernal,lunenburg,apportioned,finches,lajos,nenad,repackaged,zayed,nikephoros,r.e.m,swaminarayan,gestalt,unplaced,crags,grohl,sialkot,unsaturated,gwinnett,linemen,forays,palakkad,writs,instrumentalists,aircrews,badged,terrapins,180deg,oneness,commissariat,changi,pupation,circumscribed,contador,isotropic,administrated,fiefs,nimes,intrusions,minoru,geschichte,nadph,tainan,changchun,carbondale,frisia,swapo,evesham,hawai'i,encyclopedic,transporters,dysplasia,formula_42,onsite,jindal,guetta,judgements,narbonne,permissions,paleogene,rationalism,vilna,isometric,subtracted,chattahoochee,lamina,missa,greville,pervez,lattices,persistently,crystallization,timbered,hawaiians,fouling,interrelated,masood,ripening,stasi,gamal,visigothic,warlike,cybernetics,tanjung,forfar,cybernetic,karelian,brooklands,belfort,greifswald,campeche,inexplicably,refereeing,understory,uninterested,prius,collegiately,sefid,sarsfield,categorize,biannual,elsevier,eisteddfod,declension,autonoma,procuring,misrepresentation,novelization,bibliographic,shamanism,vestments,potash,eastleigh,ionized,turan,lavishly,scilly,balanchine,importers,parlance,'that,kanyakumari,synods,mieszko,crossovers,serfdom,conformational,legislated,exclave,heathland,sadar,differentiates,propositional,konstantinos,photoshop,manche,vellore,appalachia,orestes,taiga,exchanger,grozny,invalidated,baffin,spezia,staunchly,eisenach,robustness,virtuosity,ciphers,inlets,bolagh,understandings,bosniaks,parser,typhoons,sinan,luzerne,webcomic,subtraction,jhelum,businessweek,ceske,refrained,firebox,mitigated,helmholtz,dilip,eslamabad,metalwork,lucan,apportionment,provident,gdynia,schooners,casement,danse,hajjiabad,benazir,buttress,anthracite,newsreel,wollaston,dispatching,cadastral,riverboat,provincetown,nantwich,missal,irreverent,juxtaposed,darya,ennobled,electropop,stereoscopic,maneuverability,laban,luhansk,udine,collectibles,haulage,holyrood,materially,supercharger,gorizia,shkoder,townhouses,pilate,layoffs,folkloric,dialectic,exuberant,matures,malla,ceuta,citizenry,crewed,couplet,stopover,transposition,tradesmen,antioxidant,amines,utterance,grahame,landless,isere,diction,appellant,satirist,urbino,intertoto,subiaco,antonescu,nehemiah,ubiquitin,emcee,stourbridge,fencers,103rd,wranglers,monteverdi,watertight,expounded,xiamen,manmohan,pirie,threefold,antidepressant,sheboygan,grieg,cancerous,diverging,bernini,polychrome,fundamentalism,bihari,critiqued,cholas,villers,tendulkar,dafydd,vastra,fringed,evangelization,episcopalian,maliki,sana'a,ashburton,trianon,allegany,heptathlon,insufficiently,panelists,pharrell,hexham,amharic,fertilized,plumes,cistern,stratigraphy,akershus,catalans,karoo,rupee,minuteman,quantification,wigmore,leutnant,metanotum,weeknights,iridescent,extrasolar,brechin,deuterium,kuching,lyricism,astrakhan,brookhaven,euphorbia,hradec,bhagat,vardar,aylmer,positron,amygdala,speculators,unaccompanied,debrecen,slurry,windhoek,disaffected,rapporteur,mellitus,blockers,fronds,yatra,sportsperson,precession,physiologist,weeknight,pidgin,pharma,condemns,standardize,zetian,tibor,glycoprotein,emporia,cormorants,amalie,accesses,leonhard,denbighshire,roald,116th,will.i.am,symbiosis,privatised,meanders,chemnitz,jabalpur,shing,secede,ludvig,krajina,homegrown,snippets,sasanian,euripides,peder,cimarron,streaked,graubunden,kilimanjaro,mbeki,middleware,flensburg,bukovina,lindwall,marsalis,profited,abkhaz,polis,camouflaged,amyloid,morgantown,ovoid,bodleian,morte,quashed,gamelan,juventud,natchitoches,storyboard,freeview,enumeration,cielo,preludes,bulawayo,1600s,olympiads,multicast,faunal,asura,reinforces,puranas,ziegfeld,handicraft,seamount,kheil,noche,hallmarks,dermal,colorectal,encircle,hessen,umbilicus,sunnis,leste,unwin,disclosing,superfund,montmartre,refuelling,subprime,kolhapur,etiology,bismuth,laissez,vibrational,mazar,alcoa,rumsfeld,recurve,ticonderoga,lionsgate,onlookers,homesteads,filesystem,barometric,kingswood,biofuel,belleza,moshav,occidentalis,asymptomatic,northeasterly,leveson,huygens,numan,kingsway,primogeniture,toyotomi,yazoo,limpets,greenbelt,booed,concurrence,dihedral,ventrites,raipur,sibiu,plotters,kitab,109th,trackbed,skilful,berthed,effendi,fairing,sephardi,mikhailovich,lockyer,wadham,invertible,paperbacks,alphabetic,deuteronomy,constitutive,leathery,greyhounds,estoril,beechcraft,poblacion,cossidae,excreted,flamingos,singha,olmec,neurotransmitters,ascoli,nkrumah,forerunners,dualism,disenchanted,benefitted,centrum,undesignated,noida,o'donoghue,collages,egrets,egmont,wuppertal,cleave,montgomerie,pseudomonas,srinivasa,lymphatic,stadia,resold,minima,evacuees,consumerism,ronde,biochemist,automorphism,hollows,smuts,improvisations,vespasian,bream,pimlico,eglin,colne,melancholic,berhad,ousting,saale,notaulices,ouest,hunslet,tiberias,abdomina,ramsgate,stanislas,donbass,pontefract,sucrose,halts,drammen,chelm,l'arc,taming,trolleys,konin,incertae,licensees,scythian,giorgos,dative,tanglewood,farmlands,o'keeffe,caesium,romsdal,amstrad,corte,oglethorpe,huntingdonshire,magnetization,adapts,zamosc,shooto,cuttack,centrepiece,storehouse,winehouse,morbidity,woodcuts,ryazan,buddleja,buoyant,bodmin,estero,austral,verifiable,periyar,christendom,curtail,shura,kaifeng,cotswold,invariance,seafaring,gorica,androgen,usman,seabird,forecourt,pekka,juridical,audacious,yasser,cacti,qianlong,polemical,d'amore,espanyol,distrito,cartographers,pacifism,serpents,backa,nucleophilic,overturning,duplicates,marksman,oriente,vuitton,oberleutnant,gielgud,gesta,swinburne,transfiguration,1750s,retaken,celje,fredrikstad,asuka,cropping,mansard,donates,blacksmiths,vijayanagara,anuradhapura,germinate,betis,foreshore,jalandhar,bayonets,devaluation,frazione,ablaze,abidjan,approvals,homeostasis,corollary,auden,superfast,redcliffe,luxembourgish,datum,geraldton,printings,ludhiana,honoree,synchrotron,invercargill,hurriedly,108th,three-and-a-half,colonist,bexar,limousin,bessemer,ossetian,nunataks,buddhas,rebuked,thais,tilburg,verdicts,interleukin,unproven,dordrecht,solent,acclamation,muammar,dahomey,operettas,4x400,arrears,negotiators,whitehaven,apparitions,armoury,psychoactive,worshipers,sculptured,elphinstone,airshow,kjell,o'callaghan,shrank,professorships,predominance,subhash,coulomb,sekolah,retrofitted,samos,overthrowing,vibrato,resistors,palearctic,datasets,doordarshan,subcutaneous,compiles,immorality,patchwork,trinidadian,glycogen,pronged,zohar,visigoths,freres,akram,justo,agora,intakes,craiova,playwriting,bukhari,militarism,iwate,petitioners,harun,wisla,inefficiency,vendome,ledges,schopenhauer,kashi,entombed,assesses,tenn.,noumea,baguio,carex,o'donovan,filings,hillsdale,conjectures,blotches,annuals,lindisfarne,negated,vivek,angouleme,trincomalee,cofactor,verkhovna,backfield,twofold,automaker,rudra,freighters,darul,gharana,busway,formula_43,plattsburgh,portuguesa,showrunner,roadmap,valenciennes,erdos,biafra,spiritualism,transactional,modifies,carne,107th,cocos,gcses,tiverton,radiotherapy,meadowlands,gunma,srebrenica,foxtel,authenticated,enslavement,classicist,klaipeda,minstrels,searchable,infantrymen,incitement,shiga,nadp+,urals,guilders,banquets,exteriors,counterattacks,visualized,diacritics,patrimony,svensson,transepts,prizren,telegraphy,najaf,emblazoned,coupes,effluent,ragam,omani,greensburg,taino,flintshire,cd/dvd,lobbies,narrating,cacao,seafarers,bicolor,collaboratively,suraj,floodlit,sacral,puppetry,tlingit,malwa,login,motionless,thien,overseers,vihar,golem,specializations,bathhouse,priming,overdubs,winningest,archetypes,uniao,acland,creamery,slovakian,lithographs,maryborough,confidently,excavating,stillborn,ramallah,audiencia,alava,ternary,hermits,rostam,bauxite,gawain,lothair,captions,gulfstream,timelines,receded,mediating,petain,bastia,rudbar,bidders,disclaimer,shrews,tailings,trilobites,yuriy,jamil,demotion,gynecology,rajinikanth,madrigals,ghazni,flycatchers,vitebsk,bizet,computationally,kashgar,refinements,frankford,heralds,europe/africa,levante,disordered,sandringham,queues,ransacked,trebizond,verdes,comedie,primitives,figurine,organists,culminate,gosport,coagulation,ferrying,hoyas,polyurethane,prohibitive,midfielders,ligase,progesterone,defectors,sweetened,backcountry,diodorus,waterside,nieuport,khwaja,jurong,decried,gorkha,ismaili,300th,octahedral,kindergartens,paseo,codification,notifications,disregarding,risque,reconquista,shortland,atolls,texarkana,perceval,d'etudes,kanal,herbicides,tikva,nuova,gatherer,dissented,soweto,dexterity,enver,bacharach,placekicker,carnivals,automate,maynooth,symplectic,chetnik,militaire,upanishads,distributive,strafing,championing,moiety,miliband,blackadder,enforceable,maung,dimer,stadtbahn,diverges,obstructions,coleophoridae,disposals,shamrocks,aural,banca,bahru,coxed,grierson,vanadium,watermill,radiative,ecoregions,berets,hariri,bicarbonate,evacuations,mallee,nairn,rushden,loggia,slupsk,satisfactorily,milliseconds,cariboo,reine,cyclo,pigmentation,postmodernism,aqueducts,vasari,bourgogne,dilemmas,liquefied,fluminense,alloa,ibaraki,tenements,kumasi,humerus,raghu,labours,putsch,soundcloud,bodybuilder,rakyat,domitian,pesaro,translocation,sembilan,homeric,enforcers,tombstones,lectureship,rotorua,salamis,nikolaos,inferences,superfortress,lithgow,surmised,undercard,tarnow,barisan,stingrays,federacion,coldstream,haverford,ornithological,heerenveen,eleazar,jyoti,murali,bamako,riverbed,subsidised,theban,conspicuously,vistas,conservatorium,madrasa,kingfishers,arnulf,credential,syndicalist,sheathed,discontinuity,prisms,tsushima,coastlines,escapees,vitis,optimizing,megapixel,overground,embattled,halide,sprinters,buoys,mpumalanga,peculiarities,106th,roamed,menezes,macao,prelates,papyri,freemen,dissertations,irishmen,pooled,sverre,reconquest,conveyance,subjectivity,asturian,circassian,formula_45,comdr,thickets,unstressed,monro,passively,harmonium,moveable,dinar,carlsson,elysees,chairing,b'nai,confusingly,kaoru,convolution,godolphin,facilitator,saxophones,eelam,jebel,copulation,anions,livres,licensure,pontypridd,arakan,controllable,alessandria,propelling,stellenbosch,tiber,wolka,liberators,yarns,d'azur,tsinghua,semnan,amhara,ablation,melies,tonality,historique,beeston,kahne,intricately,sonoran,robespierre,gyrus,boycotts,defaulted,infill,maranhao,emigres,framingham,paraiba,wilhelmshaven,tritium,skyway,labial,supplementation,possessor,underserved,motets,maldivian,marrakech,quays,wikimedia,turbojet,demobilization,petrarch,encroaching,sloops,masted,karbala,corvallis,agribusiness,seaford,stenosis,hieronymus,irani,superdraft,baronies,cortisol,notability,veena,pontic,cyclin,archeologists,newham,culled,concurring,aeolian,manorial,shouldered,fords,philanthropists,105th,siddharth,gotthard,halim,rajshahi,jurchen,detritus,practicable,earthenware,discarding,travelogue,neuromuscular,elkhart,raeder,zygmunt,metastasis,internees,102nd,vigour,upmarket,summarizing,subjunctive,offsets,elizabethtown,udupi,pardubice,repeaters,instituting,archaea,substandard,technische,linga,anatomist,flourishes,velika,tenochtitlan,evangelistic,fitchburg,springbok,cascading,hydrostatic,avars,occasioned,filipina,perceiving,shimbun,africanus,consternation,tsing,optically,beitar,45deg,abutments,roseville,monomers,huelva,lotteries,hypothalamus,internationalist,electromechanical,hummingbirds,fibreglass,salaried,dramatists,uncovers,invokes,earners,excretion,gelding,ancien,aeronautica,haverhill,stour,ittihad,abramoff,yakov,ayodhya,accelerates,industrially,aeroplanes,deleterious,dwelt,belvoir,harpalus,atpase,maluku,alasdair,proportionality,taran,epistemological,interferometer,polypeptide,adjudged,villager,metastatic,marshalls,madhavan,archduchess,weizmann,kalgoorlie,balan,predefined,sessile,sagaing,brevity,insecticide,psychosocial,africana,steelworks,aether,aquifers,belem,mineiro,almagro,radiators,cenozoic,solute,turbocharger,invicta,guested,buccaneer,idolatry,unmatched,paducah,sinestro,dispossessed,conforms,responsiveness,cyanobacteria,flautist,procurator,complementing,semifinalist,rechargeable,permafrost,cytokine,refuges,boomed,gelderland,franchised,jinan,burnie,doubtless,randomness,colspan=12,angra,ginebra,famers,nuestro,declarative,roughness,lauenburg,motile,rekha,issuer,piney,interceptors,napoca,gipsy,formulaic,formula_44,viswanathan,ebrahim,thessalonica,galeria,muskogee,unsold,html5,taito,mobutu,icann,carnarvon,fairtrade,morphisms,upsilon,nozzles,fabius,meander,murugan,strontium,episcopacy,sandinista,parasol,attenuated,bhima,primeval,panay,ordinator,negara,osteoporosis,glossop,ebook,paradoxically,grevillea,modoc,equating,phonetically,legumes,covariant,dorje,quatre,bruxelles,pyroclastic,shipbuilder,zhaozong,obscuring,sveriges,tremolo,extensible,barrack,multnomah,hakon,chaharmahal,parsing,volumetric,astrophysical,glottal,combinatorics,freestanding,encoder,paralysed,cavalrymen,taboos,heilbronn,orientalis,lockport,marvels,ozawa,dispositions,waders,incurring,saltire,modulate,papilio,phenol,intermedia,rappahannock,plasmid,fortify,phenotypes,transiting,correspondences,leaguer,larnaca,incompatibility,mcenroe,deeming,endeavoured,aboriginals,helmed,salar,arginine,werke,ferrand,expropriated,delimited,couplets,phoenicians,petioles,ouster,anschluss,protectionist,plessis,urchins,orquesta,castleton,juniata,bittorrent,fulani,donji,mykola,rosemont,chandos,scepticism,signer,chalukya,wicketkeeper,coquitlam,programmatic,o'brian,carteret,urology,steelhead,paleocene,konkan,bettered,venkatesh,surfacing,longitudinally,centurions,popularization,yazid,douro,widths,premios,leonards,gristmill,fallujah,arezzo,leftists,ecliptic,glycerol,inaction,disenfranchised,acrimonious,depositing,parashah,cockatoo,marechal,bolzano,chios,cablevision,impartiality,pouches,thickly,equities,bentinck,emotive,boson,ashdown,conquistadors,parsi,conservationists,reductive,newlands,centerline,ornithologists,waveguide,nicene,philological,hemel,setanta,masala,aphids,convening,casco,matrilineal,chalcedon,orthographic,hythe,replete,damming,bolivarian,admixture,embarks,borderlands,conformed,nagarjuna,blenny,chaitanya,suwon,shigeru,tatarstan,lingayen,rejoins,grodno,merovingian,hardwicke,puducherry,prototyping,laxmi,upheavals,headquarter,pollinators,bromine,transom,plantagenet,arbuthnot,chidambaram,woburn,osamu,panelling,coauthored,zhongshu,hyaline,omissions,aspergillus,offensively,electrolytic,woodcut,sodom,intensities,clydebank,piotrkow,supplementing,quipped,focke,harbinger,positivism,parklands,wolfenbuttel,cauca,tryptophan,taunus,curragh,tsonga,remand,obscura,ashikaga,eltham,forelimbs,analogs,trnava,observances,kailash,antithesis,ayumi,abyssinia,dorsally,tralee,pursuers,misadventures,padova,perot,mahadev,tarim,granth,licenced,compania,patuxent,baronial,korda,cochabamba,codices,karna,memorialized,semaphore,playlists,mandibular,halal,sivaji,scherzinger,stralsund,foundries,ribosome,mindfulness,nikolayevich,paraphyletic,newsreader,catalyze,ioannina,thalamus,gbit/s,paymaster,sarab,500th,replenished,gamepro,cracow,formula_46,gascony,reburied,lessing,easement,transposed,meurthe,satires,proviso,balthasar,unbound,cuckoos,durbar,louisbourg,cowes,wholesalers,manet,narita,xiaoping,mohamad,illusory,cathal,reuptake,alkaloid,tahrir,mmorpg,underlies,anglicanism,repton,aharon,exogenous,buchenwald,indigent,odostomia,milled,santorum,toungoo,nevsky,steyr,urbanisation,darkseid,subsonic,canaanite,akiva,eglise,dentition,mediators,cirencester,peloponnesian,malmesbury,durres,oerlikon,tabulated,saens,canaria,ischemic,esterhazy,ringling,centralization,walthamstow,nalanda,lignite,takht,leninism,expiring,circe,phytoplankton,promulgation,integrable,breeches,aalto,menominee,borgo,scythians,skrull,galleon,reinvestment,raglan,reachable,liberec,airframes,electrolysis,geospatial,rubiaceae,interdependence,symmetrically,simulcasts,keenly,mauna,adipose,zaidi,fairport,vestibular,actuators,monochromatic,literatures,congestive,sacramental,atholl,skytrain,tycho,tunings,jamia,catharina,modifier,methuen,tapings,infiltrating,colima,grafting,tauranga,halides,pontificate,phonetics,koper,hafez,grooved,kintetsu,extrajudicial,linkoping,cyberpunk,repetitions,laurentian,parnu,bretton,darko,sverdlovsk,foreshadowed,akhenaten,rehnquist,gosford,coverts,pragmatism,broadleaf,ethiopians,instated,mediates,sodra,opulent,descriptor,enugu,shimla,leesburg,officership,giffard,refectory,lusitania,cybermen,fiume,corus,tydfil,lawrenceville,ocala,leviticus,burghers,ataxia,richthofen,amicably,acoustical,watling,inquired,tiempo,multiracial,parallelism,trenchard,tokyopop,germanium,usisl,philharmonia,shapur,jacobites,latinized,sophocles,remittances,o'farrell,adder,dimitrios,peshwa,dimitar,orlov,outstretched,musume,satish,dimensionless,serialised,baptisms,pagasa,antiviral,1740s,quine,arapaho,bombardments,stratosphere,ophthalmic,injunctions,carbonated,nonviolence,asante,creoles,sybra,boilermakers,abington,bipartite,permissive,cardinality,anheuser,carcinogenic,hohenlohe,surinam,szeged,infanticide,generically,floorball,'white,automakers,cerebellar,homozygous,remoteness,effortlessly,allude,'great,headmasters,minting,manchurian,kinabalu,wemyss,seditious,widgets,marbled,almshouses,bards,subgenres,tetsuya,faulting,kickboxer,gaulish,hoseyn,malton,fluvial,questionnaires,mondale,downplayed,traditionalists,vercelli,sumatran,landfills,gamesradar,exerts,franciszek,unlawfully,huesca,diderot,libertarians,professorial,laane,piecemeal,conidae,taiji,curatorial,perturbations,abstractions,szlachta,watercraft,mullah,zoroastrianism,segmental,khabarovsk,rectors,affordability,scuola,diffused,stena,cyclonic,workpiece,romford,'little,jhansi,stalag,zhongshan,skipton,maracaibo,bernadotte,thanet,groening,waterville,encloses,sahrawi,nuffield,moorings,chantry,annenberg,islay,marchers,tenses,wahid,siegen,furstenberg,basques,resuscitation,seminarians,tympanum,gentiles,vegetarianism,tufted,venkata,fantastical,pterophoridae,machined,superposition,glabrous,kaveri,chicane,executors,phyllonorycter,bidirectional,jasta,undertones,touristic,majapahit,navratilova,unpopularity,barbadian,tinian,webcast,hurdler,rigidly,jarrah,staphylococcus,igniting,irrawaddy,stabilised,airstrike,ragas,wakayama,energetically,ekstraklasa,minibus,largemouth,cultivators,leveraging,waitangi,carnaval,weaves,turntables,heydrich,sextus,excavate,govind,ignaz,pedagogue,uriah,borrowings,gemstones,infractions,mycobacterium,batavian,massing,praetor,subalpine,massoud,passers,geostationary,jalil,trainsets,barbus,impair,budejovice,denbigh,pertain,historicity,fortaleza,nederlandse,lamenting,masterchef,doubs,gemara,conductance,ploiesti,cetaceans,courthouses,bhagavad,mihailovic,occlusion,bremerhaven,bulwark,morava,kaine,drapery,maputo,conquistador,kaduna,famagusta,first-past-the-post,erudite,galton,undated,tangential,filho,dismembered,dashes,criterium,darwen,metabolized,blurring,everard,randwick,mohave,impurity,acuity,ansbach,chievo,surcharge,plantain,algoma,porosity,zirconium,selva,sevenoaks,venizelos,gwynne,golgi,imparting,separatism,courtesan,idiopathic,gravestones,hydroelectricity,babar,orford,purposeful,acutely,shard,ridgewood,viterbo,manohar,expropriation,placenames,brevis,cosine,unranked,richfield,newnham,recoverable,flightless,dispersing,clearfield,abu'l,stranraer,kempe,streamlining,goswami,epidermal,pieta,conciliatory,distilleries,electrophoresis,bonne,tiago,curiosities,candidature,picnicking,perihelion,lintel,povoa,gullies,configure,excision,facies,signers,1730s,insufficiency,semiotics,streatham,deactivation,entomological,skippers,albacete,parodying,escherichia,honorees,singaporeans,counterterrorism,tiruchirappalli,omnivorous,metropole,globalisation,athol,unbounded,codice_5,landforms,classifier,farmhouses,reaffirming,reparation,yomiuri,technologists,mitte,medica,viewable,steampunk,konya,kshatriya,repelling,edgewater,lamiinae,devas,potteries,llandaff,engendered,submits,virulence,uplifted,educationist,metropolitans,frontrunner,dunstable,forecastle,frets,methodius,exmouth,linnean,bouchet,repulsion,computable,equalling,liceo,tephritidae,agave,hydrological,azarenka,fairground,l'homme,enforces,xinhua,cinematographers,cooperstown,sa'id,paiute,christianization,tempos,chippenham,insulator,kotor,stereotyped,dello,cours,hisham,d'souza,eliminations,supercars,passau,rebrand,natures,coote,persephone,rededicated,cleaved,plenum,blistering,indiscriminately,cleese,safed,recursively,compacted,revues,hydration,shillong,echelons,garhwal,pedimented,grower,zwolle,wildflower,annexing,methionine,petah,valens,famitsu,petiole,specialities,nestorian,shahin,tokaido,shearwater,barberini,kinsmen,experimenter,alumnae,cloisters,alumina,pritzker,hardiness,soundgarden,julich,ps300,watercourse,cementing,wordplay,olivet,demesne,chasseurs,amide,zapotec,gaozu,porphyry,absorbers,indium,analogies,devotions,engravers,limestones,catapulted,surry,brickworks,gotra,rodham,landline,paleontologists,shankara,islip,raucous,trollope,arpad,embarkation,morphemes,recites,picardie,nakhchivan,tolerances,formula_47,khorramabad,nichiren,adrianople,kirkuk,assemblages,collider,bikaner,bushfires,roofline,coverings,reredos,bibliotheca,mantras,accentuated,commedia,rashtriya,fluctuation,serhiy,referential,fittipaldi,vesicle,geeta,iraklis,immediacy,chulalongkorn,hunsruck,bingen,dreadnoughts,stonemason,meenakshi,lebesgue,undergrowth,baltistan,paradoxes,parlement,articled,tiflis,dixieland,meriden,tejano,underdogs,barnstable,exemplify,venter,tropes,wielka,kankakee,iskandar,zilina,pharyngeal,spotify,materialised,picts,atlantique,theodoric,prepositions,paramilitaries,pinellas,attlee,actuated,piedmontese,grayling,thucydides,multifaceted,unedited,autonomously,universelle,utricularia,mooted,preto,incubated,underlie,brasenose,nootka,bushland,sensu,benzodiazepine,esteghlal,seagoing,amenhotep,azusa,sappers,culpeper,smokeless,thoroughbreds,dargah,gorda,alumna,mankato,zdroj,deleting,culvert,formula_49,punting,wushu,hindering,immunoglobulin,standardisation,birger,oilfield,quadrangular,ulama,recruiters,netanya,1630s,communaute,istituto,maciej,pathan,meher,vikas,characterizations,playmaker,interagency,intercepts,assembles,horthy,introspection,narada,matra,testes,radnicki,estonians,csiro,instar,mitford,adrenergic,crewmembers,haaretz,wasatch,lisburn,rangefinder,ordre,condensate,reforestation,corregidor,spvgg,modulator,mannerist,faulted,aspires,maktoum,squarepants,aethelred,piezoelectric,mulatto,dacre,progressions,jagiellonian,norge,samaria,sukhoi,effingham,coxless,hermetic,humanists,centrality,litters,stirlingshire,beaconsfield,sundanese,geometrically,caretakers,habitually,bandra,pashtuns,bradenton,arequipa,laminar,brickyard,hitchin,sustains,shipboard,ploughing,trechus,wheelers,bracketed,ilyushin,subotica,d'hondt,reappearance,bridgestone,intermarried,fulfilment,aphasia,birkbeck,transformational,strathmore,hornbill,millstone,lacan,voids,solothurn,gymnasiums,laconia,viaducts,peduncle,teachta,edgware,shinty,supernovae,wilfried,exclaim,parthia,mithun,flashpoint,moksha,cumbia,metternich,avalanches,militancy,motorist,rivadavia,chancellorsville,federals,gendered,bounding,footy,gauri,caliphs,lingam,watchmaker,unrecorded,riverina,unmodified,seafloor,droit,pfalz,chrysostom,gigabit,overlordship,besiege,espn2,oswestry,anachronistic,ballymena,reactivation,duchovny,ghani,abacetus,duller,legio,watercourses,nord-pas-de-calais,leiber,optometry,swarms,installer,sancti,adverbs,iheartmedia,meiningen,zeljko,kakheti,notional,circuses,patrilineal,acrobatics,infrastructural,sheva,oregonian,adjudication,aamir,wloclawek,overfishing,obstructive,subtracting,aurobindo,archeologist,newgate,'cause,secularization,tehsils,abscess,fingal,janacek,elkhorn,trims,kraftwerk,mandating,irregulars,faintly,congregationalist,sveti,kasai,mishaps,kennebec,provincially,durkheim,scotties,aicte,rapperswil,imphal,surrenders,morphs,nineveh,hoxha,cotabato,thuringian,metalworking,retold,shogakukan,anthers,proteasome,tippeligaen,disengagement,mockumentary,palatial,erupts,flume,corrientes,masthead,jaroslaw,rereleased,bharti,labors,distilling,tusks,varzim,refounded,enniskillen,melkite,semifinalists,vadodara,bermudian,capstone,grasse,origination,populus,alesi,arrondissements,semigroup,verein,opossum,messrs.,portadown,bulbul,tirupati,mulhouse,tetrahedron,roethlisberger,nonverbal,connexion,warangal,deprecated,gneiss,octet,vukovar,hesketh,chambre,despatch,claes,kargil,hideo,gravelly,tyndale,aquileia,tuners,defensible,tutte,theotokos,constructivist,ouvrage,dukla,polisario,monasticism,proscribed,commutation,testers,nipissing,codon,mesto,olivine,concomitant,exoskeleton,purports,coromandel,eyalet,dissension,hippocrates,purebred,yaounde,composting,oecophoridae,procopius,o'day,angiogenesis,sheerness,intelligencer,articular,felixstowe,aegon,endocrinology,trabzon,licinius,pagodas,zooplankton,hooghly,satie,drifters,sarthe,mercian,neuilly,tumours,canal+,scheldt,inclinations,counteroffensive,roadrunners,tuzla,shoreditch,surigao,predicates,carnot,algeciras,militaries,generalize,bulkheads,gawler,pollutant,celta,rundgren,microrna,gewog,olimpija,placental,lubelski,roxburgh,discerned,verano,kikuchi,musicale,l'enfant,ferocity,dimorphic,antigonus,erzurum,prebendary,recitative,discworld,cyrenaica,stigmella,totnes,sutta,pachuca,ulsan,downton,landshut,castellan,pleural,siedlce,siecle,catamaran,cottbus,utilises,trophic,freeholders,holyhead,u.s.s,chansons,responder,waziristan,suzuka,birding,shogi,asker,acetone,beautification,cytotoxic,dixit,hunterdon,cobblestone,formula_48,kossuth,devizes,sokoto,interlaced,shuttered,kilowatts,assiniboine,isaak,salto,alderney,sugarloaf,franchising,aggressiveness,toponyms,plaintext,antimatter,henin,equidistant,salivary,bilingualism,mountings,obligate,extirpated,irenaeus,misused,pastoralists,aftab,immigrating,warping,tyrolean,seaforth,teesside,soundwave,oligarchy,stelae,pairwise,iupac,tezuka,posht,orchestrations,landmass,ironstone,gallia,hjalmar,carmelites,strafford,elmhurst,palladio,fragility,teleplay,gruffudd,karoly,yerba,potok,espoo,inductance,macaque,nonprofits,pareto,rock'n'roll,spiritualist,shadowed,skateboarder,utterances,generality,congruence,prostrate,deterred,yellowknife,albarn,maldon,battlements,mohsen,insecticides,khulna,avellino,menstruation,glutathione,springdale,parlophone,confraternity,korps,countrywide,bosphorus,preexisting,damodar,astride,alexandrovich,sprinting,crystallized,botev,leaching,interstates,veers,angevin,undaunted,yevgeni,nishapur,northerners,alkmaar,bethnal,grocers,sepia,tornus,exemplar,trobe,charcot,gyeonggi,larne,tournai,lorain,voided,genji,enactments,maxilla,adiabatic,eifel,nazim,transducer,thelonious,pyrite,deportiva,dialectal,bengt,rosettes,labem,sergeyevich,synoptic,conservator,statuette,biweekly,adhesives,bifurcation,rajapaksa,mammootty,republique,yusef,waseda,marshfield,yekaterinburg,minnelli,fundy,fenian,matchups,dungannon,supremacist,panelled,drenthe,iyengar,fibula,narmada,homeport,oceanside,precept,antibacterial,altarpieces,swath,ospreys,lillooet,legnica,lossless,formula_50,galvatron,iorga,stormont,rsfsr,loggers,kutno,phenomenological,medallists,cuatro,soissons,homeopathy,bituminous,injures,syndicates,typesetting,displacements,dethroned,makassar,lucchese,abergavenny,targu,alborz,akb48,boldface,gastronomy,sacra,amenity,accumulator,myrtaceae,cornices,mourinho,denunciation,oxbow,diddley,aargau,arbitrage,bedchamber,gruffydd,zamindar,klagenfurt,caernarfon,slowdown,stansted,abrasion,tamaki,suetonius,dukakis,individualistic,ventrally,hotham,perestroika,ketones,fertilisation,sobriquet,couplings,renderings,misidentified,rundfunk,sarcastically,braniff,concours,dismissals,elegantly,modifiers,crediting,combos,crucially,seafront,lieut,ischemia,manchus,derivations,proteases,aristophanes,adenauer,porting,hezekiah,sante,trulli,hornblower,foreshadowing,ypsilanti,dharwad,khani,hohenstaufen,distillers,cosmodrome,intracranial,turki,salesian,gorzow,jihlava,yushchenko,leichhardt,venables,cassia,eurogamer,airtel,curative,bestsellers,timeform,sortied,grandview,massillon,ceding,pilbara,chillicothe,heredity,elblag,rogaland,ronne,millennial,batley,overuse,bharata,fille,campbelltown,abeyance,counterclockwise,250cc,neurodegenerative,consigned,electromagnetism,sunnah,saheb,exons,coxswain,gleaned,bassoons,worksop,prismatic,immigrate,pickets,takeo,bobsledder,stosur,fujimori,merchantmen,stiftung,forli,endorses,taskforce,thermally,atman,gurps,floodplains,enthalpy,extrinsic,setubal,kennesaw,grandis,scalability,durations,showrooms,prithvi,outro,overruns,andalucia,amanita,abitur,hipper,mozambican,sustainment,arsene,chesham,palaeolithic,reportage,criminality,knowsley,haploid,atacama,shueisha,ridgefield,astern,getafe,lineal,timorese,restyled,hollies,agincourt,unter,justly,tannins,mataram,industrialised,tarnovo,mumtaz,mustapha,stretton,synthetase,condita,allround,putra,stjepan,troughs,aechmea,specialisation,wearable,kadokawa,uralic,aeros,messiaen,existentialism,jeweller,effigies,gametes,fjordane,cochlear,interdependent,demonstrative,unstructured,emplacement,famines,spindles,amplitudes,actuator,tantalum,psilocybe,apnea,monogatari,expulsions,seleucus,tsuen,hospitaller,kronstadt,eclipsing,olympiakos,clann,canadensis,inverter,helio,egyptologist,squamous,resonate,munir,histology,torbay,khans,jcpenney,veterinarians,aintree,microscopes,colonised,reflectors,phosphorylated,pristimantis,tulare,corvinus,multiplexing,midweek,demosthenes,transjordan,ecija,tengku,vlachs,anamorphic,counterweight,radnor,trinitarian,armidale,maugham,njsiaa,futurism,stairways,avicenna,montebello,bridgetown,wenatchee,lyonnais,amass,surinamese,streptococcus,m*a*s*h,hydrogenation,frazioni,proscenium,kalat,pennsylvanian,huracan,tallying,kralove,nucleolar,phrygian,seaports,hyacinthe,ignace,donning,instalment,regnal,fonds,prawn,carell,folktales,goaltending,bracknell,vmware,patriarchy,mitsui,kragujevac,pythagoras,soult,thapa,disproved,suwalki,secures,somoza,l'ecole,divizia,chroma,herders,technologist,deduces,maasai,rampur,paraphrase,raimi,imaged,magsaysay,ivano,turmeric,formula_51,subcommittees,axillary,ionosphere,organically,indented,refurbishing,pequot,violinists,bearn,colle,contralto,silverton,mechanization,etruscans,wittelsbach,pasir,redshirted,marrakesh,scarp,plein,wafers,qareh,teotihuacan,frobenius,sinensis,rehoboth,bundaberg,newbridge,hydrodynamic,traore,abubakar,adjusts,storytellers,dynamos,verbandsliga,concertmaster,exxonmobil,appreciable,sieradz,marchioness,chaplaincy,rechristened,cunxu,overpopulation,apolitical,sequencer,beaked,nemanja,binaries,intendant,absorber,filamentous,indebtedness,nusra,nashik,reprises,psychedelia,abwehr,ligurian,isoform,resistive,pillaging,mahathir,reformatory,lusatia,allerton,ajaccio,tepals,maturin,njcaa,abyssinian,objector,fissures,sinuous,ecclesiastic,dalits,caching,deckers,phosphates,wurlitzer,navigated,trofeo,berea,purefoods,solway,unlockable,grammys,kostroma,vocalizations,basilan,rebuke,abbasi,douala,helsingborg,ambon,bakar,runestones,cenel,tomislav,pigmented,northgate,excised,seconda,kirke,determinations,dedicates,vilas,pueblos,reversion,unexploded,overprinted,ekiti,deauville,masato,anaesthesia,endoplasmic,transponders,aguascalientes,hindley,celluloid,affording,bayeux,piaget,rickshaws,eishockey,camarines,zamalek,undersides,hardwoods,hermitian,mutinied,monotone,blackmails,affixes,jpmorgan,habermas,mitrovica,paleontological,polystyrene,thana,manas,conformist,turbofan,decomposes,logano,castration,metamorphoses,patroness,herbicide,mikolaj,rapprochement,macroeconomics,barranquilla,matsudaira,lintels,femina,hijab,spotsylvania,morpheme,bitola,baluchistan,kurukshetra,otway,extrusion,waukesha,menswear,helder,trung,bingley,protester,boars,overhang,differentials,exarchate,hejaz,kumara,unjustified,timings,sharpness,nuovo,taisho,sundar,etc..,jehan,unquestionably,muscovy,daltrey,canute,paneled,amedeo,metroplex,elaborates,telus,tetrapods,dragonflies,epithets,saffir,parthenon,lucrezia,refitting,pentateuch,hanshin,montparnasse,lumberjacks,sanhedrin,erectile,odors,greenstone,resurgent,leszek,amory,substituents,prototypical,viewfinder,monck,universiteit,joffre,revives,chatillon,seedling,scherzo,manukau,ashdod,gympie,homolog,stalwarts,ruinous,weibo,tochigi,wallenberg,gayatri,munda,satyagraha,storefronts,heterogeneity,tollway,sportswriters,binocular,gendarmes,ladysmith,tikal,ortsgemeinde,ja'far,osmotic,linlithgow,bramley,telecoms,pugin,repose,rupaul,sieur,meniscus,garmisch,reintroduce,400th,shoten,poniatowski,drome,kazakhstani,changeover,astronautics,husserl,herzl,hypertext,katakana,polybius,antananarivo,seong,breguet,reliquary,utada,aggregating,liangshan,sivan,tonawanda,audiobooks,shankill,coulee,phenolic,brockton,bookmakers,handsets,boaters,wylde,commonality,mappings,silhouettes,pennines,maurya,pratchett,singularities,eschewed,pretensions,vitreous,ibero,totalitarianism,poulenc,lingered,directx,seasoning,deputation,interdict,illyria,feedstock,counterbalance,muzik,buganda,parachuted,violist,homogeneity,comix,fjords,corsairs,punted,verandahs,equilateral,laoghaire,magyars,117th,alesund,televoting,mayotte,eateries,refurbish,nswrl,yukio,caragiale,zetas,dispel,codecs,inoperable,outperformed,rejuvenation,elstree,modernise,contributory,pictou,tewkesbury,chechens,ashina,psionic,refutation,medico,overdubbed,nebulae,sandefjord,personages,eccellenza,businessperson,placename,abenaki,perryville,threshing,reshaped,arecibo,burslem,colspan=3|turnout,rebadged,lumia,erinsborough,interactivity,bitmap,indefatigable,theosophy,excitatory,gleizes,edsel,bermondsey,korce,saarinen,wazir,diyarbakir,cofounder,liberalisation,onsen,nighthawks,siting,retirements,semyon,d'histoire,114th,redditch,venetia,praha,'round,valdosta,hieroglyphic,postmedial,edirne,miscellany,savona,cockpits,minimization,coupler,jacksonian,appeasement,argentines,saurashtra,arkwright,hesiod,folios,fitzalan,publica,rivaled,civitas,beermen,constructivism,ribeira,zeitschrift,solanum,todos,deformities,chilliwack,verdean,meagre,bishoprics,gujrat,yangzhou,reentered,inboard,mythologies,virtus,unsurprisingly,rusticated,museu,symbolise,proportionate,thesaban,symbian,aeneid,mitotic,veliki,compressive,cisterns,abies,winemaker,massenet,bertolt,ahmednagar,triplemania,armorial,administracion,tenures,smokehouse,hashtag,fuerza,regattas,gennady,kanazawa,mahmudabad,crustal,asaph,valentinian,ilaiyaraaja,honeyeater,trapezoidal,cooperatively,unambiguously,mastodon,inhospitable,harnesses,riverton,renewables,djurgardens,haitians,airings,humanoids,boatswain,shijiazhuang,faints,veera,punjabis,steepest,narain,karlovy,serre,sulcus,collectives,1500m,arion,subarctic,liberally,apollonius,ostia,droplet,headstones,norra,robusta,maquis,veronese,imola,primers,luminance,escadrille,mizuki,irreconcilable,stalybridge,temur,paraffin,stuccoed,parthians,counsels,fundamentalists,vivendi,polymath,sugababes,mikko,yonne,fermions,vestfold,pastoralist,kigali,unseeded,glarus,cusps,amasya,northwesterly,minorca,astragalus,verney,trevelyan,antipathy,wollstonecraft,bivalves,boulez,royle,divisao,quranic,bareilly,coronal,deviates,lulea,erectus,petronas,chandan,proxies,aeroflot,postsynaptic,memoriam,moyne,gounod,kuznetsova,pallava,ordinating,reigate,'first,lewisburg,exploitative,danby,academica,bailiwick,brahe,injective,stipulations,aeschylus,computes,gulden,hydroxylase,liveries,somalis,underpinnings,muscovite,kongsberg,domus,overlain,shareware,variegated,jalalabad,agence,ciphertext,insectivores,dengeki,menuhin,cladistic,baerum,betrothal,tokushima,wavelet,expansionist,pottsville,siyuan,prerequisites,carpi,nemzeti,nazar,trialled,eliminator,irrorated,homeward,redwoods,undeterred,strayed,lutyens,multicellular,aurelian,notated,lordships,alsatian,idents,foggia,garros,chalukyas,lillestrom,podlaski,pessimism,hsien,demilitarized,whitewashed,willesden,kirkcaldy,sanctorum,lamia,relaying,escondido,paediatric,contemplates,demarcated,bluestone,betula,penarol,capitalise,kreuznach,kenora,115th,hold'em,reichswehr,vaucluse,m.i.a,windings,boys/girls,cajon,hisar,predictably,flemington,ysgol,mimicked,clivina,grahamstown,ionia,glyndebourne,patrese,aquaria,sleaford,dayal,sportscenter,malappuram,m.b.a.,manoa,carbines,solvable,designator,ramanujan,linearity,academicians,sayid,lancastrian,factorial,strindberg,vashem,delos,comyn,condensing,superdome,merited,kabaddi,intransitive,bideford,neuroimaging,duopoly,scorecards,ziggler,heriot,boyars,virology,marblehead,microtubules,westphalian,anticipates,hingham,searchers,harpist,rapides,morricone,convalescent,mises,nitride,metrorail,matterhorn,bicol,drivetrain,marketer,snippet,winemakers,muban,scavengers,halberstadt,herkimer,peten,laborious,stora,montgomeryshire,booklist,shamir,herault,eurostar,anhydrous,spacewalk,ecclesia,calliostoma,highschool,d'oro,suffusion,imparts,overlords,tagus,rectifier,counterinsurgency,ministered,eilean,milecastle,contre,micromollusk,okhotsk,bartoli,matroid,hasidim,thirunal,terme,tarlac,lashkar,presque,thameslink,flyby,troopship,renouncing,fatih,messrs,vexillum,bagration,magnetite,bornholm,androgynous,vehement,tourette,philosophic,gianfranco,tuileries,codice_6,radially,flexion,hants,reprocessing,setae,burne,palaeographically,infantryman,shorebirds,tamarind,moderna,threading,militaristic,crohn,norrkoping,125cc,stadtholder,troms,klezmer,alphanumeric,brome,emmanuelle,tiwari,alchemical,formula_52,onassis,bleriot,bipedal,colourless,hermeneutics,hosni,precipitating,turnstiles,hallucinogenic,panhellenic,wyandotte,elucidated,chita,ehime,generalised,hydrophilic,biota,niobium,rnzaf,gandhara,longueuil,logics,sheeting,bielsko,cuvier,kagyu,trefoil,docent,pancrase,stalinism,postures,encephalopathy,monckton,imbalances,epochs,leaguers,anzio,diminishes,pataki,nitrite,amuro,nabil,maybach,l'aquila,babbler,bacolod,thutmose,evora,gaudi,breakage,recur,preservative,60deg,mendip,functionaries,columnar,maccabiah,chert,verden,bromsgrove,clijsters,dengue,pastorate,phuoc,principia,viareggio,kharagpur,scharnhorst,anyang,bosons,l'art,criticises,ennio,semarang,brownian,mirabilis,asperger,calibers,typographical,cartooning,minos,disembark,supranational,undescribed,etymologically,alappuzha,vilhelm,lanao,pakenham,bhagavata,rakoczi,clearings,astrologers,manitowoc,bunuel,acetylene,scheduler,defamatory,trabzonspor,leaded,scioto,pentathlete,abrahamic,minigames,aldehydes,peerages,legionary,1640s,masterworks,loudness,bryansk,likeable,genocidal,vegetated,towpath,declination,pyrrhus,divinely,vocations,rosebery,associazione,loaders,biswas,oeste,tilings,xianzong,bhojpuri,annuities,relatedness,idolator,psers,constriction,chuvash,choristers,hanafi,fielders,grammarian,orpheum,asylums,millbrook,gyatso,geldof,stabilise,tableaux,diarist,kalahari,panini,cowdenbeath,melanin,4x100m,resonances,pinar,atherosclerosis,sheringham,castlereagh,aoyama,larks,pantograph,protrude,natak,gustafsson,moribund,cerevisiae,cleanly,polymeric,holkar,cosmonauts,underpinning,lithosphere,firuzabad,languished,mingled,citrate,spadina,lavas,daejeon,fibrillation,porgy,pineville,ps1000,cobbled,emamzadeh,mukhtar,dampers,indelible,salonika,nanoscale,treblinka,eilat,purporting,fluctuate,mesic,hagiography,cutscenes,fondation,barrens,comically,accrue,ibrox,makerere,defections,'there,hollandia,skene,grosseto,reddit,objectors,inoculation,rowdies,playfair,calligrapher,namor,sibenik,abbottabad,propellants,hydraulically,chloroplasts,tablelands,tecnico,schist,klasse,shirvan,bashkortostan,bullfighting,north/south,polski,hanns,woodblock,kilmore,ejecta,ignacy,nanchang,danubian,commendations,snohomish,samaritans,argumentation,vasconcelos,hedgehogs,vajrayana,barents,kulkarni,kumbakonam,identifications,hillingdon,weirs,nayanar,beauvoir,messe,divisors,atlantiques,broods,affluence,tegucigalpa,unsuited,autodesk,akash,princeps,culprits,kingstown,unassuming,goole,visayan,asceticism,blagojevich,irises,paphos,unsound,maurier,pontchartrain,desertification,sinfonietta,latins,especial,limpet,valerenga,glial,brainstem,mitral,parables,sauropod,judean,iskcon,sarcoma,venlo,justifications,zhuhai,blavatsky,alleviated,usafe,steppenwolf,inversions,janko,chagall,secretory,basildon,saguenay,pergamon,hemispherical,harmonized,reloading,franjo,domaine,extravagance,relativism,metamorphosed,labuan,baloncesto,gmail,byproducts,calvinists,counterattacked,vitus,bubonic,120th,strachey,ritually,brookwood,selectable,savinja,incontinence,meltwater,jinja,1720s,brahmi,morgenthau,sheaves,sleeved,stratovolcano,wielki,utilisation,avoca,fluxus,panzergrenadier,philately,deflation,podlaska,prerogatives,kuroda,theophile,zhongzong,gascoyne,magus,takao,arundell,fylde,merdeka,prithviraj,venkateswara,liepaja,daigo,dreamland,reflux,sunnyvale,coalfields,seacrest,soldering,flexor,structuralism,alnwick,outweighed,unaired,mangeshkar,batons,glaad,banshees,irradiated,organelles,biathlete,cabling,chairlift,lollapalooza,newsnight,capacitive,succumbs,flatly,miramichi,burwood,comedienne,charteris,biotic,workspace,aficionados,sokolka,chatelet,o'shaughnessy,prosthesis,neoliberal,refloated,oppland,hatchlings,econometrics,loess,thieu,androids,appalachians,jenin,pterostichinae,downsized,foils,chipsets,stencil,danza,narrate,maginot,yemenite,bisects,crustacean,prescriptive,melodious,alleviation,empowers,hansson,autodromo,obasanjo,osmosis,daugava,rheumatism,moraes,leucine,etymologies,chepstow,delaunay,bramall,bajaj,flavoring,approximates,marsupials,incisive,microcomputer,tactically,waals,wilno,fisichella,ursus,hindmarsh,mazarin,lomza,xenophobia,lawlessness,annecy,wingers,gornja,gnaeus,superieur,tlaxcala,clasps,symbolises,slats,rightist,effector,blighted,permanence,divan,progenitors,kunsthalle,anointing,excelling,coenzyme,indoctrination,dnipro,landholdings,adriaan,liturgies,cartan,ethmia,attributions,sanctus,trichy,chronicon,tancred,affinis,kampuchea,gantry,pontypool,membered,distrusted,fissile,dairies,hyposmocoma,craigie,adarsh,martinsburg,taxiway,30deg,geraint,vellum,bencher,khatami,formula_53,zemun,teruel,endeavored,palmares,pavements,u.s..,internationalization,satirized,carers,attainable,wraparound,muang,parkersburg,extinctions,birkenfeld,wildstorm,payers,cohabitation,unitas,culloden,capitalizing,clwyd,daoist,campinas,emmylou,orchidaceae,halakha,orientales,fealty,domnall,chiefdom,nigerians,ladislav,dniester,avowed,ergonomics,newsmagazine,kitsch,cantilevered,benchmarking,remarriage,alekhine,coldfield,taupo,almirante,substations,apprenticeships,seljuq,levelling,eponym,symbolising,salyut,opioids,underscore,ethnologue,mohegan,marikina,libro,bassano,parse,semantically,disjointed,dugdale,padraig,tulsi,modulating,xfinity,headlands,mstislav,earthworms,bourchier,lgbtq,embellishments,pennants,rowntree,betel,motet,mulla,catenary,washoe,mordaunt,dorking,colmar,girardeau,glentoran,grammatically,samad,recreations,technion,staccato,mikoyan,spoilers,lyndhurst,victimization,chertsey,belafonte,tondo,tonsberg,narrators,subcultures,malformations,edina,augmenting,attests,euphemia,cabriolet,disguising,1650s,navarrese,demoralized,cardiomyopathy,welwyn,wallachian,smoothness,planktonic,voles,issuers,sardasht,survivability,cuauhtemoc,thetis,extruded,signet,raghavan,lombok,eliyahu,crankcase,dissonant,stolberg,trencin,desktops,bursary,collectivization,charlottenburg,triathlete,curvilinear,involuntarily,mired,wausau,invades,sundaram,deletions,bootstrap,abellio,axiomatic,noguchi,setups,malawian,visalia,materialist,kartuzy,wenzong,plotline,yeshivas,parganas,tunica,citric,conspecific,idlib,superlative,reoccupied,blagoevgrad,masterton,immunological,hatta,courbet,vortices,swallowtail,delves,haridwar,diptera,boneh,bahawalpur,angering,mardin,equipments,deployable,guanine,normality,rimmed,artisanal,boxset,chandrasekhar,jools,chenar,tanakh,carcassonne,belatedly,millville,anorthosis,reintegration,velde,surfactant,kanaan,busoni,glyphipterix,personas,fullness,rheims,tisza,stabilizers,bharathi,joost,spinola,mouldings,perching,esztergom,afzal,apostate,lustre,s.league,motorboat,monotheistic,armature,barat,asistencia,bloomsburg,hippocampal,fictionalised,defaults,broch,hexadecimal,lusignan,ryanair,boccaccio,breisgau,southbank,bskyb,adjoined,neurobiology,aforesaid,sadhu,langue,headship,wozniacki,hangings,regulus,prioritized,dynamism,allier,hannity,shimin,antoninus,gymnopilus,caledon,preponderance,melayu,electrodynamics,syncopated,ibises,krosno,mechanistic,morpeth,harbored,albini,monotheism,'real,hyperactivity,haveli,writer/director,minato,nimoy,caerphilly,chitral,amirabad,fanshawe,l'oreal,lorde,mukti,authoritarianism,valuing,spyware,hanbury,restarting,stato,embed,suiza,empiricism,stabilisation,stari,castlemaine,orbis,manufactory,mauritanian,shoji,taoyuan,prokaryotes,oromia,ambiguities,embodying,slims,frente,innovate,ojibwa,powdery,gaeltacht,argentinos,quatermass,detergents,fijians,adaptor,tokai,chileans,bulgars,oxidoreductases,bezirksliga,conceicao,myosin,nellore,500cc,supercomputers,approximating,glyndwr,polypropylene,haugesund,cockerell,tudman,ashbourne,hindemith,bloodlines,rigveda,etruria,romanos,steyn,oradea,deceleration,manhunter,laryngeal,fraudulently,janez,wendover,haplotype,janaki,naoki,belizean,mellencamp,cartographic,sadhana,tricolour,pseudoscience,satara,bytow,s.p.a.,jagdgeschwader,arcot,omagh,sverdrup,masterplan,surtees,apocrypha,ahvaz,d'amato,socratic,leumit,unnumbered,nandini,witold,marsupial,coalesced,interpolated,gimnasia,karadzic,keratin,mamoru,aldeburgh,speculator,escapement,irfan,kashyap,satyajit,haddington,solver,rothko,ashkelon,kickapoo,yeomen,superbly,bloodiest,greenlandic,lithic,autofocus,yardbirds,poona,keble,javan,sufis,expandable,tumblr,ursuline,swimwear,winwood,counsellors,aberrations,marginalised,befriending,workouts,predestination,varietal,siddhartha,dunkeld,judaic,esquimalt,shabab,ajith,telefonica,stargard,hoysala,radhakrishnan,sinusoidal,strada,hiragana,cebuano,monoid,independencia,floodwaters,mildura,mudflats,ottokar,translit,radix,wigner,philosophically,tephritid,synthesizing,castletown,installs,stirner,resettle,bushfire,choirmaster,kabbalistic,shirazi,lightship,rebus,colonizers,centrifuge,leonean,kristofferson,thymus,clackamas,ratnam,rothesay,municipally,centralia,thurrock,gulfport,bilinear,desirability,merite,psoriasis,macaw,erigeron,consignment,mudstone,distorting,karlheinz,ramen,tailwheel,vitor,reinsurance,edifices,superannuation,dormancy,contagion,cobden,rendezvoused,prokaryotic,deliberative,patricians,feigned,degrades,starlings,sopot,viticultural,beaverton,overflowed,convener,garlands,michiel,ternopil,naturelle,biplanes,bagot,gamespy,ventspils,disembodied,flattening,profesional,londoners,arusha,scapular,forestall,pyridine,ulema,eurodance,aruna,callus,periodontal,coetzee,immobilized,o'meara,maharani,katipunan,reactants,zainab,microgravity,saintes,britpop,carrefour,constrain,adversarial,firebirds,brahmo,kashima,simca,surety,surpluses,superconductivity,gipuzkoa,cumans,tocantins,obtainable,humberside,roosting,'king,formula_54,minelayer,bessel,sulayman,cycled,biomarkers,annealing,shusha,barda,cassation,djing,polemics,tuple,directorates,indomitable,obsolescence,wilhelmine,pembina,bojan,tambo,dioecious,pensioner,magnificat,1660s,estrellas,southeasterly,immunodeficiency,railhead,surreptitiously,codeine,encores,religiosity,tempera,camberley,efendi,boardings,malleable,hagia,input/output,lucasfilm,ujjain,polymorphisms,creationist,berners,mickiewicz,irvington,linkedin,endures,kinect,munition,apologetics,fairlie,predicated,reprinting,ethnographer,variances,levantine,mariinsky,jadid,jarrow,asia/oceania,trinamool,waveforms,bisexuality,preselection,pupae,buckethead,hieroglyph,lyricists,marionette,dunbartonshire,restorer,monarchical,pazar,kickoffs,cabildo,savannas,gliese,dench,spoonbills,novelette,diliman,hypersensitivity,authorising,montefiore,mladen,qu'appelle,theistic,maruti,laterite,conestoga,saare,californica,proboscis,carrickfergus,imprecise,hadassah,baghdadi,jolgeh,deshmukh,amusements,heliopolis,berle,adaptability,partenkirchen,separations,baikonur,cardamom,southeastward,southfield,muzaffar,adequacy,metropolitana,rajkot,kiyoshi,metrobus,evictions,reconciles,librarianship,upsurge,knightley,badakhshan,proliferated,spirituals,burghley,electroacoustic,professing,featurette,reformists,skylab,descriptors,oddity,greyfriars,injects,salmond,lanzhou,dauntless,subgenera,underpowered,transpose,mahinda,gatos,aerobatics,seaworld,blocs,waratahs,joris,giggs,perfusion,koszalin,mieczyslaw,ayyubid,ecologists,modernists,sant'angelo,quicktime,him/her,staves,sanyo,melaka,acrocercops,qigong,iterated,generalizes,recuperation,vihara,circassians,psychical,chavo,memoires,infiltrates,notaries,pelecaniformesfamily,strident,chivalric,pierrepont,alleviating,broadsides,centipede,b.tech,reinterpreted,sudetenland,hussite,covenanters,radhika,ironclads,gainsbourg,testis,penarth,plantar,azadegan,beano,espn.com,leominster,autobiographies,nbcuniversal,eliade,khamenei,montferrat,undistinguished,ethnological,wenlock,fricatives,polymorphic,biome,joule,sheaths,astrophysicist,salve,neoclassicism,lovat,downwind,belisarius,forma,usurpation,freie,depopulation,backbench,ascenso,'high,aagpbl,gdanski,zalman,mouvement,encapsulation,bolshevism,statny,voyageurs,hywel,vizcaya,mazra'eh,narthex,azerbaijanis,cerebrospinal,mauretania,fantail,clearinghouse,bolingbroke,pequeno,ansett,remixing,microtubule,wrens,jawahar,palembang,gambian,hillsong,fingerboard,repurposed,sundry,incipient,veolia,theologically,ulaanbaatar,atsushi,foundling,resistivity,myeloma,factbook,mazowiecka,diacritic,urumqi,clontarf,provokes,intelsat,professes,materialise,portobello,benedictines,panionios,introverted,reacquired,bridport,mammary,kripke,oratorios,vlore,stoning,woredas,unreported,antti,togolese,fanzines,heuristics,conservatories,carburetors,clitheroe,cofounded,formula_57,erupting,quinnipiac,bootle,ghostface,sittings,aspinall,sealift,transferase,boldklub,siskiyou,predominated,francophonie,ferruginous,castrum,neogene,sakya,madama,precipitous,'love,posix,bithynia,uttara,avestan,thrushes,seiji,memorably,septimius,libri,cibernetico,hyperinflation,dissuaded,cuddalore,peculiarity,vaslui,grojec,albumin,thurles,casks,fasteners,fluidity,buble,casals,terek,gnosticism,cognates,ulnar,radwanska,babylonians,majuro,oxidizer,excavators,rhythmically,liffey,gorakhpur,eurydice,underscored,arborea,lumumba,tuber,catholique,grama,galilei,scrope,centreville,jacobin,bequests,ardeche,polygamous,montauban,terai,weatherboard,readability,attainder,acraea,transversely,rivets,winterbottom,reassures,bacteriology,vriesea,chera,andesite,dedications,homogenous,reconquered,bandon,forrestal,ukiyo,gurdjieff,tethys,sparc,muscogee,grebes,belchatow,mansa,blantyre,palliser,sokolow,fibroblasts,exmoor,misaki,soundscapes,housatonic,middelburg,convenor,leyla,antipope,histidine,okeechobee,alkenes,sombre,alkene,rubik,macaques,calabar,trophee,pinchot,'free,frusciante,chemins,falaise,vasteras,gripped,schwarzenberg,cumann,kanchipuram,acoustically,silverbacks,fangio,inset,plympton,kuril,vaccinations,recep,theropods,axils,stavropol,encroached,apoptotic,papandreou,wailers,moonstone,assizes,micrometers,hornchurch,truncation,annapurna,egyptologists,rheumatic,promiscuity,satiric,fleche,caloptilia,anisotropy,quaternions,gruppo,viscounts,awardees,aftershocks,sigint,concordance,oblasts,gaumont,stent,commissars,kesteven,hydroxy,vijayanagar,belorussian,fabricius,watermark,tearfully,mamet,leukaemia,sorkh,milepost,tattooing,vosta,abbasids,uncompleted,hedong,woodwinds,extinguishing,malus,multiplexes,francoist,pathet,responsa,bassists,'most,postsecondary,ossory,grampian,saakashvili,alito,strasberg,impressionistic,volador,gelatinous,vignette,underwing,campanian,abbasabad,albertville,hopefuls,nieuwe,taxiways,reconvened,recumbent,pathologists,unionized,faversham,asymptotically,romulo,culling,donja,constricted,annesley,duomo,enschede,lovech,sharpshooter,lansky,dhamma,papillae,alanine,mowat,delius,wrest,mcluhan,podkarpackie,imitators,bilaspur,stunting,pommel,casemate,handicaps,nagas,testaments,hemings,necessitate,rearward,locative,cilla,klitschko,lindau,merion,consequential,antic,soong,copula,berthing,chevrons,rostral,sympathizer,budokan,ranulf,beria,stilt,replying,conflated,alcibiades,painstaking,yamanashi,calif.,arvid,ctesiphon,xizong,rajas,caxton,downbeat,resurfacing,rudders,miscegenation,deathmatch,foregoing,arthropod,attestation,karts,reapportionment,harnessing,eastlake,schola,dosing,postcolonial,imtiaz,formula_55,insulators,gunung,accumulations,pampas,llewelyn,bahnhof,cytosol,grosjean,teaneck,briarcliff,arsenio,canara,elaborating,passchendaele,searchlights,holywell,mohandas,preventable,gehry,mestizos,ustinov,cliched,'national,heidfeld,tertullian,jihadist,tourer,miletus,semicircle,outclassed,bouillon,cardinalate,clarifies,dakshina,bilayer,pandyan,unrwa,chandragupta,formula_56,portola,sukumaran,lactation,islamia,heikki,couplers,misappropriation,catshark,montt,ploughs,carib,stator,leaderboard,kenrick,dendrites,scape,tillamook,molesworth,mussorgsky,melanesia,restated,troon,glycoside,truckee,headwater,mashup,sectoral,gangwon,docudrama,skirting,psychopathology,dramatised,ostroleka,infestations,thabo,depolarization,wideroe,eisenbahn,thomond,kumaon,upendra,foreland,acronyms,yaqui,retaking,raphaelite,specie,dupage,villars,lucasarts,chloroplast,werribee,balsa,ascribe,havant,flava,khawaja,tyumen,subtract,interrogators,reshaping,buzzcocks,eesti,campanile,potemkin,apertures,snowboarder,registrars,handbooks,boyar,contaminant,depositors,proximate,jeunesse,zagora,pronouncements,mists,nihilism,deified,margraviate,pietersen,moderators,amalfi,adjectival,copepods,magnetosphere,pallets,clemenceau,castra,perforation,granitic,troilus,grzegorz,luthier,dockyards,antofagasta,ffestiniog,subroutine,afterword,waterwheel,druce,nitin,undifferentiated,emacs,readmitted,barneveld,tapers,hittites,infomercials,infirm,braathens,heligoland,carpark,geomagnetic,musculoskeletal,nigerien,machinima,harmonize,repealing,indecency,muskoka,verite,steubenville,suffixed,cytoskeleton,surpasses,harmonia,imereti,ventricles,heterozygous,envisions,otsego,ecoles,warrnambool,burgenland,seria,rawat,capistrano,welby,kirin,enrollments,caricom,dragonlance,schaffhausen,expanses,photojournalism,brienne,etude,referent,jamtland,schemas,xianbei,cleburne,bicester,maritima,shorelines,diagonals,bjelke,nonpublic,aliasing,m.f.a,ovals,maitreya,skirmishing,grothendieck,sukhothai,angiotensin,bridlington,durgapur,contras,gakuen,skagit,rabbinate,tsunamis,haphazard,tyldesley,microcontroller,discourages,hialeah,compressing,septimus,larvik,condoleezza,psilocybin,protectionism,songbirds,clandestinely,selectmen,wargame,cinemascope,khazars,agronomy,melzer,latifah,cherokees,recesses,assemblymen,basescu,banaras,bioavailability,subchannels,adenine,o'kelly,prabhakar,leonese,dimethyl,testimonials,geoffroy,oxidant,universiti,gheorghiu,bohdan,reversals,zamorin,herbivore,jarre,sebastiao,infanterie,dolmen,teddington,radomsko,spaceships,cuzco,recapitulation,mahoning,bainimarama,myelin,aykroyd,decals,tokelau,nalgonda,rajasthani,121st,quelled,tambov,illyrians,homilies,illuminations,hypertrophy,grodzisk,inundation,incapacity,equilibria,combats,elihu,steinitz,berengar,gowda,canwest,khosrau,maculata,houten,kandinsky,onside,leatherhead,heritable,belvidere,federative,chukchi,serling,eruptive,patan,entitlements,suffragette,evolutions,migrates,demobilisation,athleticism,trope,sarpsborg,kensal,translink,squamish,concertgebouw,energon,timestamp,competences,zalgiris,serviceman,codice_7,spoofing,assange,mahadevan,skien,suceava,augustan,revisionism,unconvincing,hollande,drina,gottlob,lippi,broglie,darkening,tilapia,eagerness,nacht,kolmogorov,photometric,leeuwarden,jrotc,haemorrhage,almanack,cavalli,repudiation,galactose,zwickau,cetinje,houbraken,heavyweights,gabonese,ordinals,noticias,museveni,steric,charaxes,amjad,resection,joinville,leczyca,anastasius,purbeck,subtribe,dalles,leadoff,monoamine,jettisoned,kaori,anthologized,alfreton,indic,bayezid,tottori,colonizing,assassinating,unchanging,eusebian,d'estaing,tsingtao,toshio,transferases,peronist,metrology,equus,mirpur,libertarianism,kovil,indole,'green,abstention,quantitatively,icebreakers,tribals,mainstays,dryandra,eyewear,nilgiri,chrysanthemum,inositol,frenetic,merchantman,hesar,physiotherapist,transceiver,dancefloor,rankine,neisse,marginalization,lengthen,unaided,rework,pageantry,savio,striated,funen,witton,illuminates,frass,hydrolases,akali,bistrita,copywriter,firings,handballer,tachinidae,dmytro,coalesce,neretva,menem,moraines,coatbridge,crossrail,spoofed,drosera,ripen,protour,kikuyu,boleslav,edwardes,troubadours,haplogroups,wrasse,educationalist,sroda,khaneh,dagbladet,apennines,neuroscientist,deplored,terje,maccabees,daventry,spaceport,lessening,ducats,singer/guitarist,chambersburg,yeong,configurable,ceremonially,unrelenting,caffe,graaf,denizens,kingsport,ingush,panhard,synthesised,tumulus,homeschooled,bozorg,idiomatic,thanhouser,queensway,radek,hippolytus,inking,banovina,peacocks,piaui,handsworth,pantomimes,abalone,thera,kurzweil,bandura,augustinians,bocelli,ferrol,jiroft,quadrature,contravention,saussure,rectification,agrippina,angelis,matanzas,nidaros,palestrina,latium,coriolis,clostridium,ordain,uttering,lanchester,proteolytic,ayacucho,merseburg,holbein,sambalpur,algebraically,inchon,ostfold,savoia,calatrava,lahiri,judgeship,ammonite,masaryk,meyerbeer,hemorrhagic,superspeedway,ningxia,panicles,encircles,khmelnytsky,profusion,esher,babol,inflationary,anhydride,gaspe,mossy,periodicity,nacion,meteorologists,mahjong,interventional,sarin,moult,enderby,modell,palgrave,warners,montcalm,siddha,functionalism,rilke,politicized,broadmoor,kunste,orden,brasileira,araneta,eroticism,colquhoun,mamba,blacktown,tubercle,seagrass,manoel,camphor,neoregelia,llandudno,annexe,enplanements,kamien,plovers,statisticians,iturbide,madrasah,nontrivial,publican,landholders,manama,uninhabitable,revivalist,trunkline,friendliness,gurudwara,rocketry,unido,tripos,besant,braque,evolutionarily,abkhazian,staffel,ratzinger,brockville,bohemond,intercut,djurgarden,utilitarianism,deploys,sastri,absolutism,subhas,asghar,fictions,sepinwall,proportionately,titleholders,thereon,foursquare,machinegun,knightsbridge,siauliai,aqaba,gearboxes,castaways,weakens,phallic,strzelce,buoyed,ruthenia,pharynx,intractable,neptunes,koine,leakey,netherlandish,preempted,vinay,terracing,instigating,alluvium,prosthetics,vorarlberg,politiques,joinery,reduplication,nebuchadnezzar,lenticular,banka,seaborne,pattinson,helpline,aleph,beckenham,californians,namgyal,franziska,aphid,branagh,transcribe,appropriateness,surakarta,takings,propagates,juraj,b0d3fb,brera,arrayed,tailback,falsehood,hazleton,prosody,egyptology,pinnate,tableware,ratan,camperdown,ethnologist,tabari,classifiers,biogas,126th,kabila,arbitron,apuestas,membranous,kincardine,oceana,glories,natick,populism,synonymy,ghalib,mobiles,motherboards,stationers,germinal,patronised,formula_58,gaborone,torts,jeezy,interleague,novaya,batticaloa,offshoots,wilbraham,filename,nswrfl,'well,trilobite,pythons,optimally,scientologists,rhesus,pilsen,backdrops,batang,unionville,hermanos,shrikes,fareham,outlawing,discontinuing,boisterous,shamokin,scanty,southwestward,exchangers,unexpired,mewar,h.m.s,saldanha,pawan,condorcet,turbidity,donau,indulgences,coincident,cliques,weeklies,bardhaman,violators,kenai,caspase,xperia,kunal,fistula,epistemic,cammell,nephi,disestablishment,rotator,germaniawerft,pyaar,chequered,jigme,perlis,anisotropic,popstars,kapil,appendices,berat,defecting,shacks,wrangel,panchayath,gorna,suckling,aerosols,sponheim,talal,borehole,encodings,enlai,subduing,agong,nadar,kitsap,syrmia,majumdar,pichilemu,charleville,embryology,booting,literati,abutting,basalts,jussi,repubblica,hertogenbosch,digitization,relents,hillfort,wiesenthal,kirche,bhagwan,bactrian,oases,phyla,neutralizing,helsing,ebooks,spearheading,margarine,'golden,phosphor,picea,stimulants,outliers,timescale,gynaecology,integrator,skyrocketed,bridgnorth,senecio,ramachandra,suffragist,arrowheads,aswan,inadvertent,microelectronics,118th,sofer,kubica,melanesian,tuanku,balkh,vyborg,crystallographic,initiators,metamorphism,ginzburg,looters,unimproved,finistere,newburyport,norges,immunities,franchisees,asterism,kortrijk,camorra,komsomol,fleurs,draughts,patagonian,voracious,artin,collaborationist,revolucion,revitalizing,xaver,purifying,antipsychotic,disjunct,pompeius,dreamwave,juvenal,beinn,adiyaman,antitank,allama,boletus,melanogaster,dumitru,caproni,aligns,athabaskan,stobart,phallus,veikkausliiga,hornsey,buffering,bourbons,dobruja,marga,borax,electrics,gangnam,motorcyclist,whidbey,draconian,lodger,galilean,sanctification,imitates,boldness,underboss,wheatland,cantabrian,terceira,maumee,redefining,uppercase,ostroda,characterise,universalism,equalized,syndicalism,haringey,masovia,deleuze,funkadelic,conceals,thuan,minsky,pluralistic,ludendorff,beekeeping,bonfires,endoscopic,abuts,prebend,jonkoping,amami,tribunes,yup'ik,awadh,gasification,pforzheim,reforma,antiwar,vaishnavism,maryville,inextricably,margrethe,empresa,neutrophils,sanctified,ponca,elachistidae,curiae,quartier,mannar,hyperplasia,wimax,busing,neologism,florins,underrepresented,digitised,nieuw,cooch,howards,frege,hughie,plied,swale,kapellmeister,vajpayee,quadrupled,aeronautique,dushanbe,custos,saltillo,kisan,tigray,manaus,epigrams,shamanic,peppered,frosts,promotion/relegation,concedes,zwingli,charentes,whangarei,hyung,spring/summer,sobre,eretz,initialization,sawai,ephemera,grandfathered,arnaldo,customised,permeated,parapets,growths,visegrad,estudios,altamont,provincia,apologises,stoppard,carburettor,rifts,kinematic,zhengzhou,eschatology,prakrit,folate,yvelines,scapula,stupas,rishon,reconfiguration,flutist,1680s,apostolate,proudhon,lakshman,articulating,stortford,faithfull,bitterns,upwelling,qur'anic,lidar,interferometry,waterlogged,koirala,ditton,wavefunction,fazal,babbage,antioxidants,lemberg,deadlocked,tolled,ramapo,mathematica,leiria,topologies,khali,photonic,balti,1080p,corrects,recommenced,polyglot,friezes,tiebreak,copacabana,cholmondeley,armband,abolishment,sheamus,buttes,glycolysis,cataloged,warrenton,sassari,kishan,foodservice,cryptanalysis,holmenkollen,cosplay,machi,yousuf,mangal,allying,fertiliser,otomi,charlevoix,metallurg,parisians,bottlenose,oakleigh,debug,cidade,accede,ligation,madhava,pillboxes,gatefold,aveyron,sorin,thirsk,immemorial,menelik,mehra,domingos,underpinned,fleshed,harshness,diphthong,crestwood,miskolc,dupri,pyrausta,muskingum,tuoba,prodi,incidences,waynesboro,marquesas,heydar,artesian,calinescu,nucleation,funders,covalently,compaction,derbies,seaters,sodor,tabular,amadou,peckinpah,o'halloran,zechariah,libyans,kartik,daihatsu,chandran,erzhu,heresies,superheated,yarder,dorde,tanjore,abusers,xuanwu,juniperus,moesia,trusteeship,birdwatching,beatz,moorcock,harbhajan,sanga,choreographic,photonics,boylston,amalgamate,prawns,electrifying,sarath,inaccurately,exclaims,powerpoint,chaining,cpusa,adulterous,saccharomyces,glogow,vfl/afl,syncretic,simla,persisting,functors,allosteric,euphorbiaceae,juryo,mlada,moana,gabala,thornycroft,kumanovo,ostrovsky,sitio,tutankhamun,sauropods,kardzhali,reinterpretation,sulpice,rosyth,originators,halesowen,delineation,asesoria,abatement,gardai,elytra,taillights,overlays,monsoons,sandpipers,ingmar,henrico,inaccuracy,irwell,arenabowl,elche,pressburg,signalman,interviewees,sinkhole,pendle,ecommerce,cellos,nebria,organometallic,surrealistic,propagandist,interlaken,canandaigua,aerials,coutinho,pascagoula,tonopah,letterkenny,gropius,carbons,hammocks,childe,polities,hosiery,donitz,suppresses,diaghilev,stroudsburg,bagram,pistoia,regenerating,unitarians,takeaway,offstage,vidin,glorification,bakunin,yavapai,lutzow,sabercats,witney,abrogated,gorlitz,validating,dodecahedron,stubbornly,telenor,glaxosmithkline,solapur,undesired,jellicoe,dramatization,four-and-a-half,seawall,waterpark,artaxerxes,vocalization,typographic,byung,sachsenhausen,shepparton,kissimmee,konnan,belsen,dhawan,khurd,mutagenesis,vejle,perrot,estradiol,formula_60,saros,chiloe,misiones,lamprey,terrains,speke,miasto,eigenvectors,haydock,reservist,corticosteroids,savitri,shinawatra,developmentally,yehudi,berates,janissaries,recapturing,rancheria,subplots,gresley,nikkatsu,oryol,cosmas,boavista,formula_59,playfully,subsections,commentated,kathakali,dorid,vilaine,seepage,hylidae,keiji,kazakhs,triphosphate,1620s,supersede,monarchists,falla,miyako,notching,bhumibol,polarizing,secularized,shingled,bronislaw,lockerbie,soleyman,bundesbahn,latakia,redoubts,boult,inwardly,invents,ondrej,minangkabau,newquay,permanente,alhaji,madhav,malini,ellice,bookmaker,mankiewicz,etihad,o'dea,interrogative,mikawa,wallsend,canisius,bluesy,vitruvius,noord,ratifying,mixtec,gujranwala,subprefecture,keelung,goiania,nyssa,shi'ite,semitone,ch'uan,computerised,pertuan,catapults,nepomuk,shruti,millstones,buskerud,acolytes,tredegar,sarum,armia,dell'arte,devises,custodians,upturned,gallaudet,disembarking,thrashed,sagrada,myeon,undeclared,qumran,gaiden,tepco,janesville,showground,condense,chalon,unstaffed,pasay,undemocratic,hauts,viridis,uninjured,escutcheon,gymkhana,petaling,hammam,dislocations,tallaght,rerum,shias,indios,guaranty,simplicial,benares,benediction,tajiri,prolifically,huawei,onerous,grantee,ferencvaros,otranto,carbonates,conceit,digipak,qadri,masterclasses,swamiji,cradock,plunket,helmsman,119th,salutes,tippecanoe,murshidabad,intelligibility,mittal,diversifying,bidar,asansol,crowdsourcing,rovere,karakoram,grindcore,skylights,tulagi,furrows,ligne,stuka,sumer,subgraph,amata,regionalist,bulkeley,teletext,glorify,readied,lexicographer,sabadell,predictability,quilmes,phenylalanine,bandaranaike,pyrmont,marksmen,quisling,viscountess,sociopolitical,afoul,pediments,swazi,martyrology,nullify,panagiotis,superconductors,veldenz,jujuy,l'isle,hematopoietic,shafi,subsea,hattiesburg,jyvaskyla,kebir,myeloid,landmine,derecho,amerindians,birkenau,scriabin,milhaud,mucosal,nikaya,freikorps,theoretician,proconsul,o'hanlon,clerked,bactria,houma,macular,topologically,shrubby,aryeh,ghazali,afferent,magalhaes,moduli,ashtabula,vidarbha,securitate,ludwigsburg,adoor,varun,shuja,khatun,chengde,bushels,lascelles,professionnelle,elfman,rangpur,unpowered,citytv,chojnice,quaternion,stokowski,aschaffenburg,commutes,subramaniam,methylene,satrap,gharb,namesakes,rathore,helier,gestational,heraklion,colliers,giannis,pastureland,evocation,krefeld,mahadeva,churchmen,egret,yilmaz,galeazzo,pudukkottai,artigas,generalitat,mudslides,frescoed,enfeoffed,aphorisms,melilla,montaigne,gauliga,parkdale,mauboy,linings,prema,sapir,xylophone,kushan,rockne,sequoyah,vasyl,rectilinear,vidyasagar,microcosm,san'a,carcinogen,thicknesses,aleut,farcical,moderating,detested,hegemonic,instalments,vauban,verwaltungsgemeinschaft,picayune,razorback,magellanic,moluccas,pankhurst,exportation,waldegrave,sufferer,bayswater,1up.com,rearmament,orangutans,varazdin,b.o.b,elucidate,harlingen,erudition,brankovic,lapis,slipway,urraca,shinde,unwell,elwes,euboea,colwyn,srivijaya,grandstands,hortons,generalleutnant,fluxes,peterhead,gandhian,reals,alauddin,maximized,fairhaven,endow,ciechanow,perforations,darters,panellist,manmade,litigants,exhibitor,tirol,caracalla,conformance,hotelier,stabaek,hearths,borac,frisians,ident,veliko,emulators,schoharie,uzbeks,samarra,prestwick,wadia,universita,tanah,bucculatrix,predominates,genotypes,denounces,roadsides,ganassi,keokuk,philatelist,tomic,ingots,conduits,samplers,abdus,johar,allegories,timaru,wolfpacks,secunda,smeaton,sportivo,inverting,contraindications,whisperer,moradabad,calamities,bakufu,soundscape,smallholders,nadeem,crossroad,xenophobic,zakir,nationalliga,glazes,retroflex,schwyz,moroder,rubra,quraysh,theodoros,endemol,infidels,km/hr,repositioned,portraitist,lluis,answerable,arges,mindedness,coarser,eyewall,teleported,scolds,uppland,vibraphone,ricoh,isenburg,bricklayer,cuttlefish,abstentions,communicable,cephalopod,stockyards,balto,kinston,armbar,bandini,elphaba,maxims,bedouins,sachsen,friedkin,tractate,pamir,ivanovo,mohini,kovalainen,nambiar,melvyn,orthonormal,matsuyama,cuernavaca,veloso,overstated,streamer,dravid,informers,analyte,sympathized,streetscape,gosta,thomasville,grigore,futuna,depleting,whelks,kiedis,armadale,earner,wynyard,dothan,animating,tridentine,sabri,immovable,rivoli,ariege,parley,clinker,circulates,junagadh,fraunhofer,congregants,180th,buducnost,formula_62,olmert,dedekind,karnak,bayernliga,mazes,sandpiper,ecclestone,yuvan,smallmouth,decolonization,lemmy,adjudicated,retiro,legia,benue,posit,acidification,wahab,taconic,floatplane,perchlorate,atria,wisbech,divestment,dallara,phrygia,palustris,cybersecurity,rebates,facie,mineralogical,substituent,proteges,fowey,mayenne,smoothbore,cherwell,schwarzschild,junin,murrumbidgee,smalltalk,d'orsay,emirati,calaveras,titusville,theremin,vikramaditya,wampanoag,burra,plaines,onegin,emboldened,whampoa,langa,soderbergh,arnaz,sowerby,arendal,godunov,pathanamthitta,damselfly,bestowing,eurosport,iconoclasm,outfitters,acquiesced,badawi,hypotension,ebbsfleet,annulus,sohrab,thenceforth,chagatai,necessitates,aulus,oddities,toynbee,uniontown,innervation,populaire,indivisible,rossellini,minuet,cyrene,gyeongju,chania,cichlids,harrods,1690s,plunges,abdullahi,gurkhas,homebuilt,sortable,bangui,rediff,incrementally,demetrios,medaille,sportif,svend,guttenberg,tubules,carthusian,pleiades,torii,hoppus,phenyl,hanno,conyngham,teschen,cronenberg,wordless,melatonin,distinctiveness,autos,freising,xuanzang,dunwich,satanism,sweyn,predrag,contractually,pavlovic,malaysians,micrometres,expertly,pannonian,abstaining,capensis,southwesterly,catchphrases,commercialize,frankivsk,normanton,hibernate,verso,deportees,dubliners,codice_8,condors,zagros,glosses,leadville,conscript,morrisons,usury,ossian,oulton,vaccinium,civet,ayman,codrington,hadron,nanometers,geochemistry,extractor,grigori,tyrrhenian,neocollyris,drooping,falsification,werft,courtauld,brigantine,orhan,chapultepec,supercopa,federalized,praga,havering,encampments,infallibility,sardis,pawar,undirected,reconstructionist,ardrossan,varuna,pastimes,archdiocesan,fledging,shenhua,molise,secondarily,stagnated,replicates,ciencias,duryodhana,marauding,ruislip,ilyich,intermixed,ravenswood,shimazu,mycorrhizal,icosahedral,consents,dunblane,follicular,pekin,suffield,muromachi,kinsale,gauche,businesspeople,thereto,watauga,exaltation,chelmno,gorse,proliferate,drainages,burdwan,kangra,transducers,inductor,duvalier,maguindanao,moslem,uncaf,givenchy,plantarum,liturgics,telegraphs,lukashenko,chenango,andante,novae,ironwood,faubourg,torme,chinensis,ambala,pietermaritzburg,virginians,landform,bottlenecks,o'driscoll,darbhanga,baptistery,ameer,needlework,naperville,auditoriums,mullingar,starrer,animatronic,topsoil,madura,cannock,vernet,santurce,catocala,ozeki,pontevedra,multichannel,sundsvall,strategists,medio,135th,halil,afridi,trelawny,caloric,ghraib,allendale,hameed,ludwigshafen,spurned,pavlo,palmar,strafed,catamarca,aveiro,harmonization,surah,predictors,solvay,mande,omnipresent,parenthesis,echolocation,equaling,experimenters,acyclic,lithographic,sepoys,katarzyna,sridevi,impoundment,khosrow,caesarean,nacogdoches,rockdale,lawmaker,caucasians,bahman,miyan,rubric,exuberance,bombastic,ductile,snowdonia,inlays,pinyon,anemones,hurries,hospitallers,tayyip,pulleys,treme,photovoltaics,testbed,polonium,ryszard,osgoode,profiting,ironwork,unsurpassed,nepticulidae,makai,lumbini,preclassic,clarksburg,egremont,videography,rehabilitating,ponty,sardonic,geotechnical,khurasan,solzhenitsyn,henna,phoenicia,rhyolite,chateaux,retorted,tomar,deflections,repressions,harborough,renan,brumbies,vandross,storia,vodou,clerkenwell,decking,universo,salon.com,imprisoning,sudwest,ghaziabad,subscribing,pisgah,sukhumi,econometric,clearest,pindar,yildirim,iulia,atlases,cements,remaster,dugouts,collapsible,resurrecting,batik,unreliability,thiers,conjunctions,colophon,marcher,placeholder,flagella,wolds,kibaki,viviparous,twelver,screenshots,aroostook,khadr,iconographic,itasca,jaume,basti,propounded,varro,be'er,jeevan,exacted,shrublands,creditable,brocade,boras,bittern,oneonta,attentional,herzliya,comprehensible,lakeville,discards,caxias,frankland,camerata,satoru,matlab,commutator,interprovincial,yorkville,benefices,nizami,edwardsville,amigaos,cannabinoid,indianola,amateurliga,pernicious,ubiquity,anarchic,novelties,precondition,zardari,symington,sargodha,headphone,thermopylae,mashonaland,zindagi,thalberg,loewe,surfactants,dobro,crocodilians,samhita,diatoms,haileybury,berwickshire,supercritical,sofie,snorna,slatina,intramolecular,agung,osteoarthritis,obstetric,teochew,vakhtang,connemara,deformations,diadem,ferruccio,mainichi,qualitatively,refrigerant,rerecorded,methylated,karmapa,krasinski,restatement,rouvas,cubitt,seacoast,schwarzkopf,homonymous,shipowner,thiamine,approachable,xiahou,160th,ecumenism,polistes,internazionali,fouad,berar,biogeography,texting,inadequately,'when,4kids,hymenoptera,emplaced,cognomen,bellefonte,supplant,michaelmas,uriel,tafsir,morazan,schweinfurt,chorister,ps400,nscaa,petipa,resolutely,ouagadougou,mascarene,supercell,konstanz,bagrat,harmonix,bergson,shrimps,resonators,veneta,camas,mynydd,rumford,generalmajor,khayyam,web.com,pappus,halfdan,tanana,suomen,yutaka,bibliographical,traian,silat,noailles,contrapuntal,agaricus,'special,minibuses,1670s,obadiah,deepa,rorschach,malolos,lymington,valuations,imperials,caballeros,ambroise,judicature,elegiac,sedaka,shewa,checksum,gosforth,legionaries,corneille,microregion,friedrichshafen,antonis,surnamed,mycelium,cantus,educations,topmost,outfitting,ivica,nankai,gouda,anthemic,iosif,supercontinent,antifungal,belarusians,mudaliar,mohawks,caversham,glaciated,basemen,stevan,clonmel,loughton,deventer,positivist,manipuri,tensors,panipat,changeup,impermeable,dubbo,elfsborg,maritimo,regimens,bikram,bromeliad,substratum,norodom,gaultier,queanbeyan,pompeo,redacted,eurocopter,mothballed,centaurs,borno,copra,bemidji,'home,sopron,neuquen,passo,cineplex,alexandrov,wysokie,mammoths,yossi,sarcophagi,congreve,petkovic,extraneous,waterbirds,slurs,indias,phaeton,discontented,prefaced,abhay,prescot,interoperable,nordisk,bicyclists,validly,sejong,litovsk,zanesville,kapitanleutnant,kerch,changeable,mcclatchy,celebi,attesting,maccoll,sepahan,wayans,veined,gaudens,markt,dansk,soane,quantized,petersham,forebears,nayarit,frenzied,queuing,bygone,viggo,ludwik,tanka,hanssen,brythonic,cornhill,primorsky,stockpiles,conceptualization,lampeter,hinsdale,mesoderm,bielsk,rosenheim,ultron,joffrey,stanwyck,khagan,tiraspol,pavelic,ascendant,empoli,metatarsal,descentralizado,masada,ligier,huseyin,ramadi,waratah,tampines,ruthenium,statoil,mladost,liger,grecian,multiparty,digraph,maglev,reconsideration,radiography,cartilaginous,taizu,wintered,anabaptist,peterhouse,shoghi,assessors,numerator,paulet,painstakingly,halakhic,rocroi,motorcycling,gimel,kryptonian,emmeline,cheeked,drawdown,lelouch,dacians,brahmana,reminiscence,disinfection,optimizations,golders,extensor,tsugaru,tolling,liman,gulzar,unconvinced,crataegus,oppositional,dvina,pyrolysis,mandan,alexius,prion,stressors,loomed,moated,dhivehi,recyclable,relict,nestlings,sarandon,kosovar,solvers,czeslaw,kenta,maneuverable,middens,berkhamsted,comilla,folkways,loxton,beziers,batumi,petrochemicals,optimised,sirjan,rabindra,musicality,rationalisation,drillers,subspaces,'live,bbwaa,outfielders,tsung,danske,vandalised,norristown,striae,kanata,gastroenterology,steadfastly,equalising,bootlegging,mannerheim,notodontidae,lagoa,commentating,peninsulas,chishti,seismology,modigliani,preceptor,canonically,awardee,boyaca,hsinchu,stiffened,nacelle,bogor,dryness,unobstructed,yaqub,scindia,peeters,irritant,ammonites,ferromagnetic,speechwriter,oxygenated,walesa,millais,canarian,faience,calvinistic,discriminant,rasht,inker,annexes,howth,allocates,conditionally,roused,regionalism,regionalbahn,functionary,nitrates,bicentenary,recreates,saboteurs,koshi,plasmids,thinned,124th,plainview,kardashian,neuville,victorians,radiates,127th,vieques,schoolmates,petru,tokusatsu,keying,sunaina,flamethrower,'bout,demersal,hosokawa,corelli,omniscient,o'doherty,niksic,reflectivity,transdev,cavour,metronome,temporally,gabba,nsaids,geert,mayport,hematite,boeotia,vaudreuil,torshavn,sailplane,mineralogist,eskisehir,practises,gallifrey,takumi,unease,slipstream,hedmark,paulinus,ailsa,wielkopolska,filmworks,adamantly,vinaya,facelifted,franchisee,augustana,toppling,velvety,crispa,stonington,histological,genealogist,tactician,tebow,betjeman,nyingma,overwinter,oberoi,rampal,overwinters,petaluma,lactarius,stanmore,balikpapan,vasant,inclines,laminate,munshi,sociedade,rabbah,septal,boyband,ingrained,faltering,inhumans,nhtsa,affix,l'ordre,kazuki,rossendale,mysims,latvians,slaveholders,basilicata,neuburg,assize,manzanillo,scrobipalpa,formula_61,belgique,pterosaurs,privateering,vaasa,veria,northport,pressurised,hobbyist,austerlitz,sahih,bhadra,siliguri,bistrica,bursaries,wynton,corot,lepidus,lully,libor,libera,olusegun,choline,mannerism,lymphocyte,chagos,duxbury,parasitism,ecowas,morotai,cancion,coniston,aggrieved,sputnikmusic,parle,ammonian,civilisations,malformation,cattaraugus,skyhawks,d'arc,demerara,bronfman,midwinter,piscataway,jogaila,threonine,matins,kohlberg,hubli,pentatonic,camillus,nigam,potro,unchained,chauvel,orangeville,cistercians,redeployment,xanthi,manju,carabinieri,pakeha,nikolaevich,kantakouzenos,sesquicentennial,gunships,symbolised,teramo,ballo,crusading,l'oeil,bharatpur,lazier,gabrovo,hysteresis,rothbard,chaumont,roundel,ma'mun,sudhir,queried,newts,shimane,presynaptic,playfield,taxonomists,sensitivities,freleng,burkinabe,orfeo,autovia,proselytizing,bhangra,pasok,jujutsu,heung,pivoting,hominid,commending,formula_64,epworth,christianized,oresund,hantuchova,rajputana,hilversum,masoretic,dayak,bakri,assen,magog,macromolecules,waheed,qaida,spassky,rumped,protrudes,preminger,misogyny,glencairn,salafi,lacunae,grilles,racemes,areva,alighieri,inari,epitomized,photoshoot,one-of-a-kind,tring,muralist,tincture,backwaters,weaned,yeasts,analytically,smaland,caltrans,vysocina,jamuna,mauthausen,175th,nouvelles,censoring,reggina,christology,gilad,amplifying,mehmood,johnsons,redirects,eastgate,sacrum,meteoric,riverbanks,guidebooks,ascribes,scoparia,iconoclastic,telegraphic,chine,merah,mistico,lectern,sheung,aethelstan,capablanca,anant,uspto,albatrosses,mymensingh,antiretroviral,clonal,coorg,vaillant,liquidator,gigas,yokai,eradicating,motorcyclists,waitakere,tandon,nears,montenegrins,250th,tatsuya,yassin,atheistic,syncretism,nahum,berisha,transcended,owensboro,lakshmana,abteilung,unadorned,nyack,overflows,harrisonburg,complainant,uematsu,frictional,worsens,sangguniang,abutment,bulwer,sarma,apollinaire,shippers,lycia,alentejo,porpoises,optus,trawling,augustow,blackwall,workbench,westmount,leaped,sikandar,conveniences,stornoway,culverts,zoroastrians,hristo,ansgar,assistive,reassert,fanned,compasses,delgada,maisons,arima,plonsk,verlaine,starstruck,rakhine,befell,spirally,wyclef,expend,colloquium,formula_63,albertus,bellarmine,handedness,holon,introns,movimiento,profitably,lohengrin,discoverers,awash,erste,pharisees,dwarka,oghuz,hashing,heterodox,uloom,vladikavkaz,linesman,rehired,nucleophile,germanicus,gulshan,songz,bayerische,paralympian,crumlin,enjoined,khanum,prahran,penitent,amersfoort,saranac,semisimple,vagrants,compositing,tualatin,oxalate,lavra,ironi,ilkeston,umpqua,calum,stretford,zakat,guelders,hydrazine,birkin,spurring,modularity,aspartate,sodermanland,hopital,bellary,legazpi,clasico,cadfael,hypersonic,volleys,pharmacokinetics,carotene,orientale,pausini,bataille,lunga,retailed,m.phil,mazowieckie,vijayan,rawal,sublimation,promissory,estimators,ploughed,conflagration,penda,segregationist,otley,amputee,coauthor,sopra,pellew,wreckers,tollywood,circumscription,permittivity,strabane,landward,articulates,beaverbrook,rutherglen,coterminous,whistleblowers,colloidal,surbiton,atlante,oswiecim,bhasa,lampooned,chanter,saarc,landkreis,tribulation,tolerates,daiichi,hatun,cowries,dyschirius,abercromby,attock,aldwych,inflows,absolutist,l'histoire,committeeman,vanbrugh,headstock,westbourne,appenzell,hoxton,oculus,westfalen,roundabouts,nickelback,trovatore,quenching,summarises,conservators,transmutation,talleyrand,barzani,unwillingly,axonal,'blue,opining,enveloping,fidesz,rafah,colborne,flickr,lozenge,dulcimer,ndebele,swaraj,oxidize,gonville,resonated,gilani,superiore,endeared,janakpur,shepperton,solidifying,memoranda,sochaux,kurnool,rewari,emirs,kooning,bruford,unavailability,kayseri,judicious,negating,pterosaur,cytosolic,chernihiv,variational,sabretooth,seawolves,devalued,nanded,adverb,volunteerism,sealers,nemours,smederevo,kashubian,bartin,animax,vicomte,polotsk,polder,archiepiscopal,acceptability,quidditch,tussock,seminaire,immolation,belge,coves,wellingborough,khaganate,mckellen,nayaka,brega,kabhi,pontoons,bascule,newsreels,injectors,cobol,weblog,diplo,biggar,wheatbelt,erythrocytes,pedra,showgrounds,bogdanovich,eclecticism,toluene,elegies,formalize,andromedae,airworthiness,springville,mainframes,overexpression,magadha,bijelo,emlyn,glutamine,accenture,uhuru,metairie,arabidopsis,patanjali,peruvians,berezovsky,accion,astrolabe,jayanti,earnestly,sausalito,recurved,1500s,ramla,incineration,galleons,laplacian,shiki,smethwick,isomerase,dordevic,janow,jeffersonville,internationalism,penciled,styrene,ashur,nucleoside,peristome,horsemanship,sedges,bachata,medes,kristallnacht,schneerson,reflectance,invalided,strutt,draupadi,destino,partridges,tejas,quadrennial,aurel,halych,ethnomusicology,autonomist,radyo,rifting,shi'ar,crvena,telefilm,zawahiri,plana,sultanates,theodorus,subcontractors,pavle,seneschal,teleports,chernivtsi,buccal,brattleboro,stankovic,safar,dunhuang,electrocution,chastised,ergonomic,midsomer,130th,zomba,nongovernmental,escapist,localize,xuzhou,kyrie,carinthian,karlovac,nisan,kramnik,pilipino,digitisation,khasi,andronicus,highwayman,maior,misspelling,sebastopol,socon,rhaetian,archimandrite,partway,positivity,otaku,dingoes,tarski,geopolitics,disciplinarian,zulfikar,kenzo,globose,electrophilic,modele,storekeeper,pohang,wheldon,washers,interconnecting,digraphs,intrastate,campy,helvetic,frontispiece,ferrocarril,anambra,petraeus,midrib,endometrial,dwarfism,mauryan,endocytosis,brigs,percussionists,furtherance,synergistic,apocynaceae,krona,berthier,circumvented,casal,siltstone,precast,ethnikos,realists,geodesy,zarzuela,greenback,tripathi,persevered,interments,neutralization,olbermann,departements,supercomputing,demobilised,cassavetes,dunder,ministering,veszprem,barbarism,'world,pieve,apologist,frentzen,sulfides,firewalls,pronotum,staatsoper,hachette,makhachkala,oberland,phonon,yoshihiro,instars,purnima,winslet,mutsu,ergative,sajid,nizamuddin,paraphrased,ardeidae,kodagu,monooxygenase,skirmishers,sportiva,o'byrne,mykolaiv,ophir,prieta,gyllenhaal,kantian,leche,copan,herero,ps250,gelsenkirchen,shalit,sammarinese,chetwynd,wftda,travertine,warta,sigmaringen,concerti,namespace,ostergotland,biomarker,universals,collegio,embarcadero,wimborne,fiddlers,likening,ransomed,stifled,unabated,kalakaua,khanty,gongs,goodrem,countermeasure,publicizing,geomorphology,swedenborg,undefended,catastrophes,diverts,storyboards,amesbury,contactless,placentia,festivity,authorise,terrane,thallium,stradivarius,antonine,consortia,estimations,consecrate,supergiant,belichick,pendants,butyl,groza,univac,afire,kavala,studi,teletoon,paucity,gonbad,koninklijke,128th,stoichiometric,multimodal,facundo,anatomic,melamine,creuse,altan,brigands,mcguinty,blomfield,tsvangirai,protrusion,lurgan,warminster,tenzin,russellville,discursive,definable,scotrail,lignin,reincorporated,o'dell,outperform,redland,multicolored,evaporates,dimitrie,limbic,patapsco,interlingua,surrogacy,cutty,potrero,masud,cahiers,jintao,ardashir,centaurus,plagiarized,minehead,musings,statuettes,logarithms,seaview,prohibitively,downforce,rivington,tomorrowland,microbiologist,ferric,morag,capsid,kucinich,clairvaux,demotic,seamanship,cicada,painterly,cromarty,carbonic,tupou,oconee,tehuantepec,typecast,anstruther,internalized,underwriters,tetrahedra,flagrant,quakes,pathologies,ulrik,nahal,tarquini,dongguan,parnassus,ryoko,senussi,seleucia,airasia,einer,sashes,d'amico,matriculating,arabesque,honved,biophysical,hardinge,kherson,mommsen,diels,icbms,reshape,brasiliensis,palmach,netaji,oblate,functionalities,grigor,blacksburg,recoilless,melanchthon,reales,astrodome,handcrafted,memes,theorizes,isma'il,aarti,pirin,maatschappij,stabilizes,honiara,ashbury,copts,rootes,defensed,queiroz,mantegna,galesburg,coraciiformesfamily,cabrillo,tokio,antipsychotics,kanon,173rd,apollonia,finial,lydian,hadamard,rangi,dowlatabad,monolingual,platformer,subclasses,chiranjeevi,mirabeau,newsgroup,idmanyurdu,kambojas,walkover,zamoyski,generalist,khedive,flanges,knowle,bande,157th,alleyn,reaffirm,pininfarina,zuckerberg,hakodate,131st,aditi,bellinzona,vaulter,planking,boscombe,colombians,lysis,toppers,metered,nahyan,queensryche,minho,nagercoil,firebrand,foundress,bycatch,mendota,freeform,antena,capitalisation,martinus,overijssel,purists,interventionist,zgierz,burgundians,hippolyta,trompe,umatilla,moroccans,dictionnaire,hydrography,changers,chota,rimouski,aniline,bylaw,grandnephew,neamt,lemnos,connoisseurs,tractive,rearrangements,fetishism,finnic,apalachicola,landowning,calligraphic,circumpolar,mansfeld,legible,orientalism,tannhauser,blamey,maximization,noinclude,blackbirds,angara,ostersund,pancreatitis,glabra,acleris,juried,jungian,triumphantly,singlet,plasmas,synesthesia,yellowhead,unleashes,choiseul,quanzhong,brookville,kaskaskia,igcse,skatepark,jatin,jewellers,scaritinae,techcrunch,tellurium,lachaise,azuma,codeshare,dimensionality,unidirectional,scolaire,macdill,camshafts,unassisted,verband,kahlo,eliya,prelature,chiefdoms,saddleback,sockers,iommi,coloratura,llangollen,biosciences,harshest,maithili,k'iche,plical,multifunctional,andreu,tuskers,confounding,sambre,quarterdeck,ascetics,berdych,transversal,tuolumne,sagami,petrobras,brecker,menxia,instilling,stipulating,korra,oscillate,deadpan,v/line,pyrotechnic,stoneware,prelims,intracoastal,retraining,ilija,berwyn,encrypt,achievers,zulfiqar,glycoproteins,khatib,farmsteads,occultist,saman,fionn,derulo,khilji,obrenovic,argosy,toowong,dementieva,sociocultural,iconostasis,craigslist,festschrift,taifa,intercalated,tanjong,penticton,sharad,marxian,extrapolation,guises,wettin,prabang,exclaiming,kosta,famas,conakry,wanderings,'aliabad,macleay,exoplanet,bancorp,besiegers,surmounting,checkerboard,rajab,vliet,tarek,operable,wargaming,haldimand,fukuyama,uesugi,aggregations,erbil,brachiopods,tokyu,anglais,unfavorably,ujpest,escorial,armagnac,nagara,funafuti,ridgeline,cocking,o'gorman,compactness,retardant,krajowa,barua,coking,bestows,thampi,chicagoland,variably,o'loughlin,minnows,schwa,shaukat,polycarbonate,chlorinated,godalming,gramercy,delved,banqueting,enlil,sarada,prasanna,domhnall,decadal,regressive,lipoprotein,collectable,surendra,zaporizhia,cycliste,suchet,offsetting,formula_65,pudong,d'arte,blyton,quonset,osmania,tientsin,manorama,proteomics,bille,jalpaiguri,pertwee,barnegat,inventiveness,gollancz,euthanized,henricus,shortfalls,wuxia,chlorides,cerrado,polyvinyl,folktale,straddled,bioengineering,eschewing,greendale,recharged,olave,ceylonese,autocephalous,peacebuilding,wrights,guyed,rosamund,abitibi,bannockburn,gerontology,scutari,souness,seagram,codice_9,'open,xhtml,taguig,purposed,darbar,orthopedics,unpopulated,kisumu,tarrytown,feodor,polyhedral,monadnock,gottorp,priam,redesigning,gasworks,elfin,urquiza,homologation,filipovic,bohun,manningham,gornik,soundness,shorea,lanus,gelder,darke,sandgate,criticality,paranaense,153rd,vieja,lithograph,trapezoid,tiebreakers,convalescence,yan'an,actuaries,balad,altimeter,thermoelectric,trailblazer,previn,tenryu,ancaster,endoscopy,nicolet,discloses,fracking,plaine,salado,americanism,placards,absurdist,propylene,breccia,jirga,documenta,ismailis,161st,brentano,dallas/fort,embellishment,calipers,subscribes,mahavidyalaya,wednesbury,barnstormers,miwok,schembechler,minigame,unterberger,dopaminergic,inacio,nizamabad,overridden,monotype,cavernous,stichting,sassafras,sotho,argentinean,myrrh,rapidity,flatts,gowrie,dejected,kasaragod,cyprinidae,interlinked,arcseconds,degeneracy,infamously,incubate,substructure,trigeminal,sectarianism,marshlands,hooliganism,hurlers,isolationist,urania,burrard,switchover,lecco,wilts,interrogator,strived,ballooning,volterra,raciborz,relegating,gilding,cybele,dolomites,parachutist,lochaber,orators,raeburn,backend,benaud,rallycross,facings,banga,nuclides,defencemen,futurity,emitters,yadkin,eudonia,zambales,manasseh,sirte,meshes,peculiarly,mcminnville,roundly,boban,decrypt,icelanders,sanam,chelan,jovian,grudgingly,penalised,subscript,gambrinus,poaceae,infringements,maleficent,runciman,148th,supersymmetry,granites,liskeard,eliciting,involution,hallstatt,kitzbuhel,shankly,sandhills,inefficiencies,yishuv,psychotropic,nightjars,wavell,sangamon,vaikundar,choshu,retrospectives,pitesti,gigantea,hashemi,bosna,gakuin,siochana,arrangers,baronetcies,narayani,temecula,creston,koscierzyna,autochthonous,wyandot,anniston,igreja,mobilise,buzau,dunster,musselburgh,wenzhou,khattak,detoxification,decarboxylase,manlius,campbells,coleoptera,copyist,sympathisers,suisun,eminescu,defensor,transshipment,thurgau,somerton,fluctuates,ambika,weierstrass,lukow,giambattista,volcanics,romanticized,innovated,matabeleland,scotiabank,garwolin,purine,d'auvergne,borderland,maozhen,pricewaterhousecoopers,testator,pallium,scout.com,mv/pi,nazca,curacies,upjohn,sarasvati,monegasque,ketrzyn,malory,spikelets,biomechanics,haciendas,rapped,dwarfed,stews,nijinsky,subjection,matsu,perceptible,schwarzburg,midsection,entertains,circuitous,epiphytic,wonsan,alpini,bluefield,sloths,transportable,braunfels,dictum,szczecinek,jukka,wielun,wejherowo,hucknall,grameen,duodenum,ribose,deshpande,shahar,nexstar,injurious,dereham,lithographer,dhoni,structuralist,progreso,deschutes,christus,pulteney,quoins,yitzchak,gyeongsang,breviary,makkah,chiyoda,jutting,vineland,angiosperms,necrotic,novelisation,redistribute,tirumala,140th,featureless,mafic,rivaling,toyline,2/1st,martius,saalfeld,monthan,texian,kathak,melodramas,mithila,regierungsbezirk,509th,fermenting,schoolmate,virtuosic,briain,kokoda,heliocentric,handpicked,kilwinning,sonically,dinars,kasim,parkways,bogdanov,luxembourgian,halland,avesta,bardic,daugavpils,excavator,qwest,frustrate,physiographic,majoris,'ndrangheta,unrestrained,firmness,montalban,abundances,preservationists,adare,executioners,guardsman,bonnaroo,neglects,nazrul,pro12,hoorn,abercorn,refuting,kabud,cationic,parapsychology,troposphere,venezuelans,malignancy,khoja,unhindered,accordionist,medak,visby,ejercito,laparoscopic,dinas,umayyads,valmiki,o'dowd,saplings,stranding,incisions,illusionist,avocets,buccleuch,amazonia,fourfold,turboprops,roosts,priscus,turnstile,areal,certifies,pocklington,spoofs,viseu,commonalities,dabrowka,annam,homesteaders,daredevils,mondrian,negotiates,fiestas,perennials,maximizes,lubavitch,ravindra,scrapers,finials,kintyre,violas,snoqualmie,wilders,openbsd,mlawa,peritoneal,devarajan,congke,leszno,mercurial,fakir,joannes,bognor,overloading,unbuilt,gurung,scuttle,temperaments,bautzen,jardim,tradesman,visitations,barbet,sagamore,graaff,forecasters,wilsons,assis,l'air,shariah,sochaczew,russa,dirge,biliary,neuve,heartbreakers,strathearn,jacobian,overgrazing,edrich,anticline,parathyroid,petula,lepanto,decius,channelled,parvathi,puppeteers,communicators,francorchamps,kahane,longus,panjang,intron,traite,xxvii,matsuri,amrit,katyn,disheartened,cacak,omonia,alexandrine,partaking,wrangling,adjuvant,haskovo,tendrils,greensand,lammermoor,otherworld,volusia,stabling,one-and-a-half,bresson,zapatista,eotvos,ps150,webisodes,stepchildren,microarray,braganca,quanta,dolne,superoxide,bellona,delineate,ratha,lindenwood,bruhl,cingulate,tallies,bickerton,helgi,bevin,takoma,tsukuba,statuses,changeling,alister,bytom,dibrugarh,magnesia,duplicating,outlier,abated,goncalo,strelitz,shikai,mardan,musculature,ascomycota,springhill,tumuli,gabaa,odenwald,reformatted,autocracy,theresienstadt,suplex,chattopadhyay,mencken,congratulatory,weatherfield,systema,solemnity,projekt,quanzhou,kreuzberg,postbellum,nobuo,mediaworks,finisterre,matchplay,bangladeshis,kothen,oocyte,hovered,aromas,afshar,browed,teases,chorlton,arshad,cesaro,backbencher,iquique,vulcans,padmini,unabridged,cyclase,despotic,kirilenko,achaean,queensberry,debre,octahedron,iphigenia,curbing,karimnagar,sagarmatha,smelters,surrealists,sanada,shrestha,turridae,leasehold,jiedushi,eurythmics,appropriating,correze,thimphu,amery,musicomh,cyborgs,sandwell,pushcart,retorts,ameliorate,deteriorates,stojanovic,spline,entrenchments,bourse,chancellorship,pasolini,lendl,personage,reformulated,pubescens,loiret,metalurh,reinvention,nonhuman,eilema,tarsal,complutense,magne,broadview,metrodome,outtake,stouffville,seinen,bataillon,phosphoric,ostensible,opatow,aristides,beefheart,glorifying,banten,romsey,seamounts,fushimi,prophylaxis,sibylla,ranjith,goslar,balustrades,georgiev,caird,lafitte,peano,canso,bankura,halfpenny,segregate,caisson,bizerte,jamshedpur,euromaidan,philosophie,ridged,cheerfully,reclassification,aemilius,visionaries,samoans,wokingham,chemung,wolof,unbranched,cinerea,bhosle,ourense,immortalised,cornerstones,sourcebook,khufu,archimedean,universitatea,intermolecular,fiscally,suffices,metacomet,adjudicator,stablemate,specks,glace,inowroclaw,patristic,muharram,agitating,ashot,neurologic,didcot,gamla,ilves,putouts,siraj,laski,coaling,diarmuid,ratnagiri,rotulorum,liquefaction,morbihan,harel,aftershock,gruiformesfamily,bonnier,falconiformesfamily,adorns,wikis,maastrichtian,stauffenberg,bishopsgate,fakhr,sevenfold,ponders,quantifying,castiel,opacity,depredations,lenten,gravitated,o'mahony,modulates,inuktitut,paston,kayfabe,vagus,legalised,balked,arianism,tendering,sivas,birthdate,awlaki,khvajeh,shahab,samtgemeinde,bridgeton,amalgamations,biogenesis,recharging,tsukasa,mythbusters,chamfered,enthronement,freelancers,maharana,constantia,sutil,messines,monkton,okanogan,reinvigorated,apoplexy,tanahashi,neues,valiants,harappan,russes,carding,volkoff,funchal,statehouse,imitative,intrepidity,mellotron,samaras,turkana,besting,longitudes,exarch,diarrhoea,transcending,zvonareva,darna,ramblin,disconnection,137th,refocused,diarmait,agricole,ba'athist,turenne,contrabass,communis,daviess,fatimids,frosinone,fittingly,polyphyletic,qanat,theocratic,preclinical,abacha,toorak,marketplaces,conidia,seiya,contraindicated,retford,bundesautobahn,rebuilds,climatology,seaworthy,starfighter,qamar,categoria,malai,hellinsia,newstead,airworthy,catenin,avonmouth,arrhythmias,ayyavazhi,downgrade,ashburnham,ejector,kinematics,petworth,rspca,filmation,accipitridae,chhatrapati,g/mol,bacau,agama,ringtone,yudhoyono,orchestrator,arbitrators,138th,powerplants,cumbernauld,alderley,misamis,hawai`i,cuando,meistriliiga,jermyn,alans,pedigrees,ottavio,approbation,omnium,purulia,prioress,rheinland,lymphoid,lutsk,oscilloscope,ballina,iliac,motorbikes,modernising,uffizi,phylloxera,kalevala,bengalis,amravati,syntheses,interviewers,inflectional,outflank,maryhill,unhurt,profiler,nacelles,heseltine,personalised,guarda,herpetologist,airpark,pigot,margaretha,dinos,peleliu,breakbeat,kastamonu,shaivism,delamere,kingsville,epigram,khlong,phospholipids,journeying,lietuvos,congregated,deviance,celebes,subsoil,stroma,kvitova,lubricating,layoff,alagoas,olafur,doron,interuniversity,raycom,agonopterix,uzice,nanna,springvale,raimundo,wrested,pupal,talat,skinheads,vestige,unpainted,handan,odawara,ammar,attendee,lapped,myotis,gusty,ciconiiformesfamily,traversal,subfield,vitaphone,prensa,hasidism,inwood,carstairs,kropotkin,turgenev,dobra,remittance,purim,tannin,adige,tabulation,lethality,pacha,micronesian,dhruva,defensemen,tibeto,siculus,radioisotope,sodertalje,phitsanulok,euphonium,oxytocin,overhangs,skinks,fabrica,reinterred,emulates,bioscience,paragliding,raekwon,perigee,plausibility,frolunda,erroll,aznar,vyasa,albinus,trevally,confederacion,terse,sixtieth,1530s,kendriya,skateboarders,frontieres,muawiyah,easements,shehu,conservatively,keystones,kasem,brutalist,peekskill,cowry,orcas,syllabary,paltz,elisabetta,denticles,hampering,dolni,eidos,aarau,lermontov,yankton,shahbaz,barrages,kongsvinger,reestablishment,acetyltransferase,zulia,mrnas,slingsby,eucalypt,efficacious,weybridge,gradation,cinematheque,malthus,bampton,coexisted,cisse,hamdi,cupertino,saumarez,chionodes,libertine,formers,sakharov,pseudonymous,vol.1,mcduck,gopalakrishnan,amberley,jorhat,grandmasters,rudiments,dwindle,param,bukidnon,menander,americanus,multipliers,pulawy,homoerotic,pillbox,cd+dvd,epigraph,aleksandrow,extrapolated,horseshoes,contemporain,angiography,hasselt,shawinigan,memorization,legitimized,cyclades,outsold,rodolphe,kelis,powerball,dijkstra,analyzers,incompressible,sambar,orangeburg,osten,reauthorization,adamawa,sphagnum,hypermarket,millipedes,zoroaster,madea,ossuary,murrayfield,pronominal,gautham,resellers,ethers,quarrelled,dolna,stragglers,asami,tangut,passos,educacion,sharaf,texel,berio,bethpage,bezalel,marfa,noronha,36ers,genteel,avram,shilton,compensates,sweetener,reinstalled,disables,noether,1590s,balakrishnan,kotaro,northallerton,cataclysm,gholam,cancellara,schiphol,commends,longinus,albinism,gemayel,hamamatsu,volos,islamism,sidereal,pecuniary,diggings,townsquare,neosho,lushan,chittoor,akhil,disputation,desiccation,cambodians,thwarting,deliberated,ellipsis,bahini,susumu,separators,kohneh,plebeians,kultur,ogaden,pissarro,trypeta,latur,liaodong,vetting,datong,sohail,alchemists,lengthwise,unevenly,masterly,microcontrollers,occupier,deviating,farringdon,baccalaureat,theocracy,chebyshev,archivists,jayaram,ineffectiveness,scandinavians,jacobins,encomienda,nambu,g/cm3,catesby,paavo,heeded,rhodium,idealised,10deg,infective,mecyclothorax,halevy,sheared,minbari,audax,lusatian,rebuffs,hitfix,fastener,subjugate,tarun,binet,compuserve,synthesiser,keisuke,amalric,ligatures,tadashi,ignazio,abramovich,groundnut,otomo,maeve,mortlake,ostrogoths,antillean,todor,recto,millimetre,espousing,inaugurate,paracetamol,galvanic,harpalinae,jedrzejow,reassessment,langlands,civita,mikan,stikine,bijar,imamate,istana,kaiserliche,erastus,federale,cytosine,expansionism,hommes,norrland,smriti,snapdragon,gulab,taleb,lossy,khattab,urbanised,sesto,rekord,diffuser,desam,morganatic,silting,pacts,extender,beauharnais,purley,bouches,halfpipe,discontinuities,houthi,farmville,animism,horni,saadi,interpretative,blockades,symeon,biogeographic,transcaucasian,jetties,landrieu,astrocytes,conjunto,stumpings,weevils,geysers,redux,arching,romanus,tazeh,marcellinus,casein,opava,misrata,anare,sattar,declarer,dreux,oporto,venta,vallis,icosahedron,cortona,lachine,mohammedan,sandnes,zynga,clarin,diomedes,tsuyoshi,pribram,gulbarga,chartist,superettan,boscawen,altus,subang,gating,epistolary,vizianagaram,ogdensburg,panna,thyssen,tarkovsky,dzogchen,biograph,seremban,unscientific,nightjar,legco,deism,n.w.a,sudha,siskel,sassou,flintlock,jovial,montbeliard,pallida,formula_66,tranquillity,nisei,adornment,'people,yamhill,hockeyallsvenskan,adopters,appian,lowicz,haplotypes,succinctly,starogard,presidencies,kheyrabad,sobibor,kinesiology,cowichan,militum,cromwellian,leiningen,ps1.5,concourses,dalarna,goldfield,brzeg,faeces,aquarii,matchless,harvesters,181st,numismatics,korfball,sectioned,transpires,facultative,brandishing,kieron,forages,menai,glutinous,debarge,heathfield,1580s,malang,photoelectric,froome,semiotic,alwar,grammophon,chiaroscuro,mentalist,maramures,flacco,liquors,aleutians,marvell,sutlej,patnaik,qassam,flintoff,bayfield,haeckel,sueno,avicii,exoplanets,hoshi,annibale,vojislav,honeycombs,celebrant,rendsburg,veblen,quails,141st,carronades,savar,narrations,jeeva,ontologies,hedonistic,marinette,godot,munna,bessarabian,outrigger,thame,gravels,hoshino,falsifying,stereochemistry,nacionalista,medially,radula,ejecting,conservatorio,odile,ceiba,jaina,essonne,isometry,allophones,recidivism,iveco,ganda,grammarians,jagan,signposted,uncompressed,facilitators,constancy,ditko,propulsive,impaling,interbank,botolph,amlaib,intergroup,sorbus,cheka,debye,praca,adorning,presbyteries,dormition,strategos,qarase,pentecostals,beehives,hashemite,goldust,euronext,egress,arpanet,soames,jurchens,slovenska,copse,kazim,appraisals,marischal,mineola,sharada,caricaturist,sturluson,galba,faizabad,overwintering,grete,uyezds,didsbury,libreville,ablett,microstructure,anadolu,belenenses,elocution,cloaks,timeslots,halden,rashidun,displaces,sympatric,germanus,tuples,ceska,equalize,disassembly,krautrock,babangida,memel,deild,gopala,hematology,underclass,sangli,wawrinka,assur,toshack,refrains,nicotinic,bhagalpur,badami,racetracks,pocatello,walgreens,nazarbayev,occultation,spinnaker,geneon,josias,hydrolyzed,dzong,corregimiento,waistcoat,thermoplastic,soldered,anticancer,lactobacillus,shafi'i,carabus,adjournment,schlumberger,triceratops,despotate,mendicant,krishnamurti,bahasa,earthworm,lavoisier,noetherian,kalki,fervently,bhawan,saanich,coquille,gannet,motagua,kennels,mineralization,fitzherbert,svein,bifurcated,hairdressing,felis,abounded,dimers,fervour,hebdo,bluffton,aetna,corydon,clevedon,carneiro,subjectively,deutz,gastropoda,overshot,concatenation,varman,carolla,maharshi,mujib,inelastic,riverhead,initialized,safavids,rohini,caguas,bulges,fotbollforbund,hefei,spithead,westville,maronites,lytham,americo,gediminas,stephanus,chalcolithic,hijra,gnu/linux,predilection,rulership,sterility,haidar,scarlatti,saprissa,sviatoslav,pointedly,sunroof,guarantor,thevar,airstrips,pultusk,sture,129th,divinities,daizong,dolichoderus,cobourg,maoists,swordsmanship,uprated,bohme,tashi,largs,chandi,bluebeard,householders,richardsonian,drepanidae,antigonish,elbasan,occultism,marca,hypergeometric,oirat,stiglitz,ignites,dzungar,miquelon,pritam,d'automne,ulidiid,niamey,vallecano,fondo,billiton,incumbencies,raceme,chambery,cadell,barenaked,kagame,summerside,haussmann,hatshepsut,apothecaries,criollo,feint,nasals,timurid,feltham,plotinus,oxygenation,marginata,officinalis,salat,participations,ising,downe,izumo,unguided,pretence,coursed,haruna,viscountcy,mainstage,justicia,powiat,takara,capitoline,implacable,farben,stopford,cosmopterix,tuberous,kronecker,galatians,kweli,dogmas,exhorted,trebinje,skanda,newlyn,ablative,basidia,bhiwani,encroachments,stranglers,regrouping,tubal,shoestring,wawel,anionic,mesenchymal,creationists,pyrophosphate,moshi,despotism,powerbook,fatehpur,rupiah,segre,ternate,jessore,b.i.g,shevardnadze,abounds,gliwice,densest,memoria,suborbital,vietcong,ratepayers,karunanidhi,toolbar,descents,rhymney,exhortation,zahedan,carcinomas,hyperbaric,botvinnik,billets,neuropsychological,tigranes,hoards,chater,biennially,thistles,scotus,wataru,flotillas,hungama,monopolistic,payouts,vetch,generalissimo,caries,naumburg,piran,blizzards,escalates,reactant,shinya,theorize,rizzoli,transitway,ecclesiae,streptomyces,cantal,nisibis,superconductor,unworkable,thallus,roehampton,scheckter,viceroys,makuuchi,ilkley,superseding,takuya,klodzko,borbon,raspberries,operand,w.a.k.o,sarabande,factionalism,egalitarianism,temasek,torbat,unscripted,jorma,westerner,perfective,vrije,underlain,goldfrapp,blaenau,jomon,barthes,drivetime,bassa,bannock,umaga,fengxiang,zulus,sreenivasan,farces,codice_10,freeholder,poddebice,imperialists,deregulated,wingtip,o'hagan,pillared,overtone,hofstadter,149th,kitano,saybrook,standardizing,aldgate,staveley,o'flaherty,hundredths,steerable,soltan,empted,cruyff,intramuros,taluks,cotonou,marae,karur,figueres,barwon,lucullus,niobe,zemlya,lathes,homeported,chaux,amyotrophic,opines,exemplars,bhamo,homomorphisms,gauleiter,ladin,mafiosi,airdrieonians,b/soul,decal,transcaucasia,solti,defecation,deaconess,numidia,sampradaya,normalised,wingless,schwaben,alnus,cinerama,yakutsk,ketchikan,orvieto,unearned,monferrato,rotem,aacsb,loong,decoders,skerries,cardiothoracic,repositioning,pimpernel,yohannan,tenebrionoidea,nargis,nouvel,costliest,interdenominational,noize,redirecting,zither,morcha,radiometric,frequenting,irtysh,gbagbo,chakri,litvinenko,infotainment,ravensbruck,harith,corbels,maegashira,jousting,natan,novus,falcao,minis,railed,decile,rauma,ramaswamy,cavitation,paranaque,berchtesgaden,reanimated,schomberg,polysaccharides,exclusionary,cleon,anurag,ravaging,dhanush,mitchells,granule,contemptuous,keisei,rolleston,atlantean,yorkist,daraa,wapping,micrometer,keeneland,comparably,baranja,oranje,schlafli,yogic,dinajpur,unimpressive,masashi,recreativo,alemannic,petersfield,naoko,vasudeva,autosport,rajat,marella,busko,wethersfield,ssris,soulcalibur,kobani,wildland,rookery,hoffenheim,kauri,aliphatic,balaclava,ferrite,publicise,victorias,theism,quimper,chapbook,functionalist,roadbed,ulyanovsk,cupen,purpurea,calthorpe,teofilo,mousavi,cochlea,linotype,detmold,ellerslie,gakkai,telkom,southsea,subcontractor,inguinal,philatelists,zeebrugge,piave,trochidae,dempo,spoilt,saharanpur,mihrab,parasympathetic,barbarous,chartering,antiqua,katsina,bugis,categorizes,altstadt,kandyan,pambansa,overpasses,miters,assimilating,finlandia,uneconomic,am/fm,harpsichordist,dresdner,luminescence,authentically,overpowers,magmatic,cliftonville,oilfields,skirted,berthe,cuman,oakham,frelimo,glockenspiel,confection,saxophonists,piaseczno,multilevel,antipater,levying,maltreatment,velho,opoczno,harburg,pedophilia,unfunded,palettes,plasterwork,breve,dharmendra,auchinleck,nonesuch,blackmun,libretti,rabbani,145th,hasselbeck,kinnock,malate,vanden,cloverdale,ashgabat,nares,radians,steelworkers,sabor,possums,catterick,hemispheric,ostra,outpaced,dungeness,almshouse,penryn,texians,1000m,franchitti,incumbency,texcoco,newar,tramcars,toroidal,meitetsu,spellbound,agronomist,vinifera,riata,bunko,pinas,ba'al,github,vasilyevich,obsolescent,geodesics,ancestries,tujue,capitalised,unassigned,throng,unpaired,psychometric,skegness,exothermic,buffered,kristiansund,tongued,berenger,basho,alitalia,prolongation,archaeologically,fractionation,cyprinid,echinoderms,agriculturally,justiciar,sonam,ilium,baits,danceable,grazer,ardahan,grassed,preemption,glassworks,hasina,ugric,umbra,wahhabi,vannes,tinnitus,capitaine,tikrit,lisieux,scree,hormuz,despenser,jagiellon,maisonneuve,gandaki,santarem,basilicas,lancing,landskrona,weilburg,fireside,elysian,isleworth,krishnamurthy,filton,cynon,tecmo,subcostal,scalars,triglycerides,hyperplane,farmingdale,unione,meydan,pilings,mercosur,reactivate,akiba,fecundity,jatra,natsume,zarqawi,preta,masao,presbyter,oakenfold,rhodri,ferran,ruizong,cloyne,nelvana,epiphanius,borde,scutes,strictures,troughton,whitestone,sholom,toyah,shingon,kutuzov,abelard,passant,lipno,cafeterias,residuals,anabaptists,paratransit,criollos,pleven,radiata,destabilizing,hadiths,bazaars,mannose,taiyo,crookes,welbeck,baoding,archelaus,nguesso,alberni,wingtips,herts,viasat,lankans,evreux,wigram,fassbinder,ryuichi,storting,reducible,olesnica,znojmo,hyannis,theophanes,flatiron,mustering,rajahmundry,kadir,wayang,prome,lethargy,zubin,illegality,conall,dramedy,beerbohm,hipparchus,ziarat,ryuji,shugo,glenorchy,microarchitecture,morne,lewinsky,cauvery,battenberg,hyksos,wayanad,hamilcar,buhari,brazo,bratianu,solms,aksaray,elamite,chilcotin,bloodstock,sagara,dolny,reunified,umlaut,proteaceae,camborne,calabrian,dhanbad,vaxjo,cookware,potez,rediffusion,semitones,lamentations,allgau,guernica,suntory,pleated,stationing,urgell,gannets,bertelsmann,entryway,raphitomidae,acetaldehyde,nephrology,categorizing,beiyang,permeate,tourney,geosciences,khana,masayuki,crucis,universitaria,slaskie,khaimah,finno,advani,astonishingly,tubulin,vampiric,jeolla,sociale,cleethorpes,badri,muridae,suzong,debater,decimation,kenyans,mutualism,pontifex,middlemen,insee,halevi,lamentation,psychopathy,brassey,wenders,kavya,parabellum,prolactin,inescapable,apses,malignancies,rinzai,stigmatized,menahem,comox,ateliers,welshpool,setif,centimetre,truthfulness,downfield,drusus,woden,glycosylation,emanated,agulhas,dalkeith,jazira,nucky,unifil,jobim,operon,oryzomys,heroically,seances,supernumerary,backhouse,hashanah,tatler,imago,invert,hayato,clockmaker,kingsmill,swiecie,analogously,golconda,poste,tacitly,decentralised,ge'ez,diplomatically,fossiliferous,linseed,mahavira,pedestals,archpriest,byelection,domiciled,jeffersonian,bombus,winegrowing,waukegan,uncultivated,haverfordwest,saumur,communally,disbursed,cleeve,zeljeznicar,speciosa,vacationers,sigur,vaishali,zlatko,iftikhar,cropland,transkei,incompleteness,bohra,subantarctic,slieve,physiologic,similis,klerk,replanted,'right,chafee,reproducible,bayburt,regicide,muzaffarpur,plurals,hanyu,orthologs,diouf,assailed,kamui,tarik,dodecanese,gorne,on/off,179th,shimoga,granaries,carlists,valar,tripolitania,sherds,simmern,dissociated,isambard,polytechnical,yuvraj,brabazon,antisense,pubmed,glans,minutely,masaaki,raghavendra,savoury,podcasting,tachi,bienville,gongsun,ridgely,deform,yuichi,binders,canna,carcetti,llobregat,implored,berri,njegos,intermingled,offload,athenry,motherhouse,corpora,kakinada,dannebrog,imperio,prefaces,musicologists,aerospatiale,shirai,nagapattinam,servius,cristoforo,pomfret,reviled,entebbe,stane,east/west,thermometers,matriarchal,siglo,bodil,legionnaire,ze'ev,theorizing,sangeetha,horticulturist,uncountable,lookalike,anoxic,ionospheric,genealogists,chicopee,imprinting,popish,crematoria,diamondback,cyathea,hanzhong,cameramen,halogaland,naklo,waclaw,storehouses,flexed,comuni,frits,glauca,nilgiris,compresses,nainital,continuations,albay,hypoxic,samajwadi,dunkerque,nanticoke,sarwar,interchanged,jubal,corba,jalgaon,derleth,deathstroke,magny,vinnytsia,hyphenated,rimfire,sawan,boehner,disrepute,normalize,aromanian,dualistic,approximant,chama,karimabad,barnacles,sanok,stipends,dyfed,rijksmuseum,reverberation,suncorp,fungicides,reverie,spectrograph,stereophonic,niazi,ordos,alcan,karaite,lautrec,tableland,lamellar,rieti,langmuir,russula,webern,tweaks,hawick,southerner,morphy,naturalisation,enantiomer,michinoku,barbettes,relieves,carburettors,redruth,oblates,vocabularies,mogilev,bagmati,galium,reasserted,extolled,symon,eurosceptic,inflections,tirtha,recompense,oruro,roping,gouverneur,pared,yayoi,watermills,retooled,leukocytes,jubilant,mazhar,nicolau,manheim,touraine,bedser,hambledon,kohat,powerhouses,tlemcen,reuven,sympathetically,afrikaners,interes,handcrafts,etcher,baddeley,wodonga,amaury,155th,vulgarity,pompadour,automorphisms,1540s,oppositions,prekmurje,deryni,fortifying,arcuate,mahila,bocage,uther,nozze,slashes,atlantica,hadid,rhizomatous,azeris,'with,osmena,lewisville,innervated,bandmaster,outcropping,parallelogram,dominicana,twang,ingushetia,extensional,ladino,sastry,zinoviev,relatable,nobilis,cbeebies,hitless,eulima,sporangia,synge,longlisted,criminalized,penitential,weyden,tubule,volyn,priestesses,glenbrook,kibbutzim,windshaft,canadair,falange,zsolt,bonheur,meine,archangels,safeguarded,jamaicans,malarial,teasers,badging,merseyrail,operands,pulsars,gauchos,biotin,bambara,necaxa,egmond,tillage,coppi,anxiolytic,preah,mausoleums,plautus,feroz,debunked,187th,belediyespor,mujibur,wantage,carboxyl,chettiar,murnau,vagueness,racemic,backstretch,courtland,municipio,palpatine,dezful,hyperbola,sreekumar,chalons,altay,arapahoe,tudors,sapieha,quilon,burdensome,kanya,xxviii,recension,generis,siphuncle,repressor,bitrate,mandals,midhurst,dioxin,democratique,upholds,rodez,cinematographic,epoque,jinping,rabelais,zhytomyr,glenview,rebooted,khalidi,reticulata,122nd,monnaie,passersby,ghazals,europaea,lippmann,earthbound,tadic,andorran,artvin,angelicum,banksy,epicentre,resemblances,shuttled,rathaus,bernt,stonemasons,balochi,siang,tynemouth,cygni,biosynthetic,precipitates,sharecroppers,d'annunzio,softbank,shiji,apeldoorn,polycyclic,wenceslas,wuchang,samnites,tamarack,silmarillion,madinah,palaeontology,kirchberg,sculpin,rohtak,aquabats,oviparous,thynne,caney,blimps,minimalistic,whatcom,palatalization,bardstown,direct3d,paramagnetic,kamboja,khash,globemaster,lengua,matej,chernigov,swanage,arsenals,cascadia,cundinamarca,tusculum,leavers,organics,warplanes,'three,exertions,arminius,gandharva,inquires,comercio,kuopio,chabahar,plotlines,mersenne,anquetil,paralytic,buckminster,ambit,acrolophus,quantifiers,clacton,ciliary,ansaldo,fergana,egoism,thracians,chicoutimi,northbrook,analgesia,brotherhoods,hunza,adriaen,fluoridation,snowfalls,soundboard,fangoria,cannibalistic,orthogonius,chukotka,dindigul,manzoni,chainz,macromedia,beltline,muruga,schistura,provable,litex,initio,pneumoniae,infosys,cerium,boonton,cannonballs,d'une,solvency,mandurah,houthis,dolmens,apologists,radioisotopes,blaxploitation,poroshenko,stawell,coosa,maximilien,tempelhof,espouse,declaratory,hambro,xalapa,outmoded,mihiel,benefitting,desirous,archeparchy,repopulated,telescoping,captor,mackaye,disparaged,ramanathan,crowne,tumbled,technetium,silted,chedi,nievre,hyeon,cartoonish,interlock,infocom,rediff.com,dioramas,timekeeping,concertina,kutaisi,cesky,lubomirski,unapologetic,epigraphic,stalactites,sneha,biofilm,falconry,miraflores,catena,'outstanding,prospekt,apotheosis,o'odham,pacemakers,arabica,gandhinagar,reminisces,iroquoian,ornette,tilling,neoliberalism,chameleons,pandava,prefontaine,haiyan,gneisenau,utama,bando,reconstitution,azaria,canola,paratroops,ayckbourn,manistee,stourton,manifestos,lympne,denouement,tractatus,rakim,bellflower,nanometer,sassanids,turlough,presbyterianism,varmland,20deg,phool,nyerere,almohad,manipal,vlaanderen,quickness,removals,makow,circumflex,eatery,morane,fondazione,alkylation,unenforceable,galliano,silkworm,junior/senior,abducts,phlox,konskie,lofoten,buuren,glyphosate,faired,naturae,cobbles,taher,skrulls,dostoevsky,walkout,wagnerian,orbited,methodically,denzil,sarat,extraterritorial,kohima,d'armor,brinsley,rostropovich,fengtian,comitatus,aravind,moche,wrangell,giscard,vantaa,viljandi,hakoah,seabees,muscatine,ballade,camanachd,sothern,mullioned,durad,margraves,maven,arete,chandni,garifuna,142nd,reading/literature,thickest,intensifies,trygve,khaldun,perinatal,asana,powerline,acetylation,nureyev,omiya,montesquieu,riverwalk,marly,correlating,intermountain,bulgar,hammerheads,underscores,wiretapping,quatrain,ruisseau,newsagent,tuticorin,polygyny,hemsworth,partisanship,banna,istrian,evaporator".split(","),
18185female_names:"mary,patricia,linda,barbara,elizabeth,jennifer,maria,susan,margaret,dorothy,lisa,nancy,karen,betty,helen,sandra,donna,carol,ruth,sharon,michelle,laura,sarah,kimberly,deborah,jessica,shirley,cynthia,angela,melissa,brenda,amy,anna,rebecca,virginia,kathleen,pamela,martha,debra,amanda,stephanie,carolyn,christine,marie,janet,catherine,frances,ann,joyce,diane,alice,julie,heather,teresa,doris,gloria,evelyn,jean,cheryl,mildred,katherine,joan,ashley,judith,rose,janice,kelly,nicole,judy,christina,kathy,theresa,beverly,denise,tammy,irene,jane,lori,rachel,marilyn,andrea,kathryn,louise,sara,anne,jacqueline,wanda,bonnie,julia,ruby,lois,tina,phyllis,norma,paula,diana,annie,lillian,emily,robin,peggy,crystal,gladys,rita,dawn,connie,florence,tracy,edna,tiffany,carmen,rosa,cindy,grace,wendy,victoria,edith,kim,sherry,sylvia,josephine,thelma,shannon,sheila,ethel,ellen,elaine,marjorie,carrie,charlotte,monica,esther,pauline,emma,juanita,anita,rhonda,hazel,amber,eva,debbie,april,leslie,clara,lucille,jamie,joanne,eleanor,valerie,danielle,megan,alicia,suzanne,michele,gail,bertha,darlene,veronica,jill,erin,geraldine,lauren,cathy,joann,lorraine,lynn,sally,regina,erica,beatrice,dolores,bernice,audrey,yvonne,annette,marion,dana,stacy,ana,renee,ida,vivian,roberta,holly,brittany,melanie,loretta,yolanda,jeanette,laurie,katie,kristen,vanessa,alma,sue,elsie,beth,jeanne,vicki,carla,tara,rosemary,eileen,terri,gertrude,lucy,tonya,ella,stacey,wilma,gina,kristin,jessie,natalie,agnes,vera,charlene,bessie,delores,melinda,pearl,arlene,maureen,colleen,allison,tamara,joy,georgia,constance,lillie,claudia,jackie,marcia,tanya,nellie,minnie,marlene,heidi,glenda,lydia,viola,courtney,marian,stella,caroline,dora,vickie,mattie,maxine,irma,mabel,marsha,myrtle,lena,christy,deanna,patsy,hilda,gwendolyn,jennie,nora,margie,nina,cassandra,leah,penny,kay,priscilla,naomi,carole,olga,billie,dianne,tracey,leona,jenny,felicia,sonia,miriam,velma,becky,bobbie,violet,kristina,toni,misty,mae,shelly,daisy,ramona,sherri,erika,katrina,claire,lindsey,lindsay,geneva,guadalupe,belinda,margarita,sheryl,cora,faye,ada,sabrina,isabel,marguerite,hattie,harriet,molly,cecilia,kristi,brandi,blanche,sandy,rosie,joanna,iris,eunice,angie,inez,lynda,madeline,amelia,alberta,genevieve,monique,jodi,janie,kayla,sonya,jan,kristine,candace,fannie,maryann,opal,alison,yvette,melody,luz,susie,olivia,flora,shelley,kristy,mamie,lula,lola,verna,beulah,antoinette,candice,juana,jeannette,pam,kelli,whitney,bridget,karla,celia,latoya,patty,shelia,gayle,della,vicky,lynne,sheri,marianne,kara,jacquelyn,erma,blanca,myra,leticia,pat,krista,roxanne,angelica,robyn,adrienne,rosalie,alexandra,brooke,bethany,sadie,bernadette,traci,jody,kendra,nichole,rachael,mable,ernestine,muriel,marcella,elena,krystal,angelina,nadine,kari,estelle,dianna,paulette,lora,mona,doreen,rosemarie,desiree,antonia,janis,betsy,christie,freda,meredith,lynette,teri,cristina,eula,leigh,meghan,sophia,eloise,rochelle,gretchen,cecelia,raquel,henrietta,alyssa,jana,gwen,jenna,tricia,laverne,olive,tasha,silvia,elvira,delia,kate,patti,lorena,kellie,sonja,lila,lana,darla,mindy,essie,mandy,lorene,elsa,josefina,jeannie,miranda,dixie,lucia,marta,faith,lela,johanna,shari,camille,tami,shawna,elisa,ebony,melba,ora,nettie,tabitha,ollie,winifred,kristie,alisha,aimee,rena,myrna,marla,tammie,latasha,bonita,patrice,ronda,sherrie,addie,francine,deloris,stacie,adriana,cheri,abigail,celeste,jewel,cara,adele,rebekah,lucinda,dorthy,effie,trina,reba,sallie,aurora,lenora,etta,lottie,kerri,trisha,nikki,estella,francisca,josie,tracie,marissa,karin,brittney,janelle,lourdes,laurel,helene,fern,elva,corinne,kelsey,ina,bettie,elisabeth,aida,caitlin,ingrid,iva,eugenia,christa,goldie,maude,jenifer,therese,dena,lorna,janette,latonya,candy,consuelo,tamika,rosetta,debora,cherie,polly,dina,jewell,fay,jillian,dorothea,nell,trudy,esperanza,patrica,kimberley,shanna,helena,cleo,stefanie,rosario,ola,janine,mollie,lupe,alisa,lou,maribel,susanne,bette,susana,elise,cecile,isabelle,lesley,jocelyn,paige,joni,rachelle,leola,daphne,alta,ester,petra,graciela,imogene,jolene,keisha,lacey,glenna,gabriela,keri,ursula,lizzie,kirsten,shana,adeline,mayra,jayne,jaclyn,gracie,sondra,carmela,marisa,rosalind,charity,tonia,beatriz,marisol,clarice,jeanine,sheena,angeline,frieda,lily,shauna,millie,claudette,cathleen,angelia,gabrielle,autumn,katharine,jodie,staci,lea,christi,justine,elma,luella,margret,dominique,socorro,martina,margo,mavis,callie,bobbi,maritza,lucile,leanne,jeannine,deana,aileen,lorie,ladonna,willa,manuela,gale,selma,dolly,sybil,abby,ivy,dee,winnie,marcy,luisa,jeri,magdalena,ofelia,meagan,audra,matilda,leila,cornelia,bianca,simone,bettye,randi,virgie,latisha,barbra,georgina,eliza,leann,bridgette,rhoda,haley,adela,nola,bernadine,flossie,ila,greta,ruthie,nelda,minerva,lilly,terrie,letha,hilary,estela,valarie,brianna,rosalyn,earline,catalina,ava,mia,clarissa,lidia,corrine,alexandria,concepcion,tia,sharron,rae,dona,ericka,jami,elnora,chandra,lenore,neva,marylou,melisa,tabatha,serena,avis,allie,sofia,jeanie,odessa,nannie,harriett,loraine,penelope,milagros,emilia,benita,allyson,ashlee,tania,esmeralda,eve,pearlie,zelma,malinda,noreen,tameka,saundra,hillary,amie,althea,rosalinda,lilia,alana,clare,alejandra,elinor,lorrie,jerri,darcy,earnestine,carmella,noemi,marcie,liza,annabelle,louisa,earlene,mallory,carlene,nita,selena,tanisha,katy,julianne,lakisha,edwina,maricela,margery,kenya,dollie,roxie,roslyn,kathrine,nanette,charmaine,lavonne,ilene,tammi,suzette,corine,kaye,chrystal,lina,deanne,lilian,juliana,aline,luann,kasey,maryanne,evangeline,colette,melva,lawanda,yesenia,nadia,madge,kathie,ophelia,valeria,nona,mitzi,mari,georgette,claudine,fran,alissa,roseann,lakeisha,susanna,reva,deidre,chasity,sheree,elvia,alyce,deirdre,gena,briana,araceli,katelyn,rosanne,wendi,tessa,berta,marva,imelda,marietta,marci,leonor,arline,sasha,madelyn,janna,juliette,deena,aurelia,josefa,augusta,liliana,lessie,amalia,savannah,anastasia,vilma,natalia,rosella,lynnette,corina,alfreda,leanna,amparo,coleen,tamra,aisha,wilda,karyn,maura,mai,evangelina,rosanna,hallie,erna,enid,mariana,lacy,juliet,jacklyn,freida,madeleine,mara,cathryn,lelia,casandra,bridgett,angelita,jannie,dionne,annmarie,katina,beryl,millicent,katheryn,diann,carissa,maryellen,liz,lauri,helga,gilda,rhea,marquita,hollie,tisha,tamera,angelique,francesca,kaitlin,lolita,florine,rowena,reyna,twila,fanny,janell,ines,concetta,bertie,alba,brigitte,alyson,vonda,pansy,elba,noelle,letitia,deann,brandie,louella,leta,felecia,sharlene,lesa,beverley,isabella,herminia,terra,celina,tori,octavia,jade,denice,germaine,michell,cortney,nelly,doretha,deidra,monika,lashonda,judi,chelsey,antionette,margot,adelaide,leeann,elisha,dessie,libby,kathi,gayla,latanya,mina,mellisa,kimberlee,jasmin,renae,zelda,elda,justina,gussie,emilie,camilla,abbie,rocio,kaitlyn,edythe,ashleigh,selina,lakesha,geri,allene,pamala,michaela,dayna,caryn,rosalia,jacquline,rebeca,marybeth,krystle,iola,dottie,belle,griselda,ernestina,elida,adrianne,demetria,delma,jaqueline,arleen,virgina,retha,fatima,tillie,eleanore,cari,treva,wilhelmina,rosalee,maurine,latrice,jena,taryn,elia,debby,maudie,jeanna,delilah,catrina,shonda,hortencia,theodora,teresita,robbin,danette,delphine,brianne,nilda,danna,cindi,bess,iona,winona,vida,rosita,marianna,racheal,guillermina,eloisa,celestine,caren,malissa,lona,chantel,shellie,marisela,leora,agatha,soledad,migdalia,ivette,christen,athena,janel,veda,pattie,tessie,tera,marilynn,lucretia,karrie,dinah,daniela,alecia,adelina,vernice,shiela,portia,merry,lashawn,dara,tawana,verda,alene,zella,sandi,rafaela,maya,kira,candida,alvina,suzan,shayla,lettie,samatha,oralia,matilde,larissa,vesta,renita,delois,shanda,phillis,lorri,erlinda,cathrine,barb,isabell,ione,gisela,roxanna,mayme,kisha,ellie,mellissa,dorris,dalia,bella,annetta,zoila,reta,reina,lauretta,kylie,christal,pilar,charla,elissa,tiffani,tana,paulina,leota,breanna,jayme,carmel,vernell,tomasa,mandi,dominga,santa,melodie,lura,alexa,tamela,mirna,kerrie,venus,felicita,cristy,carmelita,berniece,annemarie,tiara,roseanne,missy,cori,roxana,pricilla,kristal,jung,elyse,haydee,aletha,bettina,marge,gillian,filomena,zenaida,harriette,caridad,vada,aretha,pearline,marjory,marcela,flor,evette,elouise,alina,damaris,catharine,belva,nakia,marlena,luanne,lorine,karon,dorene,danita,brenna,tatiana,louann,julianna,andria,philomena,lucila,leonora,dovie,romona,mimi,jacquelin,gaye,tonja,misti,chastity,stacia,roxann,micaela,velda,marlys,johnna,aura,ivonne,hayley,nicki,majorie,herlinda,yadira,perla,gregoria,antonette,shelli,mozelle,mariah,joelle,cordelia,josette,chiquita,trista,laquita,georgiana,candi,shanon,hildegard,stephany,magda,karol,gabriella,tiana,roma,richelle,oleta,jacque,idella,alaina,suzanna,jovita,tosha,nereida,marlyn,kyla,delfina,tena,stephenie,sabina,nathalie,marcelle,gertie,darleen,thea,sharonda,shantel,belen,venessa,rosalina,genoveva,clementine,rosalba,renate,renata,georgianna,floy,dorcas,ariana,tyra,theda,mariam,juli,jesica,vikki,verla,roselyn,melvina,jannette,ginny,debrah,corrie,violeta,myrtis,latricia,collette,charleen,anissa,viviana,twyla,nedra,latonia,hellen,fabiola,annamarie,adell,sharyn,chantal,niki,maud,lizette,lindy,kesha,jeana,danelle,charline,chanel,valorie,dortha,cristal,sunny,leone,leilani,gerri,debi,andra,keshia,eulalia,easter,dulce,natividad,linnie,kami,georgie,catina,brook,alda,winnifred,sharla,ruthann,meaghan,magdalene,lissette,adelaida,venita,trena,shirlene,shameka,elizebeth,dian,shanta,latosha,carlotta,windy,rosina,mariann,leisa,jonnie,dawna,cathie,astrid,laureen,janeen,holli,fawn,vickey,teressa,shante,rubye,marcelina,chanda,terese,scarlett,marnie,lulu,lisette,jeniffer,elenor,dorinda,donita,carman,bernita,altagracia,aleta,adrianna,zoraida,lyndsey,janina,starla,phylis,phuong,kyra,charisse,blanch,sanjuanita,rona,nanci,marilee,maranda,brigette,sanjuana,marita,kassandra,joycelyn,felipa,chelsie,bonny,mireya,lorenza,kyong,ileana,candelaria,sherie,lucie,leatrice,lakeshia,gerda,edie,bambi,marylin,lavon,hortense,garnet,evie,tressa,shayna,lavina,kyung,jeanetta,sherrill,shara,phyliss,mittie,anabel,alesia,thuy,tawanda,joanie,tiffanie,lashanda,karissa,enriqueta,daria,daniella,corinna,alanna,abbey,roxane,roseanna,magnolia,lida,joellen,coral,carleen,tresa,peggie,novella,nila,maybelle,jenelle,carina,nova,melina,marquerite,margarette,josephina,evonne,cinthia,albina,toya,tawnya,sherita,myriam,lizabeth,lise,keely,jenni,giselle,cheryle,ardith,ardis,alesha,adriane,shaina,linnea,karolyn,felisha,dori,darci,artie,armida,zola,xiomara,vergie,shamika,nena,nannette,maxie,lovie,jeane,jaimie,inge,farrah,elaina,caitlyn,felicitas,cherly,caryl,yolonda,yasmin,teena,prudence,pennie,nydia,mackenzie,orpha,marvel,lizbeth,laurette,jerrie,hermelinda,carolee,tierra,mirian,meta,melony,kori,jennette,jamila,yoshiko,susannah,salina,rhiannon,joleen,cristine,ashton,aracely,tomeka,shalonda,marti,lacie,kala,jada,ilse,hailey,brittani,zona,syble,sherryl,nidia,marlo,kandice,kandi,alycia,ronna,norene,mercy,ingeborg,giovanna,gemma,christel,audry,zora,vita,trish,stephaine,shirlee,shanika,melonie,mazie,jazmin,inga,hettie,geralyn,fonda,estrella,adella,sarita,rina,milissa,maribeth,golda,evon,ethelyn,enedina,cherise,chana,velva,tawanna,sade,mirta,karie,jacinta,elna,davina,cierra,ashlie,albertha,tanesha,nelle,mindi,lorinda,larue,florene,demetra,dedra,ciara,chantelle,ashly,suzy,rosalva,noelia,lyda,leatha,krystyna,kristan,karri,darline,darcie,cinda,cherrie,awilda,almeda,rolanda,lanette,jerilyn,gisele,evalyn,cyndi,cleta,carin,zina,zena,velia,tanika,charissa,talia,margarete,lavonda,kaylee,kathlene,jonna,irena,ilona,idalia,candis,candance,brandee,anitra,alida,sigrid,nicolette,maryjo,linette,hedwig,christiana,alexia,tressie,modesta,lupita,lita,gladis,evelia,davida,cherri,cecily,ashely,annabel,agustina,wanita,shirly,rosaura,hulda,yetta,verona,thomasina,sibyl,shannan,mechelle,leandra,lani,kylee,kandy,jolynn,ferne,eboni,corene,alysia,zula,nada,moira,lyndsay,lorretta,jammie,hortensia,gaynell,adria,vina,vicenta,tangela,stephine,norine,nella,liana,leslee,kimberely,iliana,glory,felica,emogene,elfriede,eden,eartha,carma,ocie,lennie,kiara,jacalyn,carlota,arielle,otilia,kirstin,kacey,johnetta,joetta,jeraldine,jaunita,elana,dorthea,cami,amada,adelia,vernita,tamar,siobhan,renea,rashida,ouida,nilsa,meryl,kristyn,julieta,danica,breanne,aurea,anglea,sherron,odette,malia,lorelei,leesa,kenna,kathlyn,fiona,charlette,suzie,shantell,sabra,racquel,myong,mira,martine,lucienne,lavada,juliann,elvera,delphia,christiane,charolette,carri,asha,angella,paola,ninfa,leda,stefani,shanell,palma,machelle,lissa,kecia,kathryne,karlene,julissa,jettie,jenniffer,corrina,carolann,alena,rosaria,myrtice,marylee,liane,kenyatta,judie,janey,elmira,eldora,denna,cristi,cathi,zaida,vonnie,viva,vernie,rosaline,mariela,luciana,lesli,karan,felice,deneen,adina,wynona,tarsha,sheron,shanita,shani,shandra,randa,pinkie,nelida,marilou,lyla,laurene,laci,janene,dorotha,daniele,dani,carolynn,carlyn,berenice,ayesha,anneliese,alethea,thersa,tamiko,rufina,oliva,mozell,marylyn,kristian,kathyrn,kasandra,kandace,janae,domenica,debbra,dannielle,chun,arcelia,zenobia,sharen,sharee,lavinia,kacie,jackeline,huong,felisa,emelia,eleanora,cythia,cristin,claribel,anastacia,zulma,zandra,yoko,tenisha,susann,sherilyn,shay,shawanda,romana,mathilda,linsey,keiko,joana,isela,gretta,georgetta,eugenie,desirae,delora,corazon,antonina,anika,willene,tracee,tamatha,nichelle,mickie,maegan,luana,lanita,kelsie,edelmira,bree,afton,teodora,tamie,shena,linh,keli,kaci,danyelle,arlette,albertine,adelle,tiffiny,simona,nicolasa,nichol,nakisha,maira,loreen,kizzy,fallon,christene,bobbye,ying,vincenza,tanja,rubie,roni,queenie,margarett,kimberli,irmgard,idell,hilma,evelina,esta,emilee,dennise,dania,carie,risa,rikki,particia,masako,luvenia,loree,loni,lien,gigi,florencia,denita,billye,tomika,sharita,rana,nikole,neoma,margarite,madalyn,lucina,laila,kali,jenette,gabriele,evelyne,elenora,clementina,alejandrina,zulema,violette,vannessa,thresa,retta,patience,noella,nickie,jonell,chaya,camelia,bethel,anya,suzann,mila,lilla,laverna,keesha,kattie,georgene,eveline,estell,elizbeth,vivienne,vallie,trudie,stephane,magaly,madie,kenyetta,karren,janetta,hermine,drucilla,debbi,celestina,candie,britni,beckie,amina,zita,yolande,vivien,vernetta,trudi,pearle,patrina,ossie,nicolle,loyce,letty,katharina,joselyn,jonelle,jenell,iesha,heide,florinda,florentina,elodia,dorine,brunilda,brigid,ashli,ardella,twana,tarah,shavon,serina,rayna,ramonita,margurite,lucrecia,kourtney,kati,jesenia,crista,ayana,alica,alia,vinnie,suellen,romelia,rachell,olympia,michiko,kathaleen,jolie,jessi,janessa,hana,elease,carletta,britany,shona,salome,rosamond,regena,raina,ngoc,nelia,louvenia,lesia,latrina,laticia,larhonda,jina,jacki,emmy,deeann,coretta,arnetta,thalia,shanice,neta,mikki,micki,lonna,leana,lashunda,kiley,joye,jacqulyn,ignacia,hyun,hiroko,henriette,elayne,delinda,dahlia,coreen,consuela,conchita,babette,ayanna,anette,albertina,shawnee,shaneka,quiana,pamelia,merri,merlene,margit,kiesha,kiera,kaylene,jodee,jenise,erlene,emmie,dalila,daisey,casie,belia,babara,versie,vanesa,shelba,shawnda,nikia,naoma,marna,margeret,madaline,lawana,kindra,jutta,jazmine,janett,hannelore,glendora,gertrud,garnett,freeda,frederica,florance,flavia,carline,beverlee,anjanette,valda,tamala,shonna,sarina,oneida,merilyn,marleen,lurline,lenna,katherin,jeni,gracia,glady,farah,enola,dominque,devona,delana,cecila,caprice,alysha,alethia,vena,theresia,tawny,shakira,samara,sachiko,rachele,pamella,marni,mariel,maren,malisa,ligia,lera,latoria,larae,kimber,kathern,karey,jennefer,janeth,halina,fredia,delisa,debroah,ciera,angelika,andree,altha,vivan,terresa,tanna,sudie,signe,salena,ronni,rebbecca,myrtie,malika,maida,leonarda,kayleigh,ethyl,ellyn,dayle,cammie,brittni,birgit,avelina,asuncion,arianna,akiko,venice,tyesha,tonie,tiesha,takisha,steffanie,sindy,meghann,manda,macie,kellye,kellee,joslyn,inger,indira,glinda,glennis,fernanda,faustina,eneida,elicia,digna,dell,arletta,willia,tammara,tabetha,sherrell,sari,rebbeca,pauletta,natosha,nakita,mammie,kenisha,kazuko,kassie,earlean,daphine,corliss,clotilde,carolyne,bernetta,augustina,audrea,annis,annabell,tennille,tamica,selene,rosana,regenia,qiana,markita,macy,leeanne,laurine,jessenia,janita,georgine,genie,emiko,elvie,deandra,dagmar,corie,collen,cherish,romaine,porsha,pearlene,micheline,merna,margorie,margaretta,lore,jenine,hermina,fredericka,elke,drusilla,dorathy,dione,celena,brigida,allegra,tamekia,synthia,sook,slyvia,rosann,reatha,raye,marquetta,margart,ling,layla,kymberly,kiana,kayleen,katlyn,karmen,joella,emelda,eleni,detra,clemmie,cheryll,chantell,cathey,arnita,arla,angle,angelic,alyse,zofia,thomasine,tennie,sherly,sherley,sharyl,remedios,petrina,nickole,myung,myrle,mozella,louanne,lisha,latia,krysta,julienne,jeanene,jacqualine,isaura,gwenda,earleen,cleopatra,carlie,audie,antonietta,alise,verdell,tomoko,thao,talisha,shemika,savanna,santina,rosia,raeann,odilia,nana,minna,magan,lynelle,karma,joeann,ivana,inell,ilana,gudrun,dreama,crissy,chante,carmelina,arvilla,annamae,alvera,aleida,yanira,vanda,tianna,stefania,shira,nicol,nancie,monserrate,melynda,melany,lovella,laure,kacy,jacquelynn,hyon,gertha,eliana,christena,christeen,charise,caterina,carley,candyce,arlena,ammie,willette,vanita,tuyet,syreeta,penney,nyla,maryam,marya,magen,ludie,loma,livia,lanell,kimberlie,julee,donetta,diedra,denisha,deane,dawne,clarine,cherryl,bronwyn,alla,valery,tonda,sueann,soraya,shoshana,shela,sharleen,shanelle,nerissa,meridith,mellie,maye,maple,magaret,lili,leonila,leonie,leeanna,lavonia,lavera,kristel,kathey,kathe,jann,ilda,hildred,hildegarde,genia,fumiko,evelin,ermelinda,elly,dung,doloris,dionna,danae,berneice,annice,alix,verena,verdie,shawnna,shawana,shaunna,rozella,randee,ranae,milagro,lynell,luise,loida,lisbeth,karleen,junita,jona,isis,hyacinth,hedy,gwenn,ethelene,erline,donya,domonique,delicia,dannette,cicely,branda,blythe,bethann,ashlyn,annalee,alline,yuko,vella,trang,towanda,tesha,sherlyn,narcisa,miguelina,meri,maybell,marlana,marguerita,madlyn,lory,loriann,leonore,leighann,laurice,latesha,laronda,katrice,kasie,kaley,jadwiga,glennie,gearldine,francina,epifania,dyan,dorie,diedre,denese,demetrice,delena,cristie,cleora,catarina,carisa,barbera,almeta,trula,tereasa,solange,sheilah,shavonne,sanora,rochell,mathilde,margareta,maia,lynsey,lawanna,launa,kena,keena,katia,glynda,gaylene,elvina,elanor,danuta,danika,cristen,cordie,coletta,clarita,carmon,brynn,azucena,aundrea,angele,verlie,verlene,tamesha,silvana,sebrina,samira,reda,raylene,penni,norah,noma,mireille,melissia,maryalice,laraine,kimbery,karyl,karine,jolanda,johana,jesusa,jaleesa,jacquelyne,iluminada,hilaria,hanh,gennie,francie,floretta,exie,edda,drema,delpha,barbar,assunta,ardell,annalisa,alisia,yukiko,yolando,wonda,waltraud,veta,temeka,tameika,shirleen,shenita,piedad,ozella,mirtha,marilu,kimiko,juliane,jenice,janay,jacquiline,hilde,elois,echo,devorah,chau,brinda,betsey,arminda,aracelis,apryl,annett,alishia,veola,usha,toshiko,theola,tashia,talitha,shery,renetta,reiko,rasheeda,obdulia,mika,melaine,meggan,marlen,marget,marceline,mana,magdalen,librada,lezlie,latashia,lasandra,kelle,isidra,inocencia,gwyn,francoise,erminia,erinn,dimple,devora,criselda,armanda,arie,ariane,angelena,aliza,adriene,adaline,xochitl,twanna,tomiko,tamisha,taisha,susy,rutha,rhona,noriko,natashia,merrie,marinda,mariko,margert,loris,lizzette,leisha,kaila,joannie,jerrica,jene,jannet,janee,jacinda,herta,elenore,doretta,delaine,daniell,claudie,britta,apolonia,amberly,alease,yuri,waneta,tomi,sharri,sandie,roselle,reynalda,raguel,phylicia,patria,olimpia,odelia,mitzie,minda,mignon,mica,mendy,marivel,maile,lynetta,lavette,lauryn,latrisha,lakiesha,kiersten,kary,josphine,jolyn,jetta,janise,jacquie,ivelisse,glynis,gianna,gaynelle,danyell,danille,dacia,coralee,cher,ceola,arianne,aleshia,yung,williemae,trinh,thora,sherika,shemeka,shaunda,roseline,ricki,melda,mallie,lavonna,latina,laquanda,lala,lachelle,klara,kandis,johna,jeanmarie,jaye,grayce,gertude,emerita,ebonie,clorinda,ching,chery,carola,breann,blossom,bernardine,becki,arletha,argelia,alita,yulanda,yessenia,tobi,tasia,sylvie,shirl,shirely,shella,shantelle,sacha,rebecka,providencia,paulene,misha,miki,marline,marica,lorita,latoyia,lasonya,kerstin,kenda,keitha,kathrin,jaymie,gricelda,ginette,eryn,elina,elfrieda,danyel,cheree,chanelle,barrie,aurore,annamaria,alleen,ailene,aide,yasmine,vashti,treasa,tiffaney,sheryll,sharie,shanae,raisa,neda,mitsuko,mirella,milda,maryanna,maragret,mabelle,luetta,lorina,letisha,latarsha,lanelle,lajuana,krissy,karly,karena,jessika,jerica,jeanelle,jalisa,jacelyn,izola,euna,etha,domitila,dominica,daina,creola,carli,camie,brittny,ashanti,anisha,aleen,adah,yasuko,valrie,tona,tinisha,terisa,taneka,simonne,shalanda,serita,ressie,refugia,olene,margherita,mandie,maire,lyndia,luci,lorriane,loreta,leonia,lavona,lashawnda,lakia,kyoko,krystina,krysten,kenia,kelsi,jeanice,isobel,georgiann,genny,felicidad,eilene,deloise,deedee,conception,clora,cherilyn,calandra,armandina,anisa,tiera,theressa,stephania,sima,shyla,shonta,shera,shaquita,shala,rossana,nohemi,nery,moriah,melita,melida,melani,marylynn,marisha,mariette,malorie,madelene,ludivina,loria,lorette,loralee,lianne,lavenia,laurinda,lashon,kimi,keila,katelynn,jone,joane,jayna,janella,hertha,francene,elinore,despina,delsie,deedra,clemencia,carolin,bulah,brittanie,blondell,bibi,beaulah,beata,annita,agripina,virgen,valene,twanda,tommye,tarra,tari,tammera,shakia,sadye,ruthanne,rochel,rivka,pura,nenita,natisha,ming,merrilee,melodee,marvis,lucilla,leena,laveta,larita,lanie,keren,ileen,georgeann,genna,frida,eufemia,emely,edyth,deonna,deadra,darlena,chanell,cathern,cassondra,cassaundra,bernarda,berna,arlinda,anamaria,vertie,valeri,torri,stasia,sherise,sherill,sanda,ruthe,rosy,robbi,ranee,quyen,pearly,palmira,onita,nisha,niesha,nida,merlyn,mayola,marylouise,marth,margene,madelaine,londa,leontine,leoma,leia,lauralee,lanora,lakita,kiyoko,keturah,katelin,kareen,jonie,johnette,jenee,jeanett,izetta,hiedi,heike,hassie,giuseppina,georgann,fidela,fernande,elwanda,ellamae,eliz,dusti,dotty,cyndy,coralie,celesta,alverta,xenia,wava,vanetta,torrie,tashina,tandy,tambra,tama,stepanie,shila,shaunta,sharan,shaniqua,shae,setsuko,serafina,sandee,rosamaria,priscila,olinda,nadene,muoi,michelina,mercedez,maryrose,marcene,magali,mafalda,lannie,kayce,karoline,kamilah,kamala,justa,joline,jennine,jacquetta,iraida,georgeanna,franchesca,emeline,elane,ehtel,earlie,dulcie,dalene,classie,chere,charis,caroyln,carmina,carita,bethanie,ayako,arica,alysa,alessandra,akilah,adrien,zetta,youlanda,yelena,yahaira,xuan,wendolyn,tijuana,terina,teresia,suzi,sherell,shavonda,shaunte,sharda,shakita,sena,ryann,rubi,riva,reginia,rachal,parthenia,pamula,monnie,monet,michaele,melia,malka,maisha,lisandra,lekisha,lean,lakendra,krystin,kortney,kizzie,kittie,kera,kendal,kemberly,kanisha,julene,jule,johanne,jamee,halley,gidget,fredricka,fleta,fatimah,eusebia,elza,eleonore,dorthey,doria,donella,dinorah,delorse,claretha,christinia,charlyn,bong,belkis,azzie,andera,aiko,adena,yajaira,vania,ulrike,toshia,tifany,stefany,shizue,shenika,shawanna,sharolyn,sharilyn,shaquana,shantay,rozanne,roselee,remona,reanna,raelene,phung,petronila,natacha,nancey,myrl,miyoko,miesha,merideth,marvella,marquitta,marhta,marchelle,lizeth,libbie,lahoma,ladawn,kina,katheleen,katharyn,karisa,kaleigh,junie,julieann,johnsie,janean,jaimee,jackqueline,hisako,herma,helaine,gwyneth,gita,eustolia,emelina,elin,edris,donnette,donnetta,dierdre,denae,darcel,clarisa,cinderella,chia,charlesetta,charita,celsa,cassy,cassi,carlee,bruna,brittaney,brande,billi,antonetta,angla,angelyn,analisa,alane,wenona,wendie,veronique,vannesa,tobie,tempie,sumiko,sulema,somer,sheba,sharice,shanel,shalon,rosio,roselia,renay,rema,reena,ozie,oretha,oralee,ngan,nakesha,milly,marybelle,margrett,maragaret,manie,lurlene,lillia,lieselotte,lavelle,lashaunda,lakeesha,kaycee,kalyn,joya,joette,jenae,janiece,illa,grisel,glayds,genevie,gala,fredda,eleonor,debera,deandrea,corrinne,cordia,contessa,colene,cleotilde,chantay,cecille,beatris,azalee,arlean,ardath,anjelica,anja,alfredia,aleisha,zada,yuonne,xiao,willodean,vennie,vanna,tyisha,tova,torie,tonisha,tilda,tien,sirena,sherril,shanti,shan,senaida,samella,robbyn,renda,reita,phebe,paulita,nobuko,nguyet,neomi,mikaela,melania,maximina,marg,maisie,lynna,lilli,lashaun,lakenya,lael,kirstie,kathline,kasha,karlyn,karima,jovan,josefine,jennell,jacqui,jackelyn,hien,grazyna,florrie,floria,eleonora,dwana,dorla,delmy,deja,dede,dann,crysta,clelia,claris,chieko,cherlyn,cherelle,charmain,chara,cammy,arnette,ardelle,annika,amiee,amee,allena,yvone,yuki,yoshie,yevette,yael,willetta,voncile,venetta,tula,tonette,timika,temika,telma,teisha,taren,stacee,shawnta,saturnina,ricarda,pasty,onie,nubia,marielle,mariella,marianela,mardell,luanna,loise,lisabeth,lindsy,lilliana,lilliam,lelah,leigha,leanora,kristeen,khalilah,keeley,kandra,junko,joaquina,jerlene,jani,jamika,hsiu,hermila,genevive,evia,eugena,emmaline,elfreda,elene,donette,delcie,deeanna,darcey,clarinda,cira,chae,celinda,catheryn,casimira,carmelia,camellia,breana,bobette,bernardina,bebe,basilia,arlyne,amal,alayna,zonia,zenia,yuriko,yaeko,wynell,willena,vernia,tora,terrilyn,terica,tenesha,tawna,tajuana,taina,stephnie,sona,sina,shondra,shizuko,sherlene,sherice,sharika,rossie,rosena,rima,rheba,renna,natalya,nancee,melodi,meda,matha,marketta,maricruz,marcelene,malvina,luba,louetta,leida,lecia,lauran,lashawna,laine,khadijah,katerine,kasi,kallie,julietta,jesusita,jestine,jessia,jeffie,janyce,isadora,georgianne,fidelia,evita,eura,eulah,estefana,elsy,eladia,dodie,denisse,deloras,delila,daysi,crystle,concha,claretta,charlsie,charlena,carylon,bettyann,asley,ashlea,amira,agueda,agnus,yuette,vinita,victorina,tynisha,treena,toccara,tish,thomasena,tegan,soila,shenna,sharmaine,shantae,shandi,saran,sarai,sana,rosette,rolande,regine,otelia,olevia,nicholle,necole,naida,myrta,myesha,mitsue,minta,mertie,margy,mahalia,madalene,loura,lorean,lesha,leonida,lenita,lavone,lashell,lashandra,lamonica,kimbra,katherina,karry,kanesha,jong,jeneva,jaquelyn,gilma,ghislaine,gertrudis,fransisca,fermina,ettie,etsuko,ellan,elidia,edra,dorethea,doreatha,denyse,deetta,daine,cyrstal,corrin,cayla,carlita,camila,burma,bula,buena,barabara,avril,alaine,zana,wilhemina,wanetta,verline,vasiliki,tonita,tisa,teofila,tayna,taunya,tandra,takako,sunni,suanne,sixta,sharell,seema,rosenda,robena,raymonde,pamila,ozell,neida,mistie,micha,merissa,maurita,maryln,maryetta,marcell,malena,makeda,lovetta,lourie,lorrine,lorilee,laurena,lashay,larraine,laree,lacresha,kristle,keva,keira,karole,joie,jinny,jeannetta,jama,heidy,gilberte,gema,faviola,evelynn,enda,elli,ellena,divina,dagny,collene,codi,cindie,chassidy,chasidy,catrice,catherina,cassey,caroll,carlena,candra,calista,bryanna,britteny,beula,bari,audrie,audria,ardelia,annelle,angila,alona,allyn".split(","),surnames:"smith,johnson,williams,jones,brown,davis,miller,wilson,moore,taylor,anderson,jackson,white,harris,martin,thompson,garcia,martinez,robinson,clark,rodriguez,lewis,lee,walker,hall,allen,young,hernandez,king,wright,lopez,hill,green,adams,baker,gonzalez,nelson,carter,mitchell,perez,roberts,turner,phillips,campbell,parker,evans,edwards,collins,stewart,sanchez,morris,rogers,reed,cook,morgan,bell,murphy,bailey,rivera,cooper,richardson,cox,howard,ward,torres,peterson,gray,ramirez,watson,brooks,sanders,price,bennett,wood,barnes,ross,henderson,coleman,jenkins,perry,powell,long,patterson,hughes,flores,washington,butler,simmons,foster,gonzales,bryant,alexander,griffin,diaz,hayes,myers,ford,hamilton,graham,sullivan,wallace,woods,cole,west,owens,reynolds,fisher,ellis,harrison,gibson,mcdonald,cruz,marshall,ortiz,gomez,murray,freeman,wells,webb,simpson,stevens,tucker,porter,hicks,crawford,boyd,mason,morales,kennedy,warren,dixon,ramos,reyes,burns,gordon,shaw,holmes,rice,robertson,hunt,black,daniels,palmer,mills,nichols,grant,knight,ferguson,stone,hawkins,dunn,perkins,hudson,spencer,gardner,stephens,payne,pierce,berry,matthews,arnold,wagner,willis,watkins,olson,carroll,duncan,snyder,hart,cunningham,lane,andrews,ruiz,harper,fox,riley,armstrong,carpenter,weaver,greene,elliott,chavez,sims,peters,kelley,franklin,lawson,fields,gutierrez,schmidt,carr,vasquez,castillo,wheeler,chapman,montgomery,richards,williamson,johnston,banks,meyer,bishop,mccoy,howell,alvarez,morrison,hansen,fernandez,garza,harvey,burton,nguyen,jacobs,reid,fuller,lynch,garrett,romero,welch,larson,frazier,burke,hanson,mendoza,moreno,bowman,medina,fowler,brewer,hoffman,carlson,silva,pearson,holland,fleming,jensen,vargas,byrd,davidson,hopkins,herrera,wade,soto,walters,neal,caldwell,lowe,jennings,barnett,graves,jimenez,horton,shelton,barrett,obrien,castro,sutton,mckinney,lucas,miles,rodriquez,chambers,holt,lambert,fletcher,watts,bates,hale,rhodes,pena,beck,newman,haynes,mcdaniel,mendez,bush,vaughn,parks,dawson,santiago,norris,hardy,steele,curry,powers,schultz,barker,guzman,page,munoz,ball,keller,chandler,weber,walsh,lyons,ramsey,wolfe,schneider,mullins,benson,sharp,bowen,barber,cummings,hines,baldwin,griffith,valdez,hubbard,salazar,reeves,warner,stevenson,burgess,santos,tate,cross,garner,mann,mack,moss,thornton,mcgee,farmer,delgado,aguilar,vega,glover,manning,cohen,harmon,rodgers,robbins,newton,blair,higgins,ingram,reese,cannon,strickland,townsend,potter,goodwin,walton,rowe,hampton,ortega,patton,swanson,goodman,maldonado,yates,becker,erickson,hodges,rios,conner,adkins,webster,malone,hammond,flowers,cobb,moody,quinn,pope,osborne,mccarthy,guerrero,estrada,sandoval,gibbs,gross,fitzgerald,stokes,doyle,saunders,wise,colon,gill,alvarado,greer,padilla,waters,nunez,ballard,schwartz,mcbride,houston,christensen,klein,pratt,briggs,parsons,mclaughlin,zimmerman,buchanan,moran,copeland,pittman,brady,mccormick,holloway,brock,poole,logan,bass,marsh,drake,wong,jefferson,morton,abbott,sparks,norton,huff,massey,figueroa,carson,bowers,roberson,barton,tran,lamb,harrington,boone,cortez,clarke,mathis,singleton,wilkins,cain,underwood,hogan,mckenzie,collier,luna,phelps,mcguire,bridges,wilkerson,nash,summers,atkins,wilcox,pitts,conley,marquez,burnett,cochran,chase,davenport,hood,gates,ayala,sawyer,vazquez,dickerson,hodge,acosta,flynn,espinoza,nicholson,monroe,wolf,morrow,whitaker,oconnor,skinner,ware,molina,kirby,huffman,gilmore,dominguez,oneal,lang,combs,kramer,hancock,gallagher,gaines,shaffer,wiggins,mathews,mcclain,fischer,wall,melton,hensley,bond,dyer,grimes,contreras,wyatt,baxter,snow,mosley,shepherd,larsen,hoover,beasley,petersen,whitehead,meyers,garrison,shields,horn,savage,olsen,schroeder,hartman,woodard,mueller,kemp,deleon,booth,patel,calhoun,wiley,eaton,cline,navarro,harrell,humphrey,parrish,duran,hutchinson,hess,dorsey,bullock,robles,beard,dalton,avila,rich,blackwell,johns,blankenship,trevino,salinas,campos,pruitt,callahan,montoya,hardin,guerra,mcdowell,stafford,gallegos,henson,wilkinson,booker,merritt,atkinson,orr,decker,hobbs,tanner,knox,pacheco,stephenson,glass,rojas,serrano,marks,hickman,sweeney,strong,mcclure,conway,roth,maynard,farrell,lowery,hurst,nixon,weiss,trujillo,ellison,sloan,juarez,winters,mclean,boyer,villarreal,mccall,gentry,carrillo,ayers,lara,sexton,pace,hull,leblanc,browning,velasquez,leach,chang,sellers,herring,noble,foley,bartlett,mercado,landry,durham,walls,barr,mckee,bauer,rivers,bradshaw,pugh,velez,rush,estes,dodson,morse,sheppard,weeks,camacho,bean,barron,livingston,middleton,spears,branch,blevins,chen,kerr,mcconnell,hatfield,harding,solis,frost,giles,blackburn,pennington,woodward,finley,mcintosh,koch,mccullough,blanchard,rivas,brennan,mejia,kane,benton,buckley,valentine,maddox,russo,mcknight,buck,moon,mcmillan,crosby,berg,dotson,mays,roach,chan,richmond,meadows,faulkner,oneill,knapp,kline,ochoa,jacobson,gay,hendricks,horne,shepard,hebert,cardenas,mcintyre,waller,holman,donaldson,cantu,morin,gillespie,fuentes,tillman,bentley,peck,key,salas,rollins,gamble,dickson,santana,cabrera,cervantes,howe,hinton,hurley,spence,zamora,yang,mcneil,suarez,petty,gould,mcfarland,sampson,carver,bray,macdonald,stout,hester,melendez,dillon,farley,hopper,galloway,potts,joyner,stein,aguirre,osborn,mercer,bender,franco,rowland,sykes,pickett,sears,mayo,dunlap,hayden,wilder,mckay,coffey,mccarty,ewing,cooley,vaughan,bonner,cotton,holder,stark,ferrell,cantrell,fulton,lott,calderon,pollard,hooper,burch,mullen,fry,riddle,levy,duke,odonnell,britt,daugherty,berger,dillard,alston,frye,riggs,chaney,odom,duffy,fitzpatrick,valenzuela,mayer,alford,mcpherson,acevedo,barrera,cote,reilly,compton,mooney,mcgowan,craft,clemons,wynn,nielsen,baird,stanton,snider,rosales,bright,witt,hays,holden,rutledge,kinney,clements,castaneda,slater,hahn,burks,delaney,pate,lancaster,sharpe,whitfield,talley,macias,burris,ratliff,mccray,madden,kaufman,beach,goff,cash,bolton,mcfadden,levine,byers,kirkland,kidd,workman,carney,mcleod,holcomb,finch,sosa,haney,franks,sargent,nieves,downs,rasmussen,bird,hewitt,foreman,valencia,oneil,delacruz,vinson,dejesus,hyde,forbes,gilliam,guthrie,wooten,huber,barlow,boyle,mcmahon,buckner,rocha,puckett,langley,knowles,cooke,velazquez,whitley,vang,shea,rouse,hartley,mayfield,elder,rankin,hanna,cowan,lucero,arroyo,slaughter,haas,oconnell,minor,boucher,archer,boggs,dougherty,andersen,newell,crowe,wang,friedman,bland,swain,holley,pearce,childs,yarbrough,galvan,proctor,meeks,lozano,mora,rangel,bacon,villanueva,schaefer,rosado,helms,boyce,goss,stinson,ibarra,hutchins,covington,crowley,hatcher,mackey,bunch,womack,polk,dodd,childress,childers,villa,springer,mahoney,dailey,belcher,lockhart,griggs,costa,brandt,walden,moser,tatum,mccann,akers,lutz,pryor,orozco,mcallister,lugo,davies,shoemaker,rutherford,newsome,magee,chamberlain,blanton,simms,godfrey,flanagan,crum,cordova,escobar,downing,sinclair,donahue,krueger,mcginnis,gore,farris,webber,corbett,andrade,starr,lyon,yoder,hastings,mcgrath,spivey,krause,harden,crabtree,kirkpatrick,arrington,ritter,mcghee,bolden,maloney,gagnon,dunbar,ponce,pike,mayes,beatty,mobley,kimball,butts,montes,eldridge,braun,hamm,gibbons,moyer,manley,herron,plummer,elmore,cramer,rucker,pierson,fontenot,rubio,goldstein,elkins,wills,novak,hickey,worley,gorman,katz,dickinson,broussard,woodruff,crow,britton,nance,lehman,bingham,zuniga,whaley,shafer,coffman,steward,delarosa,neely,mata,davila,mccabe,kessler,hinkle,welsh,pagan,goldberg,goins,crouch,cuevas,quinones,mcdermott,hendrickson,samuels,denton,bergeron,ivey,locke,haines,snell,hoskins,byrne,arias,corbin,beltran,chappell,downey,dooley,tuttle,couch,payton,mcelroy,crockett,groves,cartwright,dickey,mcgill,dubois,muniz,tolbert,dempsey,cisneros,sewell,latham,vigil,tapia,rainey,norwood,stroud,meade,tipton,kuhn,hilliard,bonilla,teague,gunn,greenwood,correa,reece,pineda,phipps,frey,kaiser,ames,gunter,schmitt,milligan,espinosa,bowden,vickers,lowry,pritchard,costello,piper,mcclellan,lovell,sheehan,hatch,dobson,singh,jeffries,hollingsworth,sorensen,meza,fink,donnelly,burrell,tomlinson,colbert,billings,ritchie,helton,sutherland,peoples,mcqueen,thomason,givens,crocker,vogel,robison,dunham,coker,swartz,keys,ladner,richter,hargrove,edmonds,brantley,albright,murdock,boswell,muller,quintero,padgett,kenney,daly,connolly,inman,quintana,lund,barnard,villegas,simons,huggins,tidwell,sanderson,bullard,mcclendon,duarte,draper,marrero,dwyer,abrams,stover,goode,fraser,crews,bernal,godwin,conklin,mcneal,baca,esparza,crowder,bower,brewster,mcneill,rodrigues,leal,coates,raines,mccain,mccord,miner,holbrook,swift,dukes,carlisle,aldridge,ackerman,starks,ricks,holliday,ferris,hairston,sheffield,lange,fountain,doss,betts,kaplan,carmichael,bloom,ruffin,penn,kern,bowles,sizemore,larkin,dupree,seals,metcalf,hutchison,henley,farr,mccauley,hankins,gustafson,curran,waddell,ramey,cates,pollock,cummins,messer,heller,funk,cornett,palacios,galindo,cano,hathaway,pham,enriquez,salgado,pelletier,painter,wiseman,blount,feliciano,houser,doherty,mead,mcgraw,swan,capps,blanco,blackmon,thomson,mcmanus,burkett,gleason,dickens,cormier,voss,rushing,rosenberg,hurd,dumas,benitez,arellano,marin,caudill,bragg,jaramillo,huerta,gipson,colvin,biggs,vela,platt,cassidy,tompkins,mccollum,dolan,daley,crump,sneed,kilgore,grove,grimm,davison,brunson,prater,marcum,devine,dodge,stratton,rosas,choi,tripp,ledbetter,hightower,feldman,epps,yeager,posey,scruggs,cope,stubbs,richey,overton,trotter,sprague,cordero,butcher,stiles,burgos,woodson,horner,bassett,purcell,haskins,akins,ziegler,spaulding,hadley,grubbs,sumner,murillo,zavala,shook,lockwood,driscoll,dahl,thorpe,redmond,putnam,mcwilliams,mcrae,romano,joiner,sadler,hedrick,hager,hagen,fitch,coulter,thacker,mansfield,langston,guidry,ferreira,corley,conn,rossi,lackey,baez,saenz,mcnamara,mcmullen,mckenna,mcdonough,link,engel,browne,roper,peacock,eubanks,drummond,stringer,pritchett,parham,mims,landers,grayson,schafer,egan,timmons,ohara,keen,hamlin,finn,cortes,mcnair,nadeau,moseley,michaud,rosen,oakes,kurtz,jeffers,calloway,beal,bautista,winn,suggs,stern,stapleton,lyles,laird,montano,dawkins,hagan,goldman,bryson,barajas,lovett,segura,metz,lockett,langford,hinson,eastman,hooks,smallwood,shapiro,crowell,whalen,triplett,chatman,aldrich,cahill,youngblood,ybarra,stallings,sheets,reeder,connelly,bateman,abernathy,winkler,wilkes,masters,hackett,granger,gillis,schmitz,sapp,napier,souza,lanier,gomes,weir,otero,ledford,burroughs,babcock,ventura,siegel,dugan,bledsoe,atwood,wray,varner,spangler,anaya,staley,kraft,fournier,belanger,wolff,thorne,bynum,burnette,boykin,swenson,purvis,pina,khan,duvall,darby,xiong,kauffman,healy,engle,benoit,valle,steiner,spicer,shaver,randle,lundy,chin,calvert,staton,neff,kearney,darden,oakley,medeiros,mccracken,crenshaw,perdue,dill,whittaker,tobin,washburn,hogue,goodrich,easley,bravo,dennison,shipley,kerns,jorgensen,crain,villalobos,maurer,longoria,keene,coon,witherspoon,staples,pettit,kincaid,eason,madrid,echols,lusk,stahl,currie,thayer,shultz,mcnally,seay,maher,gagne,barrow,nava,moreland,honeycutt,hearn,diggs,caron,whitten,westbrook,stovall,ragland,munson,meier,looney,kimble,jolly,hobson,goddard,culver,burr,presley,negron,connell,tovar,huddleston,ashby,salter,root,pendleton,oleary,nickerson,myrick,judd,jacobsen,bain,adair,starnes,matos,busby,herndon,hanley,bellamy,doty,bartley,yazzie,rowell,parson,gifford,cullen,christiansen,benavides,barnhart,talbot,mock,crandall,connors,bonds,whitt,gage,bergman,arredondo,addison,lujan,dowdy,jernigan,huynh,bouchard,dutton,rhoades,ouellette,kiser,herrington,hare,blackman,babb,allred,rudd,paulson,ogden,koenig,geiger,begay,parra,lassiter,hawk,esposito,waldron,ransom,prather,chacon,vick,sands,roark,parr,mayberry,greenberg,coley,bruner,whitman,skaggs,shipman,leary,hutton,romo,medrano,ladd,kruse,askew,schulz,alfaro,tabor,mohr,gallo,bermudez,pereira,bliss,reaves,flint,comer,woodall,naquin,guevara,delong,carrier,pickens,tilley,schaffer,knutson,fenton,doran,vogt,vann,prescott,mclain,landis,corcoran,zapata,hyatt,hemphill,faulk,dove,boudreaux,aragon,whitlock,trejo,tackett,shearer,saldana,hanks,mckinnon,koehler,bourgeois,keyes,goodson,foote,lunsford,goldsmith,flood,winslow,sams,reagan,mccloud,hough,esquivel,naylor,loomis,coronado,ludwig,braswell,bearden,huang,fagan,ezell,edmondson,cronin,nunn,lemon,guillory,grier,dubose,traylor,ryder,dobbins,coyle,aponte,whitmore,smalls,rowan,malloy,cardona,braxton,borden,humphries,carrasco,ruff,metzger,huntley,hinojosa,finney,madsen,ernst,dozier,burkhart,bowser,peralta,daigle,whittington,sorenson,saucedo,roche,redding,fugate,avalos,waite,lind,huston,hawthorne,hamby,boyles,boles,regan,faust,crook,beam,barger,hinds,gallardo,willoughby,willingham,eckert,busch,zepeda,worthington,tinsley,hoff,hawley,carmona,varela,rector,newcomb,kinsey,dube,whatley,ragsdale,bernstein,becerra,yost,mattson,felder,cheek,handy,grossman,gauthier,escobedo,braden,beckman,mott,hillman,flaherty,dykes,stockton,stearns,lofton,coats,cavazos,beavers,barrios,tang,mosher,cardwell,coles,burnham,weller,lemons,beebe,aguilera,parnell,harman,couture,alley,schumacher,redd,dobbs,blum,blalock,merchant,ennis,denson,cottrell,brannon,bagley,aviles,watt,sousa,rosenthal,rooney,dietz,blank,paquette,mcclelland,duff,velasco,lentz,grubb,burrows,barbour,ulrich,shockley,rader,beyer,mixon,layton,altman,weathers,stoner,squires,shipp,priest,lipscomb,cutler,caballero,zimmer,willett,thurston,storey,medley,epperson,shah,mcmillian,baggett,torrez,hirsch,dent,poirier,peachey,farrar,creech,barth,trimble,dupre,albrecht,sample,lawler,crisp,conroy,wetzel,nesbitt,murry,jameson,wilhelm,patten,minton,matson,kimbrough,guinn,croft,toth,pulliam,nugent,newby,littlejohn,dias,canales,bernier,baron,singletary,renteria,pruett,mchugh,mabry,landrum,brower,stoddard,cagle,stjohn,scales,kohler,kellogg,hopson,gant,tharp,gann,zeigler,pringle,hammons,fairchild,deaton,chavis,carnes,rowley,matlock,kearns,irizarry,carrington,starkey,lopes,jarrell,craven,baum,littlefield,linn,humphreys,etheridge,cuellar,chastain,bundy,speer,skelton,quiroz,pyle,portillo,ponder,moulton,machado,killian,hutson,hitchcock,dowling,cloud,burdick,spann,pedersen,levin,leggett,hayward,dietrich,beaulieu,barksdale,wakefield,snowden,briscoe,bowie,berman,ogle,mcgregor,laughlin,helm,burden,wheatley,schreiber,pressley,parris,alaniz,agee,swann,snodgrass,schuster,radford,monk,mattingly,harp,girard,cheney,yancey,wagoner,ridley,lombardo,hudgins,gaskins,duckworth,coburn,willey,prado,newberry,magana,hammonds,elam,whipple,slade,serna,ojeda,liles,dorman,diehl,upton,reardon,michaels,goetz,eller,bauman,baer,layne,hummel,brenner,amaya,adamson,ornelas,dowell,cloutier,castellanos,wellman,saylor,orourke,moya,montalvo,kilpatrick,durbin,shell,oldham,kang,garvin,foss,branham,bartholomew,templeton,maguire,holton,rider,monahan,mccormack,beaty,anders,streeter,nieto,nielson,moffett,lankford,keating,heck,gatlin,delatorre,callaway,adcock,worrell,unger,robinette,nowak,jeter,brunner,steen,parrott,overstreet,nobles,montanez,clevenger,brinkley,trahan,quarles,pickering,pederson,jansen,grantham,gilchrist,crespo,aiken,schell,schaeffer,lorenz,leyva,harms,dyson,wallis,pease,leavitt,cheng,cavanaugh,batts,warden,seaman,rockwell,quezada,paxton,linder,houck,fontaine,durant,caruso,adler,pimentel,mize,lytle,cleary,cason,acker,switzer,isaacs,higginbotham,waterman,vandyke,stamper,sisk,shuler,riddick,mcmahan,levesque,hatton,bronson,bollinger,arnett,okeefe,gerber,gannon,farnsworth,baughman,silverman,satterfield,mccrary,kowalski,grigsby,greco,cabral,trout,rinehart,mahon,linton,gooden,curley,baugh,wyman,weiner,schwab,schuler,morrissey,mahan,bunn,thrasher,spear,waggoner,qualls,purdy,mcwhorter,mauldin,gilman,perryman,newsom,menard,martino,graf,billingsley,artis,simpkins,salisbury,quintanilla,gilliland,fraley,foust,crouse,scarborough,grissom,fultz,marlow,markham,madrigal,lawton,barfield,whiting,varney,schwarz,gooch,arce,wheat,truong,poulin,hurtado,selby,gaither,fortner,culpepper,coughlin,brinson,boudreau,bales,stepp,holm,schilling,morrell,kahn,heaton,gamez,causey,turpin,shanks,schrader,meek,isom,hardison,carranza,yanez,scroggins,schofield,runyon,ratcliff,murrell,moeller,irby,currier,butterfield,ralston,pullen,pinson,estep,carbone,hawks,ellington,casillas,spurlock,sikes,motley,mccartney,kruger,isbell,houle,burk,tomlin,quigley,neumann,lovelace,fennell,cheatham,bustamante,skidmore,hidalgo,forman,culp,bowens,betancourt,aquino,robb,milner,martel,gresham,wiles,ricketts,dowd,collazo,bostic,blakely,sherrod,kenyon,gandy,ebert,deloach,allard,sauer,robins,olivares,gillette,chestnut,bourque,paine,hite,hauser,devore,crawley,chapa,talbert,poindexter,meador,mcduffie,mattox,kraus,harkins,choate,wren,sledge,sanborn,kinder,geary,cornwell,barclay,abney,seward,rhoads,howland,fortier,benner,vines,tubbs,troutman,rapp,mccurdy,deluca,westmoreland,havens,guajardo,clary,seal,meehan,herzog,guillen,ashcraft,waugh,renner,milam,elrod,churchill,breaux,bolin,asher,windham,tirado,pemberton,nolen,noland,knott,emmons,cornish,christenson,brownlee,barbee,waldrop,pitt,olvera,lombardi,gruber,gaffney,eggleston,banda,archuleta,slone,prewitt,pfeiffer,nettles,mena,mcadams,henning,gardiner,cromwell,chisholm,burleson,vest,oglesby,mccarter,lumpkin,wofford,vanhorn,thorn,teel,swafford,stclair,stanfield,ocampo,herrmann,hannon,arsenault,roush,mcalister,hiatt,gunderson,forsythe,duggan,delvalle,cintron,wilks,weinstein,uribe,rizzo,noyes,mclendon,gurley,bethea,winstead,maples,guyton,giordano,alderman,valdes,polanco,pappas,lively,grogan,griffiths,bobo,arevalo,whitson,sowell,rendon,fernandes,farrow,benavidez,ayres,alicea,stump,smalley,seitz,schulte,gilley,gallant,canfield,wolford,omalley,mcnutt,mcnulty,mcgovern,hardman,harbin,cowart,chavarria,brink,beckett,bagwell,armstead,anglin,abreu,reynoso,krebs,jett,hoffmann,greenfield,forte,burney,broome,sisson,trammell,partridge,mace,lomax,lemieux,gossett,frantz,fogle,cooney,broughton,pence,paulsen,muncy,mcarthur,hollins,beauchamp,withers,osorio,mulligan,hoyle,dockery,cockrell,begley,amador,roby,rains,lindquist,gentile,everhart,bohannon,wylie,sommers,purnell,fortin,dunning,breeden,vail,phelan,phan,marx,cosby,colburn,boling,biddle,ledesma,gaddis,denney,chow,bueno,berrios,wicker,tolliver,thibodeaux,nagle,lavoie,fisk,crist,barbosa,reedy,locklear,kolb,himes,behrens,beckwith,weems,wahl,shorter,shackelford,rees,muse,cerda,valadez,thibodeau,saavedra,ridgeway,reiter,mchenry,majors,lachance,keaton,ferrara,clemens,blocker,applegate,needham,mojica,kuykendall,hamel,escamilla,doughty,burchett,ainsworth,vidal,upchurch,thigpen,strauss,spruill,sowers,riggins,ricker,mccombs,harlow,buffington,sotelo,olivas,negrete,morey,macon,logsdon,lapointe,bigelow,bello,westfall,stubblefield,lindley,hein,hawes,farrington,breen,birch,wilde,steed,sepulveda,reinhardt,proffitt,minter,messina,mcnabb,maier,keeler,gamboa,donohue,basham,shinn,crooks,cota,borders,bills,bachman,tisdale,tavares,schmid,pickard,gulley,fonseca,delossantos,condon,batista,wicks,wadsworth,martell,littleton,ison,haag,folsom,brumfield,broyles,brito,mireles,mcdonnell,leclair,hamblin,gough,fanning,binder,winfield,whitworth,soriano,palumbo,newkirk,mangum,hutcherson,comstock,carlin,beall,bair,wendt,watters,walling,putman,otoole,morley,mares,lemus,keener,hundley,dial,damico,billups,strother,mcfarlane,lamm,eaves,crutcher,caraballo,canty,atwell,taft,siler,rust,rawls,rawlings,prieto,mcneely,mcafee,hulsey,hackney,galvez,escalante,delagarza,crider,bandy,wilbanks,stowe,steinberg,renfro,masterson,massie,lanham,haskell,hamrick,dehart,burdette,branson,bourne,babin,aleman,worthy,tibbs,smoot,slack,paradis,mull,luce,houghton,gantt,furman,danner,christianson,burge,ashford,arndt,almeida,stallworth,shade,searcy,sager,noonan,mclemore,mcintire,maxey,lavigne,jobe,ferrer,falk,coffin,byrnes,aranda,apodaca,stamps,rounds,peek,olmstead,lewandowski,kaminski,dunaway,bruns,brackett,amato,reich,mcclung,lacroix,koontz,herrick,hardesty,flanders,cousins,cato,cade,vickery,shank,nagel,dupuis,croteau,cotter,stuckey,stine,porterfield,pauley,moffitt,knudsen,hardwick,goforth,dupont,blunt,barrows,barnhill,shull,rash,loftis,lemay,kitchens,horvath,grenier,fuchs,fairbanks,culbertson,calkins,burnside,beattie,ashworth,albertson,wertz,vaught,vallejo,turk,tuck,tijerina,sage,peterman,marroquin,marr,lantz,hoang,demarco,cone,berube,barnette,wharton,stinnett,slocum,scanlon,sander,pinto,mancuso,lima,headley,epstein,counts,clarkson,carnahan,boren,arteaga,adame,zook,whittle,whitehurst,wenzel,saxton,reddick,puente,handley,haggerty,earley,devlin,chaffin,cady,acuna,solano,sigler,pollack,pendergrass,ostrander,janes,francois,crutchfield,chamberlin,brubaker,baptiste,willson,reis,neeley,mullin,mercier,lira,layman,keeling,higdon,espinal,chapin,warfield,toledo,pulido,peebles,nagy,montague,mello,lear,jaeger,hogg,graff,furr,soliz,poore,mendenhall,mclaurin,maestas,gable,barraza,tillery,snead,pond,neill,mcculloch,mccorkle,lightfoot,hutchings,holloman,harness,dorn,bock,zielinski,turley,treadwell,stpierre,starling,somers,oswald,merrick,easterling,bivens,truitt,poston,parry,ontiveros,olivarez,moreau,medlin,lenz,knowlton,fairley,cobbs,chisolm,bannister,woodworth,toler,ocasio,noriega,neuman,moye,milburn,mcclanahan,lilley,hanes,flannery,dellinger,danielson,conti,blodgett,beers,weatherford,strain,karr,hitt,denham,custer,coble,clough,casteel,bolduc,batchelor,ammons,whitlow,tierney,staten,sibley,seifert,schubert,salcedo,mattison,laney,haggard,grooms,dees,cromer,cooks,colson,caswell,zarate,swisher,shin,ragan,pridgen,mcvey,matheny,lafleur,franz,ferraro,dugger,whiteside,rigsby,mcmurray,lehmann,jacoby,hildebrand,hendrick,headrick,goad,fincher,drury,borges,archibald,albers,woodcock,trapp,soares,seaton,monson,luckett,lindberg,kopp,keeton,healey,garvey,gaddy,fain,burchfield,wentworth,strand,stack,spooner,saucier,ricci,plunkett,pannell,ness,leger,freitas,fong,elizondo,duval,beaudoin,urbina,rickard,partin,mcgrew,mcclintock,ledoux,forsyth,faison,devries,bertrand,wasson,tilton,scarbrough,leung,irvine,garber,denning,corral,colley,castleberry,bowlin,bogan,beale,baines,trice,rayburn,parkinson,nunes,mcmillen,leahy,kimmel,higgs,fulmer,carden,bedford,taggart,spearman,prichard,morrill,koonce,heinz,hedges,guenther,grice,findley,dover,creighton,boothe,bayer,arreola,vitale,valles,raney,osgood,hanlon,burley,bounds,worden,weatherly,vetter,tanaka,stiltner,nevarez,mosby,montero,melancon,harter,hamer,goble,gladden,gist,ginn,akin,zaragoza,tarver,sammons,royster,oreilly,muir,morehead,luster,kingsley,kelso,grisham,glynn,baumann,alves,yount,tamayo,paterson,oates,menendez,longo,hargis,gillen,desantis,conover,breedlove,sumpter,scherer,rupp,reichert,heredia,creel,cohn,clemmons,casas,bickford,belton,bach,williford,whitcomb,tennant,sutter,stull,mccallum,langlois,keel,keegan,dangelo,dancy,damron,clapp,clanton,bankston,oliveira,mintz,mcinnis,martens,mabe,laster,jolley,hildreth,hefner,glaser,duckett,demers,brockman,blais,alcorn,agnew,toliver,tice,seeley,najera,musser,mcfall,laplante,galvin,fajardo,doan,coyne,copley,clawson,cheung,barone,wynne,woodley,tremblay,stoll,sparrow,sparkman,schweitzer,sasser,samples,roney,legg,heim,farias,colwell,christman,bratcher,winchester,upshaw,southerland,sorrell,sells,mccloskey,martindale,luttrell,loveless,lovejoy,linares,latimer,embry,coombs,bratton,bostick,venable,tuggle,toro,staggs,sandlin,jefferies,heckman,griffis,crayton,clem,browder,thorton,sturgill,sprouse,royer,rousseau,ridenour,pogue,perales,peeples,metzler,mesa,mccutcheon,mcbee,hornsby,heffner,corrigan,armijo,plante,peyton,paredes,macklin,hussey,hodgson,granados,frias,becnel,batten,almanza,turney,teal,sturgeon,meeker,mcdaniels,limon,keeney,hutto,holguin,gorham,fishman,fierro,blanchette,rodrigue,reddy,osburn,oden,lerma,kirkwood,keefer,haugen,hammett,chalmers,brinkman,baumgartner,zhang,valerio,tellez,steffen,shumate,sauls,ripley,kemper,guffey,evers,craddock,carvalho,blaylock,banuelos,balderas,wheaton,turnbull,shuman,pointer,mosier,mccue,ligon,kozlowski,johansen,ingle,herr,briones,snipes,rickman,pipkin,pantoja,orosco,moniz,lawless,kunkel,hibbard,galarza,enos,bussey,schott,salcido,perreault,mcdougal,mccool,haight,garris,easton,conyers,atherton,wimberly,utley,spellman,smithson,slagle,ritchey,rand,petit,osullivan,oaks,nutt,mcvay,mccreary,mayhew,knoll,jewett,harwood,cardoza,ashe,arriaga,zeller,wirth,whitmire,stauffer,rountree,redden,mccaffrey,martz,larose,langdon,humes,gaskin,faber,devito,cass,almond,wingfield,wingate,villareal,tyner,smothers,severson,reno,pennell,maupin,leighton,janssen,hassell,hallman,halcomb,folse,fitzsimmons,fahey,cranford,bolen,battles,battaglia,wooldridge,trask,rosser,regalado,mcewen,keefe,fuqua,echevarria,caro,boynton,andrus,viera,vanmeter,taber,spradlin,seibert,provost,prentice,oliphant,laporte,hwang,hatchett,hass,greiner,freedman,covert,chilton,byars,wiese,venegas,swank,shrader,roberge,mullis,mortensen,mccune,marlowe,kirchner,keck,isaacson,hostetler,halverson,gunther,griswold,fenner,durden,blackwood,ahrens,sawyers,savoy,nabors,mcswain,mackay,lavender,lash,labbe,jessup,fullerton,cruse,crittenden,correia,centeno,caudle,canady,callender,alarcon,ahern,winfrey,tribble,salley,roden,musgrove,minnick,fortenberry,carrion,bunting,batiste,whited,underhill,stillwell,rauch,pippin,perrin,messenger,mancini,lister,kinard,hartmann,fleck,wilt,treadway,thornhill,spalding,rafferty,pitre,patino,ordonez,linkous,kelleher,homan,galbraith,feeney,curtin,coward,camarillo,buss,bunnell,bolt,beeler,autry,alcala,witte,wentz,stidham,shively,nunley,meacham,martins,lemke,lefebvre,hynes,horowitz,hoppe,holcombe,dunne,derr,cochrane,brittain,bedard,beauregard,torrence,strunk,soria,simonson,shumaker,scoggins,oconner,moriarty,kuntz,ives,hutcheson,horan,hales,garmon,fitts,bohn,atchison,wisniewski,vanwinkle,sturm,sallee,prosser,moen,lundberg,kunz,kohl,keane,jorgenson,jaynes,funderburk,freed,durr,creamer,cosgrove,batson,vanhoose,thomsen,teeter,smyth,redmon,orellana,maness,heflin,goulet,frick,forney,bunker,asbury,aguiar,talbott,southard,mowery,mears,lemmon,krieger,hickson,elston,duong,delgadillo,dayton,dasilva,conaway,catron,bruton,bradbury,bordelon,bivins,bittner,bergstrom,beals,abell,whelan,tejada,pulley,pino,norfleet,nealy,maes,loper,gatewood,frierson,freund,finnegan,cupp,covey,catalano,boehm,bader,yoon,walston,tenney,sipes,rawlins,medlock,mccaskill,mccallister,marcotte,maclean,hughey,henke,harwell,gladney,gilson,chism,caskey,brandenburg,baylor,villasenor,veal,thatcher,stegall,petrie,nowlin,navarrete,lombard,loftin,lemaster,kroll,kovach,kimbrell,kidwell,hershberger,fulcher,cantwell,bustos,boland,bobbitt,binkley,wester,weis,verdin,tong,tiller,sisco,sharkey,seymore,rosenbaum,rohr,quinonez,pinkston,malley,logue,lessard,lerner,lebron,krauss,klinger,halstead,haller,getz,burrow,alger,shores,pfeifer,perron,nelms,munn,mcmaster,mckenney,manns,knudson,hutchens,huskey,goebel,flagg,cushman,click,castellano,carder,bumgarner,wampler,spinks,robson,neel,mcreynolds,mathias,maas,loera,jenson,florez,coons,buckingham,brogan,berryman,wilmoth,wilhite,thrash,shephard,seidel,schulze,roldan,pettis,obryan,maki,mackie,hatley,frazer,fiore,chesser,bottoms,bisson,benefield,allman,wilke,trudeau,timm,shifflett,mundy,milliken,mayers,leake,kohn,huntington,horsley,hermann,guerin,fryer,frizzell,foret,flemming,fife,criswell,carbajal,bozeman,boisvert,angulo,wallen,tapp,silvers,ramsay,oshea,orta,moll,mckeever,mcgehee,linville,kiefer,ketchum,howerton,groce,gass,fusco,corbitt,betz,bartels,amaral,aiello,weddle,sperry,seiler,runyan,raley,overby,osteen,olds,mckeown,matney,lauer,lattimore,hindman,hartwell,fredrickson,fredericks,espino,clegg,carswell,cambell,burkholder,woodbury,welker,totten,thornburg,theriault,stitt,stamm,stackhouse,scholl,saxon,rife,razo,quinlan,pinkerton,olivo,nesmith,nall,mattos,lafferty,justus,giron,geer,fielder,drayton,dortch,conners,conger,boatwright,billiot,barden,armenta,tibbetts,steadman,slattery,rinaldi,raynor,pinckney,pettigrew,milne,matteson,halsey,gonsalves,fellows,durand,desimone,cowley,cowles,brill,barham,barela,barba,ashmore,withrow,valenti,tejeda,spriggs,sayre,salerno,peltier,peel,merriman,matheson,lowman,lindstrom,hyland,giroux,earls,dugas,dabney,collado,briseno,baxley,whyte,wenger,vanover,vanburen,thiel,schindler,schiller,rigby,pomeroy,passmore,marble,manzo,mahaffey,lindgren,laflamme,greathouse,fite,calabrese,bayne,yamamoto,wick,townes,thames,reinhart,peeler,naranjo,montez,mcdade,mast,markley,marchand,leeper,kellum,hudgens,hennessey,hadden,gainey,coppola,borrego,bolling,beane,ault,slaton,pape,null,mulkey,lightner,langer,hillard,ethridge,enright,derosa,baskin,weinberg,turman,somerville,pardo,noll,lashley,ingraham,hiller,hendon,glaze,cothran,cooksey,conte,carrico,abner,wooley,swope,summerlin,sturgis,sturdivant,stott,spurgeon,spillman,speight,roussel,popp,nutter,mckeon,mazza,magnuson,lanning,kozak,jankowski,heyward,forster,corwin,callaghan,bays,wortham,usher,theriot,sayers,sabo,poling,loya,lieberman,laroche,labelle,howes,harr,garay,fogarty,everson,durkin,dominquez,chaves,chambliss,witcher,vieira,vandiver,terrill,stoker,schreiner,moorman,liddell,lawhorn,krug,irons,hylton,hollenbeck,herrin,hembree,goolsby,goodin,gilmer,foltz,dinkins,daughtry,caban,brim,briley,bilodeau,wyant,vergara,tallent,swearingen,stroup,scribner,quillen,pitman,mccants,maxfield,martinson,holtz,flournoy,brookins,brody,baumgardner,straub,sills,roybal,roundtree,oswalt,mcgriff,mcdougall,mccleary,maggard,gragg,gooding,godinez,doolittle,donato,cowell,cassell,bracken,appel,zambrano,reuter,perea,nakamura,monaghan,mickens,mcclinton,mcclary,marler,kish,judkins,gilbreath,freese,flanigan,felts,erdmann,dodds,chew,brownell,boatright,barreto,slayton,sandberg,saldivar,pettway,odum,narvaez,moultrie,montemayor,merrell,lees,keyser,hoke,hardaway,hannan,gilbertson,fogg,dumont,deberry,coggins,buxton,bucher,broadnax,beeson,araujo,appleton,amundson,aguayo,ackley,yocum,worsham,shivers,sanches,sacco,robey,rhoden,pender,ochs,mccurry,madera,luong,knotts,jackman,heinrich,hargrave,gault,comeaux,chitwood,caraway,boettcher,bernhardt,barrientos,zink,wickham,whiteman,thorp,stillman,settles,schoonover,roque,riddell,pilcher,phifer,novotny,macleod,hardee,haase,grider,doucette,clausen,bevins,beamon,badillo,tolley,tindall,soule,snook,seale,pinkney,pellegrino,nowell,nemeth,mondragon,mclane,lundgren,ingalls,hudspeth,hixson,gearhart,furlong,downes,dibble,deyoung,cornejo,camara,brookshire,boyette,wolcott,surratt,sellars,segal,salyer,reeve,rausch,labonte,haro,gower,freeland,fawcett,eads,driggers,donley,collett,bromley,boatman,ballinger,baldridge,volz,trombley,stonge,shanahan,rivard,rhyne,pedroza,matias,jamieson,hedgepeth,hartnett,estevez,eskridge,denman,chiu,chinn,catlett,carmack,buie,bechtel,beardsley,bard,ballou,ulmer,skeen,robledo,rincon,reitz,piazza,munger,moten,mcmichael,loftus,ledet,kersey,groff,fowlkes,crumpton,clouse,bettis,villagomez,timmerman,strom,santoro,roddy,penrod,musselman,macpherson,leboeuf,harless,haddad,guido,golding,fulkerson,fannin,dulaney,dowdell,cottle,ceja,cate,bosley,benge,albritton,voigt,trowbridge,soileau,seely,rohde,pearsall,paulk,orth,nason,mota,mcmullin,marquardt,madigan,hoag,gillum,gabbard,fenwick,danforth,cushing,cress,creed,cazares,bettencourt,barringer,baber,stansberry,schramm,rutter,rivero,oquendo,necaise,mouton,montenegro,miley,mcgough,marra,macmillan,lamontagne,jasso,horst,hetrick,heilman,gaytan,gall,fortney,dingle,desjardins,dabbs,burbank,brigham,breland,beaman,arriola,yarborough,wallin,toscano,stowers,reiss,pichardo,orton,michels,mcnamee,mccrory,leatherman,kell,keister,horning,hargett,guay,ferro,deboer,dagostino,carper,blanks,beaudry,towle,tafoya,stricklin,strader,soper,sonnier,sigmon,schenk,saddler,pedigo,mendes,lunn,lohr,lahr,kingsbury,jarman,hume,holliman,hofmann,haworth,harrelson,hambrick,flick,edmunds,dacosta,crossman,colston,chaplin,carrell,budd,weiler,waits,valentino,trantham,tarr,solorio,roebuck,powe,plank,pettus,pagano,mink,luker,leathers,joslin,hartzell,gambrell,cepeda,carty,caputo,brewington,bedell,ballew,applewhite,warnock,walz,urena,tudor,reel,pigg,parton,mickelson,meagher,mclellan,mcculley,mandel,leech,lavallee,kraemer,kling,kipp,kehoe,hochstetler,harriman,gregoire,grabowski,gosselin,gammon,fancher,edens,desai,brannan,armendariz,woolsey,whitehouse,whetstone,ussery,towne,testa,tallman,studer,strait,steinmetz,sorrells,sauceda,rolfe,paddock,mitchem,mcginn,mccrea,lovato,hazen,gilpin,gaynor,fike,devoe,delrio,curiel,burkhardt,bode,backus,zinn,watanabe,wachter,vanpelt,turnage,shaner,schroder,sato,riordan,quimby,portis,natale,mckoy,mccown,kilmer,hotchkiss,hesse,halbert,gwinn,godsey,delisle,chrisman,canter,arbogast,angell,acree,yancy,woolley,wesson,weatherspoon,trainor,stockman,spiller,sipe,rooks,reavis,propst,porras,neilson,mullens,loucks,llewellyn,kumar,koester,klingensmith,kirsch,kester,honaker,hodson,hennessy,helmick,garrity,garibay,drain,casarez,callis,botello,aycock,avant,wingard,wayman,tully,theisen,szymanski,stansbury,segovia,rainwater,preece,pirtle,padron,mincey,mckelvey,mathes,larrabee,kornegay,klug,ingersoll,hecht,germain,eggers,dykstra,deering,decoteau,deason,dearing,cofield,carrigan,bonham,bahr,aucoin,appleby,almonte,yager,womble,wimmer,weimer,vanderpool,stancil,sprinkle,romine,remington,pfaff,peckham,olivera,meraz,maze,lathrop,koehn,hazelton,halvorson,hallock,haddock,ducharme,dehaven,caruthers,brehm,bosworth,bost,bias,beeman,basile,bane,aikens,wold,walther,tabb,suber,strawn,stocker,shirey,schlosser,riedel,rembert,reimer,pyles,peele,merriweather,letourneau,latta,kidder,hixon,hillis,hight,herbst,henriquez,haygood,hamill,gabel,fritts,eubank,dawes,correll,bushey,buchholz,brotherton,botts,barnwell,auger,atchley,westphal,veilleux,ulloa,stutzman,shriver,ryals,pilkington,moyers,marrs,mangrum,maddux,lockard,laing,kuhl,harney,hammock,hamlett,felker,doerr,depriest,carrasquillo,carothers,bogle,bischoff,bergen,albanese,wyckoff,vermillion,vansickle,thibault,tetreault,stickney,shoemake,ruggiero,rawson,racine,philpot,paschal,mcelhaney,mathison,legrand,lapierre,kwan,kremer,jiles,hilbert,geyer,faircloth,ehlers,egbert,desrosiers,dalrymple,cotten,cashman,cadena,boardman,alcaraz,wyrick,therrien,tankersley,strickler,puryear,plourde,pattison,pardue,mcginty,mcevoy,landreth,kuhns,koon,hewett,giddens,emerick,eades,deangelis,cosme,ceballos,birdsong,benham,bemis,armour,anguiano,welborn,tsosie,storms,shoup,sessoms,samaniego,rood,rojo,rhinehart,raby,northcutt,myer,munguia,morehouse,mcdevitt,mallett,lozada,lemoine,kuehn,hallett,grim,gillard,gaylor,garman,gallaher,feaster,faris,darrow,dardar,coney,carreon,braithwaite,boylan,boyett,bixler,bigham,benford,barragan,barnum,zuber,wyche,westcott,vining,stoltzfus,simonds,shupe,sabin,ruble,rittenhouse,richman,perrone,mulholland,millan,lomeli,kite,jemison,hulett,holler,hickerson,herold,hazelwood,griffen,gause,forde,eisenberg,dilworth,charron,chaisson,bristow,breunig,brace,boutwell,bentz,belk,bayless,batchelder,baran,baeza,zimmermann,weathersby,volk,toole,theis,tedesco,searle,schenck,satterwhite,ruelas,rankins,partida,nesbit,morel,menchaca,levasseur,kaylor,johnstone,hulse,hollar,hersey,harrigan,harbison,guyer,gish,giese,gerlach,geller,geisler,falcone,elwell,doucet,deese,darr,corder,chafin,byler,bussell,burdett,brasher,bowe,bellinger,bastian,barner,alleyne,wilborn,weil,wegner,tatro,spitzer,smithers,schoen,resendez,parisi,overman,obrian,mudd,mahler,maggio,lindner,lalonde,lacasse,laboy,killion,kahl,jessen,jamerson,houk,henshaw,gustin,graber,durst,duenas,davey,cundiff,conlon,colunga,coakley,chiles,capers,buell,bricker,bissonnette,bartz,bagby,zayas,volpe,treece,toombs,thom,terrazas,swinney,skiles,silveira,shouse,senn,ramage,moua,langham,kyles,holston,hoagland,herd,feller,denison,carraway,burford,bickel,ambriz,abercrombie,yamada,weidner,waddle,verduzco,thurmond,swindle,schrock,sanabria,rosenberger,probst,peabody,olinger,nazario,mccafferty,mcbroom,mcabee,mazur,matherne,mapes,leverett,killingsworth,heisler,griego,gosnell,frankel,franke,ferrante,fenn,ehrlich,christopherso,chasse,caton,brunelle,bloomfield,babbitt,azevedo,abramson,ables,abeyta,youmans,wozniak,wainwright,stowell,smitherman,samuelson,runge,rothman,rosenfeld,peake,owings,olmos,munro,moreira,leatherwood,larkins,krantz,kovacs,kizer,kindred,karnes,jaffe,hubbell,hosey,hauck,goodell,erdman,dvorak,doane,cureton,cofer,buehler,bierman,berndt,banta,abdullah,warwick,waltz,turcotte,torrey,stith,seger,sachs,quesada,pinder,peppers,pascual,paschall,parkhurst,ozuna,oster,nicholls,lheureux,lavalley,kimura,jablonski,haun,gourley,gilligan,croy,cotto,cargill,burwell,burgett,buckman,booher,adorno,wrenn,whittemore,urias,szabo,sayles,saiz,rutland,rael,pharr,pelkey,ogrady,nickell,musick,moats,mather,massa,kirschner,kieffer,kellar,hendershot,gott,godoy,gadson,furtado,fiedler,erskine,dutcher,dever,daggett,chevalier,brake,ballesteros,amerson,wingo,waldon,trott,silvey,showers,schlegel,ritz,pepin,pelayo,parsley,palermo,moorehead,mchale,lett,kocher,kilburn,iglesias,humble,hulbert,huckaby,hartford,hardiman,gurney,grigg,grasso,goings,fillmore,farber,depew,dandrea,cowen,covarrubias,burrus,bracy,ardoin,thompkins,standley,radcliffe,pohl,persaud,parenteau,pabon,newson,newhouse,napolitano,mulcahy,malave,keim,hooten,hernandes,heffernan,hearne,greenleaf,glick,fuhrman,fetter,faria,dishman,dickenson,crites,criss,clapper,chenault,castor,casto,bugg,bove,bonney,anderton,allgood,alderson,woodman,warrick,toomey,tooley,tarrant,summerville,stebbins,sokol,searles,schutz,schumann,scheer,remillard,raper,proulx,palmore,monroy,messier,melo,melanson,mashburn,manzano,lussier,jenks,huneycutt,hartwig,grimsley,fulk,fielding,fidler,engstrom,eldred,dantzler,crandell,calder,brumley,breton,brann,bramlett,boykins,bianco,bancroft,almaraz,alcantar,whitmer,whitener,welton,vineyard,rahn,paquin,mizell,mcmillin,mckean,marston,maciel,lundquist,liggins,lampkin,kranz,koski,kirkham,jiminez,hazzard,harrod,graziano,grammer,gendron,garrido,fordham,englert,dryden,demoss,deluna,crabb,comeau,brummett,blume,benally,wessel,vanbuskirk,thorson,stumpf,stockwell,reams,radtke,rackley,pelton,niemi,newland,nelsen,morrissette,miramontes,mcginley,mccluskey,marchant,luevano,lampe,lail,jeffcoat,infante,hinman,gaona,eady,desmarais,decosta,dansby,cisco,choe,breckenridge,bostwick,borg,bianchi,alberts,wilkie,whorton,vargo,tait,soucy,schuman,ousley,mumford,lippert,leath,lavergne,laliberte,kirksey,kenner,johnsen,izzo,hiles,gullett,greenwell,gaspar,galbreath,gaitan,ericson,delapaz,croom,cottingham,clift,bushnell,bice,beason,arrowood,waring,voorhees,truax,shreve,shockey,schatz,sandifer,rubino,rozier,roseberry,pieper,peden,nester,nave,murphey,malinowski,macgregor,lafrance,kunkle,kirkman,hipp,hasty,haddix,gervais,gerdes,gamache,fouts,fitzwater,dillingham,deming,deanda,cedeno,cannady,burson,bouldin,arceneaux,woodhouse,whitford,wescott,welty,weigel,torgerson,toms,surber,sunderland,sterner,setzer,riojas,pumphrey,puga,metts,mcgarry,mccandless,magill,lupo,loveland,llamas,leclerc,koons,kahler,huss,holbert,heintz,haupt,grimmett,gaskill,ellingson,dorr,dingess,deweese,desilva,crossley,cordeiro,converse,conde,caldera,cairns,burmeister,burkhalter,brawner,bott,youngs,vierra,valladares,shrum,shropshire,sevilla,rusk,rodarte,pedraza,nino,merino,mcminn,markle,mapp,lajoie,koerner,kittrell,kato,hyder,hollifield,heiser,hazlett,greenwald,fant,eldredge,dreher,delafuente,cravens,claypool,beecher,aronson,alanis,worthen,wojcik,winger,whitacre,valverde,valdivia,troupe,thrower,swindell,suttles,stroman,spires,slate,shealy,sarver,sartin,sadowski,rondeau,rolon,rascon,priddy,paulino,nolte,munroe,molloy,mciver,lykins,loggins,lenoir,klotz,kempf,hupp,hollowell,hollander,haynie,harkness,harker,gottlieb,frith,eddins,driskell,doggett,densmore,charette,cassady,byrum,burcham,buggs,benn,whitted,warrington,vandusen,vaillancourt,steger,siebert,scofield,quirk,purser,plumb,orcutt,nordstrom,mosely,michalski,mcphail,mcdavid,mccraw,marchese,mannino,lefevre,largent,lanza,kress,isham,hunsaker,hoch,hildebrandt,guarino,grijalva,graybill,fick,ewell,ewald,cusick,crumley,coston,cathcart,carruthers,bullington,bowes,blain,blackford,barboza,yingling,wert,weiland,varga,silverstein,sievers,shuster,shumway,runnels,rumsey,renfroe,provencher,polley,mohler,middlebrooks,kutz,koster,groth,glidden,fazio,deen,chipman,chenoweth,champlin,cedillo,carrero,carmody,buckles,brien,boutin,bosch,berkowitz,altamirano,wilfong,wiegand,waites,truesdale,toussaint,tobey,tedder,steelman,sirois,schnell,robichaud,richburg,plumley,pizarro,piercy,ortego,oberg,neace,mertz,mcnew,matta,lapp,lair,kibler,howlett,hollister,hofer,hatten,hagler,falgoust,engelhardt,eberle,dombrowski,dinsmore,daye,casares,braud,balch,autrey,wendel,tyndall,strobel,stoltz,spinelli,serrato,reber,rathbone,palomino,nickels,mayle,mathers,mach,loeffler,littrell,levinson,leong,lemire,lejeune,lazo,lasley,koller,kennard,hoelscher,hintz,hagerman,greaves,fore,eudy,engler,corrales,cordes,brunet,bidwell,bennet,tyrrell,tharpe,swinton,stribling,southworth,sisneros,savoie,samons,ruvalcaba,ries,ramer,omara,mosqueda,millar,mcpeak,macomber,luckey,litton,lehr,lavin,hubbs,hoard,hibbs,hagans,futrell,exum,evenson,culler,carbaugh,callen,brashear,bloomer,blakeney,bigler,addington,woodford,unruh,tolentino,sumrall,stgermain,smock,sherer,rayner,pooler,oquinn,nero,mcglothlin,linden,kowal,kerrigan,ibrahim,harvell,hanrahan,goodall,geist,fussell,fung,ferebee,eley,eggert,dorsett,dingman,destefano,colucci,clemmer,burnell,brumbaugh,boddie,berryhill,avelar,alcantara,winder,winchell,vandenberg,trotman,thurber,thibeault,stlouis,stilwell,sperling,shattuck,sarmiento,ruppert,rumph,renaud,randazzo,rademacher,quiles,pearman,palomo,mercurio,lowrey,lindeman,lawlor,larosa,lander,labrecque,hovis,holifield,henninger,hawkes,hartfield,hann,hague,genovese,garrick,fudge,frink,eddings,dinh,cribbs,calvillo,bunton,brodeur,bolding,blanding,agosto,zahn,wiener,trussell,tello,teixeira,speck,sharma,shanklin,sealy,scanlan,santamaria,roundy,robichaux,ringer,rigney,prevost,polson,nord,moxley,medford,mccaslin,mcardle,macarthur,lewin,lasher,ketcham,keiser,heine,hackworth,grose,grizzle,gillman,gartner,frazee,fleury,edson,edmonson,derry,cronk,conant,burress,burgin,broom,brockington,bolick,boger,birchfield,billington,baily,bahena,armbruster,anson,yoho,wilcher,tinney,timberlake,thielen,sutphin,stultz,sikora,serra,schulman,scheffler,santillan,rego,preciado,pinkham,mickle,lomas,lizotte,lent,kellerman,keil,johanson,hernadez,hartsfield,haber,gorski,farkas,eberhardt,duquette,delano,cropper,cozart,cockerham,chamblee,cartagena,cahoon,buzzell,brister,brewton,blackshear,benfield,aston,ashburn,arruda,wetmore,weise,vaccaro,tucci,sudduth,stromberg,stoops,showalter,shears,runion,rowden,rosenblum,riffle,renfrow,peres,obryant,leftwich,lark,landeros,kistler,killough,kerley,kastner,hoggard,hartung,guertin,govan,gatling,gailey,fullmer,fulford,flatt,esquibel,endicott,edmiston,edelstein,dufresne,dressler,dickman,chee,busse,bonnett,berard,yoshida,velarde,veach,vanhouten,vachon,tolson,tolman,tennyson,stites,soler,shutt,ruggles,rhone,pegues,neese,muro,moncrief,mefford,mcphee,mcmorris,mceachern,mcclurg,mansour,mader,leija,lecompte,lafountain,labrie,jaquez,heald,hash,hartle,gainer,frisby,farina,eidson,edgerton,dyke,durrett,duhon,cuomo,cobos,cervantez,bybee,brockway,borowski,binion,beery,arguello,amaro,acton,yuen,winton,wigfall,weekley,vidrine,vannoy,tardiff,shoop,shilling,schick,safford,prendergast,pilgrim,pellerin,osuna,nissen,nalley,moller,messner,messick,merrifield,mcguinness,matherly,marcano,mahone,lemos,lebrun,jara,hoffer,herren,hecker,haws,haug,gwin,gober,gilliard,fredette,favela,echeverria,downer,donofrio,desrochers,crozier,corson,bechtold,argueta,aparicio,zamudio,westover,westerman,utter,troyer,thies,tapley,slavin,shirk,sandler,roop,rimmer,raymer,radcliff,otten,moorer,millet,mckibben,mccutchen,mcavoy,mcadoo,mayorga,mastin,martineau,marek,madore,leflore,kroeger,kennon,jimerson,hostetter,hornback,hendley,hance,guardado,granado,gowen,goodale,flinn,fleetwood,fitz,durkee,duprey,dipietro,dilley,clyburn,brawley,beckley,arana,weatherby,vollmer,vestal,tunnell,trigg,tingle,takahashi,sweatt,storer,snapp,shiver,rooker,rathbun,poisson,perrine,perri,parmer,parke,pare,papa,palmieri,midkiff,mecham,mccomas,mcalpine,lovelady,lillard,lally,knopp,kile,kiger,haile,gupta,goldsberry,gilreath,fulks,friesen,franzen,flack,findlay,ferland,dreyer,dore,dennard,deckard,debose,crim,coulombe,chancey,cantor,branton,bissell,barns,woolard,witham,wasserman,spiegel,shoffner,scholz,ruch,rossman,petry,palacio,paez,neary,mortenson,millsap,miele,menke,mckim,mcanally,martines,lemley,larochelle,klaus,klatt,kaufmann,kapp,helmer,hedge,halloran,glisson,frechette,fontana,eagan,distefano,danley,creekmore,chartier,chaffee,carillo,burg,bolinger,berkley,benz,basso,bash,zelaya,woodring,witkowski,wilmot,wilkens,wieland,verdugo,urquhart,tsai,timms,swiger,swaim,sussman,pires,molnar,mcatee,lowder,loos,linker,landes,kingery,hufford,higa,hendren,hammack,hamann,gillam,gerhardt,edelman,delk,deans,curl,constantine,cleaver,claar,casiano,carruth,carlyle,brophy,bolanos,bibbs,bessette,beggs,baugher,bartel,averill,andresen,amin,adames,valente,turnbow,swink,sublett,stroh,stringfellow,ridgway,pugliese,poteat,ohare,neubauer,murchison,mingo,lemmons,kwon,kellam,kean,jarmon,hyden,hudak,hollinger,henkel,hemingway,hasson,hansel,halter,haire,ginsberg,gillispie,fogel,flory,etter,elledge,eckman,deas,currin,crafton,coomer,colter,claxton,bulter,braddock,bowyer,binns,bellows,baskerville,barros,ansley,woolf,wight,waldman,wadley,tull,trull,tesch,stouffer,stadler,slay,shubert,sedillo,santacruz,reinke,poynter,neri,neale,mowry,moralez,monger,mitchum,merryman,manion,macdougall,litchfield,levitt,lepage,lasalle,khoury,kavanagh,karns,ivie,huebner,hodgkins,halpin,garica,eversole,dutra,dunagan,duffey,dillman,dillion,deville,dearborn,damato,courson,coulson,burdine,bousquet,bonin,bish,atencio,westbrooks,wages,vaca,toner,tillis,swett,struble,stanfill,solorzano,slusher,sipple,silvas,shults,schexnayder,saez,rodas,rager,pulver,penton,paniagua,meneses,mcfarlin,mcauley,matz,maloy,magruder,lohman,landa,lacombe,jaimes,holzer,holst,heil,hackler,grundy,gilkey,farnham,durfee,dunton,dunston,duda,dews,craver,corriveau,conwell,colella,chambless,bremer,boutte,bourassa,blaisdell,backman,babineaux,audette,alleman,towner,taveras,tarango,sullins,suiter,stallard,solberg,schlueter,poulos,pimental,owsley,okelley,moffatt,metcalfe,meekins,medellin,mcglynn,mccowan,marriott,marable,lennox,lamoureux,koss,kerby,karp,isenberg,howze,hockenberry,highsmith,hallmark,gusman,greeley,giddings,gaudet,gallup,fleenor,eicher,edington,dimaggio,dement,demello,decastro,bushman,brundage,brooker,bourg,blackstock,bergmann,beaton,banister,argo,appling,wortman,watterson,villalpando,tillotson,tighe,sundberg,sternberg,stamey,shipe,seeger,scarberry,sattler,sain,rothstein,poteet,plowman,pettiford,penland,partain,pankey,oyler,ogletree,ogburn,moton,merkel,lucier,lakey,kratz,kinser,kershaw,josephson,imhoff,hendry,hammon,frisbie,frawley,fraga,forester,eskew,emmert,drennan,doyon,dandridge,cawley,carvajal,bracey,belisle,batey,ahner,wysocki,weiser,veliz,tincher,sansone,sankey,sandstrom,rohrer,risner,pridemore,pfeffer,persinger,peery,oubre,nowicki,musgrave,murdoch,mullinax,mccary,mathieu,livengood,kyser,klink,kimes,kellner,kavanaugh,kasten,imes,hoey,hinshaw,hake,gurule,grube,grillo,geter,gatto,garver,garretson,farwell,eiland,dunford,decarlo,corso,colman,collard,cleghorn,chasteen,cavender,carlile,calvo,byerly,brogdon,broadwater,breault,bono,bergin,behr,ballenger,amick,tamez,stiffler,steinke,simmon,shankle,schaller,salmons,sackett,saad,rideout,ratcliffe,ranson,plascencia,petterson,olszewski,olney,olguin,nilsson,nevels,morelli,montiel,monge,michaelson,mertens,mcchesney,mcalpin,mathewson,loudermilk,lineberry,liggett,kinlaw,kight,jost,hereford,hardeman,halpern,halliday,hafer,gaul,friel,freitag,forsberg,evangelista,doering,dicarlo,dendy,delp,deguzman,dameron,curtiss,cosper,cauthen,bradberry,bouton,bonnell,bixby,bieber,beveridge,bedwell,barhorst,bannon,baltazar,baier,ayotte,attaway,arenas,abrego,turgeon,tunstall,thaxton,tenorio,stotts,sthilaire,shedd,seabolt,scalf,salyers,ruhl,rowlett,robinett,pfister,perlman,pepe,parkman,nunnally,norvell,napper,modlin,mckellar,mcclean,mascarenas,leibowitz,ledezma,kuhlman,kobayashi,hunley,holmquist,hinkley,hazard,hartsell,gribble,gravely,fifield,eliason,doak,crossland,carleton,bridgeman,bojorquez,boggess,auten,woosley,whiteley,wexler,twomey,tullis,townley,standridge,santoyo,rueda,riendeau,revell,pless,ottinger,nigro,nickles,mulvey,menefee,mcshane,mcloughlin,mckinzie,markey,lockridge,lipsey,knisley,knepper,kitts,kiel,jinks,hathcock,godin,gallego,fikes,fecteau,estabrook,ellinger,dunlop,dudek,countryman,chauvin,chatham,bullins,brownfield,boughton,bloodworth,bibb,baucom,barbieri,aubin,armitage,alessi,absher,abbate,zito,woolery,wiggs,wacker,tynes,tolle,telles,tarter,swarey,strode,stockdale,stalnaker,spina,schiff,saari,risley,rameriz,rakes,pettaway,penner,paulus,palladino,omeara,montelongo,melnick,mehta,mcgary,mccourt,mccollough,marchetti,manzanares,lowther,leiva,lauderdale,lafontaine,kowalczyk,knighton,joubert,jaworski,huth,hurdle,housley,hackman,gulick,gordy,gilstrap,gehrke,gebhart,gaudette,foxworth,endres,dunkle,cimino,caddell,brauer,braley,bodine,blackmore,belden,backer,ayer,andress,wisner,vuong,valliere,twigg,tavarez,strahan,steib,staub,sowder,seiber,schutt,scharf,schade,rodriques,risinger,renshaw,rahman,presnell,piatt,nieman,nevins,mcilwain,mcgaha,mccully,mccomb,massengale,macedo,lesher,kearse,jauregui,husted,hudnall,holmberg,hertel,hardie,glidewell,frausto,fassett,dalessandro,dahlgren,corum,constantino,conlin,colquitt,colombo,claycomb,cardin,buller,boney,bocanegra,biggers,benedetto,araiza,andino,albin,zorn,werth,weisman,walley,vanegas,ulibarri,towe,tedford,teasley,suttle,steffens,stcyr,squire,singley,sifuentes,shuck,schram,sass,rieger,ridenhour,rickert,richerson,rayborn,rabe,raab,pendley,pastore,ordway,moynihan,mellott,mckissick,mcgann,mccready,mauney,marrufo,lenhart,lazar,lafave,keele,kautz,jardine,jahnke,jacobo,hord,hardcastle,hageman,giglio,gehring,fortson,duque,duplessis,dicken,derosier,deitz,dalessio,cram,castleman,candelario,callison,caceres,bozarth,biles,bejarano,bashaw,avina,armentrout,alverez,acord,waterhouse,vereen,vanlandingham,strawser,shotwell,severance,seltzer,schoonmaker,schock,schaub,schaffner,roeder,rodrigez,riffe,rasberry,rancourt,railey,quade,pursley,prouty,perdomo,oxley,osterman,nickens,murphree,mounts,merida,maus,mattern,masse,martinelli,mangan,lutes,ludwick,loney,laureano,lasater,knighten,kissinger,kimsey,kessinger,honea,hollingshead,hockett,heyer,heron,gurrola,gove,glasscock,gillett,galan,featherstone,eckhardt,duron,dunson,dasher,culbreth,cowden,cowans,claypoole,churchwell,chabot,caviness,cater,caston,callan,byington,burkey,boden,beckford,atwater,archambault,alvey,alsup,whisenant,weese,voyles,verret,tsang,tessier,sweitzer,sherwin,shaughnessy,revis,remy,prine,philpott,peavy,paynter,parmenter,ovalle,offutt,nightingale,newlin,nakano,myatt,muth,mohan,mcmillon,mccarley,mccaleb,maxson,marinelli,maley,liston,letendre,kain,huntsman,hirst,hagerty,gulledge,greenway,grajeda,gorton,goines,gittens,frederickson,fanelli,embree,eichelberger,dunkin,dixson,dillow,defelice,chumley,burleigh,borkowski,binette,biggerstaff,berglund,beller,audet,arbuckle,allain,alfano,youngman,wittman,weintraub,vanzant,vaden,twitty,stollings,standifer,sines,shope,scalise,saville,posada,pisano,otte,nolasco,mier,merkle,mendiola,melcher,mejias,mcmurry,mccalla,markowitz,manis,mallette,macfarlane,lough,looper,landin,kittle,kinsella,kinnard,hobart,helman,hellman,hartsock,halford,hage,gordan,glasser,gayton,gattis,gastelum,gaspard,frisch,fitzhugh,eckstein,eberly,dowden,despain,crumpler,crotty,cornelison,chouinard,chamness,catlin,cann,bumgardner,budde,branum,bradfield,braddy,borst,birdwell,bazan,banas,bade,arango,ahearn,addis,zumwalt,wurth,wilk,widener,wagstaff,urrutia,terwilliger,tart,steinman,staats,sloat,rives,riggle,revels,reichard,prickett,poff,pitzer,petro,pell,northrup,nicks,moline,mielke,maynor,mallon,magness,lingle,lindell,lieb,lesko,lebeau,lammers,lafond,kiernan,ketron,jurado,holmgren,hilburn,hayashi,hashimoto,harbaugh,guillot,gard,froehlich,feinberg,falco,dufour,drees,doney,diep,delao,daves,dail,crowson,coss,congdon,carner,camarena,butterworth,burlingame,bouffard,bloch,bilyeu,barta,bakke,baillargeon,avent,aquilar,zeringue,yarber,wolfson,vogler,voelker,truss,troxell,thrift,strouse,spielman,sistrunk,sevigny,schuller,schaaf,ruffner,routh,roseman,ricciardi,peraza,pegram,overturf,olander,odaniel,millner,melchor,maroney,machuca,macaluso,livesay,layfield,laskowski,kwiatkowski,kilby,hovey,heywood,hayman,havard,harville,haigh,hagood,grieco,glassman,gebhardt,fleischer,fann,elson,eccles,cunha,crumb,blakley,bardwell,abshire,woodham,wines,welter,wargo,varnado,tutt,traynor,swaney,stricker,stoffel,stambaugh,sickler,shackleford,selman,seaver,sansom,sanmiguel,royston,rourke,rockett,rioux,puleo,pitchford,nardi,mulvaney,middaugh,malek,leos,lathan,kujawa,kimbro,killebrew,houlihan,hinckley,herod,hepler,hamner,hammel,hallowell,gonsalez,gingerich,gambill,funkhouser,fricke,fewell,falkner,endsley,dulin,drennen,deaver,dambrosio,chadwell,castanon,burkes,brune,brisco,brinker,bowker,boldt,berner,beaumont,beaird,bazemore,barrick,albano,younts,wunderlich,weidman,vanness,toland,theobald,stickler,steiger,stanger,spies,spector,sollars,smedley,seibel,scoville,saito,rummel,rowles,rouleau,roos,rogan,roemer,ream,raya,purkey,priester,perreira,penick,paulin,parkins,overcash,oleson,neves,muldrow,minard,midgett,michalak,melgar,mcentire,mcauliffe,marte,lydon,lindholm,leyba,langevin,lagasse,lafayette,kesler,kelton,kaminsky,jaggers,humbert,huck,howarth,hinrichs,higley,gupton,guimond,gravois,giguere,fretwell,fontes,feeley,faucher,eichhorn,ecker,earp,dole,dinger,derryberry,demars,deel,copenhaver,collinsworth,colangelo,cloyd,claiborne,caulfield,carlsen,calzada,caffey,broadus,brenneman,bouie,bodnar,blaney,blanc,beltz,behling,barahona,yockey,winkle,windom,wimer,villatoro,trexler,teran,taliaferro,sydnor,swinson,snelling,smtih,simonton,simoneaux,simoneau,sherrer,seavey,scheel,rushton,rupe,ruano,rippy,reiner,reiff,rabinowitz,quach,penley,odle,nock,minnich,mckown,mccarver,mcandrew,longley,laux,lamothe,lafreniere,kropp,krick,kates,jepson,huie,howse,howie,henriques,haydon,haught,hatter,hartzog,harkey,grimaldo,goshorn,gormley,gluck,gilroy,gillenwater,giffin,fluker,feder,eyre,eshelman,eakins,detwiler,delrosario,davisson,catalan,canning,calton,brammer,botelho,blakney,bartell,averett,askins,aker,witmer,winkelman,widmer,whittier,weitzel,wardell,wagers,ullman,tupper,tingley,tilghman,talton,simard,seda,scheller,sala,rundell,rost,ribeiro,rabideau,primm,pinon,peart,ostrom,ober,nystrom,nussbaum,naughton,murr,moorhead,monti,monteiro,melson,meissner,mclin,mcgruder,marotta,makowski,majewski,madewell,lunt,lukens,leininger,lebel,lakin,kepler,jaques,hunnicutt,hungerford,hoopes,hertz,heins,halliburton,grosso,gravitt,glasper,gallman,gallaway,funke,fulbright,falgout,eakin,dostie,dorado,dewberry,derose,cutshall,crampton,costanzo,colletti,cloninger,claytor,chiang,campagna,burd,brokaw,broaddus,bretz,brainard,binford,bilbrey,alpert,aitken,ahlers,zajac,woolfolk,witten,windle,wayland,tramel,tittle,talavera,suter,straley,specht,sommerville,soloman,skeens,sigman,sibert,shavers,schuck,schmit,sartain,sabol,rosenblatt,rollo,rashid,rabb,polston,nyberg,northrop,navarra,muldoon,mikesell,mcdougald,mcburney,mariscal,lozier,lingerfelt,legere,latour,lagunas,lacour,kurth,killen,kiely,kayser,kahle,isley,huertas,hower,hinz,haugh,gumm,galicia,fortunato,flake,dunleavy,duggins,doby,digiovanni,devaney,deltoro,cribb,corpuz,coronel,coen,charbonneau,caine,burchette,blakey,blakemore,bergquist,beene,beaudette,bayles,ballance,bakker,bailes,asberry,arwood,zucker,willman,whitesell,wald,walcott,vancleave,trump,strasser,simas,shick,schleicher,schaal,saleh,rotz,resnick,rainer,partee,ollis,oller,oday,noles,munday,mong,millican,merwin,mazzola,mansell,magallanes,llanes,lewellen,lepore,kisner,keesee,jeanlouis,ingham,hornbeck,hawn,hartz,harber,haffner,gutshall,guth,grays,gowan,finlay,finkelstein,eyler,enloe,dungan,diez,dearman,cull,crosson,chronister,cassity,campion,callihan,butz,breazeale,blumenthal,berkey,batty,batton,arvizu,alderete,aldana,albaugh,abernethy,wolter,wille,tweed,tollefson,thomasson,teter,testerman,sproul,spates,southwick,soukup,skelly,senter,sealey,sawicki,sargeant,rossiter,rosemond,repp,pifer,ormsby,nickelson,naumann,morabito,monzon,millsaps,millen,mcelrath,marcoux,mantooth,madson,macneil,mackinnon,louque,leister,lampley,kushner,krouse,kirwan,jessee,janson,jahn,jacquez,islas,hutt,holladay,hillyer,hepburn,hensel,harrold,gingrich,geis,gales,fults,finnell,ferri,featherston,epley,ebersole,eames,dunigan,drye,dismuke,devaughn,delorenzo,damiano,confer,collum,clower,clow,claussen,clack,caylor,cawthon,casias,carreno,bluhm,bingaman,bewley,belew,beckner,auld,amey,wolfenbarger,wilkey,wicklund,waltman,villalba,valero,valdovinos,ullrich,tyus,twyman,trost,tardif,tanguay,stripling,steinbach,shumpert,sasaki,sappington,sandusky,reinhold,reinert,quijano,placencia,pinkard,phinney,perrotta,pernell,parrett,oxendine,owensby,orman,nuno,mori,mcroberts,mcneese,mckamey,mccullum,markel,mardis,maines,lueck,lubin,lefler,leffler,larios,labarbera,kershner,josey,jeanbaptiste,izaguirre,hermosillo,haviland,hartshorn,hafner,ginter,getty,franck,fiske,dufrene,doody,davie,dangerfield,dahlberg,cuthbertson,crone,coffelt,chidester,chesson,cauley,caudell,cantara,campo,caines,bullis,bucci,brochu,bogard,bickerstaff,benning,arzola,antonelli,adkinson,zellers,wulf,worsley,woolridge,whitton,westerfield,walczak,vassar,truett,trueblood,trawick,townsley,topping,tobar,telford,steverson,stagg,sitton,sill,sergent,schoenfeld,sarabia,rutkowski,rubenstein,rigdon,prentiss,pomerleau,plumlee,philbrick,patnode,oloughlin,obregon,nuss,morell,mikell,mele,mcinerney,mcguigan,mcbrayer,lollar,kuehl,kinzer,kamp,joplin,jacobi,howells,holstein,hedden,hassler,harty,halle,greig,gouge,goodrum,gerhart,geier,geddes,gast,forehand,ferree,fendley,feltner,esqueda,encarnacion,eichler,egger,edmundson,eatmon,doud,donohoe,donelson,dilorenzo,digiacomo,diggins,delozier,dejong,danford,crippen,coppage,cogswell,clardy,cioffi,cabe,brunette,bresnahan,blomquist,blackstone,biller,bevis,bevan,bethune,benbow,baty,basinger,balcom,andes,aman,aguero,adkisson,yandell,wilds,whisenhunt,weigand,weeden,voight,villar,trottier,tillett,suazo,setser,scurry,schuh,schreck,schauer,samora,roane,rinker,reimers,ratchford,popovich,parkin,natal,melville,mcbryde,magdaleno,loehr,lockman,lingo,leduc,larocca,lamere,laclair,krall,korte,koger,jalbert,hughs,higbee,henton,heaney,haith,gump,greeson,goodloe,gholston,gasper,gagliardi,fregoso,farthing,fabrizio,ensor,elswick,elgin,eklund,eaddy,drouin,dorton,dizon,derouen,deherrera,davy,dampier,cullum,culley,cowgill,cardoso,cardinale,brodsky,broadbent,brimmer,briceno,branscum,bolyard,boley,bennington,beadle,baur,ballentine,azure,aultman,arciniega,aguila,aceves,yepez,woodrum,wethington,weissman,veloz,trusty,troup,trammel,tarpley,stivers,steck,sprayberry,spraggins,spitler,spiers,sohn,seagraves,schiffman,rudnick,rizo,riccio,rennie,quackenbush,puma,plott,pearcy,parada,paiz,munford,moskowitz,mease,mcnary,mccusker,lozoya,longmire,loesch,lasky,kuhlmann,krieg,koziol,kowalewski,konrad,kindle,jowers,jolin,jaco,horgan,hine,hileman,hepner,heise,heady,hawkinson,hannigan,haberman,guilford,grimaldi,garton,gagliano,fruge,follett,fiscus,ferretti,ebner,easterday,eanes,dirks,dimarco,depalma,deforest,cruce,craighead,christner,candler,cadwell,burchell,buettner,brinton,brazier,brannen,brame,bova,bomar,blakeslee,belknap,bangs,balzer,athey,armes,alvis,alverson,alvardo,yeung,wheelock,westlund,wessels,volkman,threadgill,thelen,tague,symons,swinford,sturtevant,straka,stier,stagner,segarra,seawright,rutan,roux,ringler,riker,ramsdell,quattlebaum,purifoy,poulson,permenter,peloquin,pasley,pagel,osman,obannon,nygaard,newcomer,munos,motta,meadors,mcquiston,mcniel,mcmann,mccrae,mayne,matte,legault,lechner,kucera,krohn,kratzer,koopman,jeske,horrocks,hock,hibbler,hesson,hersh,harvin,halvorsen,griner,grindle,gladstone,garofalo,frampton,forbis,eddington,diorio,dingus,dewar,desalvo,curcio,creasy,cortese,cordoba,connally,cluff,cascio,capuano,canaday,calabro,bussard,brayton,borja,bigley,arnone,arguelles,acuff,zamarripa,wooton,widner,wideman,threatt,thiele,templin,teeters,synder,swint,swick,sturges,stogner,stedman,spratt,siegfried,shetler,scull,savino,sather,rothwell,rook,rone,rhee,quevedo,privett,pouliot,poche,pickel,petrillo,pellegrini,peaslee,partlow,otey,nunnery,morelock,morello,meunier,messinger,mckie,mccubbin,mccarron,lerch,lavine,laverty,lariviere,lamkin,kugler,krol,kissel,keeter,hubble,hickox,hetzel,hayner,hagy,hadlock,groh,gottschalk,goodsell,gassaway,garrard,galligan,firth,fenderson,feinstein,etienne,engleman,emrick,ellender,drews,doiron,degraw,deegan,dart,crissman,corr,cookson,coil,cleaves,charest,chapple,chaparro,castano,carpio,byer,bufford,bridgewater,bridgers,brandes,borrero,bonanno,aube,ancheta,abarca,abad,wooster,wimbush,willhite,willams,wigley,weisberg,wardlaw,vigue,vanhook,unknow,torre,tasker,tarbox,strachan,slover,shamblin,semple,schuyler,schrimsher,sayer,salzman,rubalcava,riles,reneau,reichel,rayfield,rabon,pyatt,prindle,poss,polito,plemmons,pesce,perrault,pereyra,ostrowski,nilsen,niemeyer,munsey,mundell,moncada,miceli,meader,mcmasters,mckeehan,matsumoto,marron,marden,lizarraga,lingenfelter,lewallen,langan,lamanna,kovac,kinsler,kephart,keown,kass,kammerer,jeffreys,hysell,hosmer,hardnett,hanner,guyette,greening,glazer,ginder,fromm,fluellen,finkle,fessler,essary,eisele,duren,dittmer,crochet,cosentino,cogan,coelho,cavin,carrizales,campuzano,brough,bopp,bookman,bobb,blouin,beesley,battista,bascom,bakken,badgett,arneson,anselmo,albino,ahumada,woodyard,wolters,wireman,willison,warman,waldrup,vowell,vantassel,twombly,toomer,tennison,teets,tedeschi,swanner,stutz,stelly,sheehy,schermerhorn,scala,sandidge,salters,salo,saechao,roseboro,rolle,ressler,renz,renn,redford,raposa,rainbolt,pelfrey,orndorff,oney,nolin,nimmons,nardone,myhre,morman,menjivar,mcglone,mccammon,maxon,marciano,manus,lowrance,lorenzen,lonergan,lollis,littles,lindahl,lamas,lach,kuster,krawczyk,knuth,knecht,kirkendall,keitt,keever,kantor,jarboe,hoye,houchens,holter,holsinger,hickok,helwig,helgeson,hassett,harner,hamman,hames,hadfield,goree,goldfarb,gaughan,gaudreau,gantz,gallion,frady,foti,flesher,ferrin,faught,engram,donegan,desouza,degroot,cutright,crowl,criner,coan,clinkscales,chewning,chavira,catchings,carlock,bulger,buenrostro,bramblett,brack,boulware,bookout,bitner,birt,baranowski,baisden,allmon,acklin,yoakum,wilbourn,whisler,weinberger,washer,vasques,vanzandt,vanatta,troxler,tomes,tindle,tims,throckmorton,thach,stpeter,stlaurent,stenson,spry,spitz,songer,snavely,shroyer,shortridge,shenk,sevier,seabrook,scrivner,saltzman,rosenberry,rockwood,robeson,roan,reiser,ramires,raber,posner,popham,piotrowski,pinard,peterkin,pelham,peiffer,peay,nadler,musso,millett,mestas,mcgowen,marques,marasco,manriquez,manos,mair,lipps,leiker,krumm,knorr,kinslow,kessel,kendricks,kelm,irick,ickes,hurlburt,horta,hoekstra,heuer,helmuth,heatherly,hampson,hagar,haga,greenlaw,grau,godbey,gingras,gillies,gibb,gayden,gauvin,garrow,fontanez,florio,finke,fasano,ezzell,ewers,eveland,eckenrode,duclos,drumm,dimmick,delancey,defazio,dashiell,cusack,crowther,crigger,cray,coolidge,coldiron,cleland,chalfant,cassel,camire,cabrales,broomfield,brittingham,brisson,brickey,braziel,brazell,bragdon,boulanger,boman,bohannan,beem,barre,azar,ashbaugh,armistead,almazan,adamski,zendejas,winburn,willaims,wilhoit,westberry,wentzel,wendling,visser,vanscoy,vankirk,vallee,tweedy,thornberry,sweeny,spradling,spano,smelser,shim,sechrist,schall,scaife,rugg,rothrock,roesler,riehl,ridings,render,ransdell,radke,pinero,petree,pendergast,peluso,pecoraro,pascoe,panek,oshiro,navarrette,murguia,moores,moberg,michaelis,mcwhirter,mcsweeney,mcquade,mccay,mauk,mariani,marceau,mandeville,maeda,lunde,ludlow,loeb,lindo,linderman,leveille,leith,larock,lambrecht,kulp,kinsley,kimberlin,kesterson,hoyos,helfrich,hanke,grisby,goyette,gouveia,glazier,gile,gerena,gelinas,gasaway,funches,fujimoto,flynt,fenske,fellers,fehr,eslinger,escalera,enciso,duley,dittman,dineen,diller,devault,collings,clymer,clowers,chavers,charland,castorena,castello,camargo,bunce,bullen,boyes,borchers,borchardt,birnbaum,birdsall,billman,benites,bankhead,ange,ammerman,adkison,winegar,wickman,warr,warnke,villeneuve,veasey,vassallo,vannatta,vadnais,twilley,towery,tomblin,tippett,theiss,talkington,talamantes,swart,swanger,streit,stines,stabler,spurling,sobel,sine,simmers,shippy,shiflett,shearin,sauter,sanderlin,rusch,runkle,ruckman,rorie,roesch,richert,rehm,randel,ragin,quesenberry,puentes,plyler,plotkin,paugh,oshaughnessy,ohalloran,norsworthy,niemann,nader,moorefield,mooneyham,modica,miyamoto,mickel,mebane,mckinnie,mazurek,mancilla,lukas,lovins,loughlin,lotz,lindsley,liddle,levan,lederman,leclaire,lasseter,lapoint,lamoreaux,lafollette,kubiak,kirtley,keffer,kaczmarek,housman,hiers,hibbert,herrod,hegarty,hathorn,greenhaw,grafton,govea,futch,furst,franko,forcier,foran,flickinger,fairfield,eure,emrich,embrey,edgington,ecklund,eckard,durante,deyo,delvecchio,dade,currey,creswell,cottrill,casavant,cartier,cargile,capel,cammack,calfee,burse,burruss,brust,brousseau,bridwell,braaten,borkholder,bloomquist,bjork,bartelt,amburgey,yeary,whitefield,vinyard,vanvalkenburg,twitchell,timmins,tapper,stringham,starcher,spotts,slaugh,simonsen,sheffer,sequeira,rosati,rhymes,quint,pollak,peirce,patillo,parkerson,paiva,nilson,nevin,narcisse,mitton,merriam,merced,meiners,mckain,mcelveen,mcbeth,marsden,marez,manke,mahurin,mabrey,luper,krull,hunsicker,hornbuckle,holtzclaw,hinnant,heston,hering,hemenway,hegwood,hearns,halterman,guiterrez,grote,granillo,grainger,glasco,gilder,garren,garlock,garey,fryar,fredricks,fraizer,foshee,ferrel,felty,everitt,evens,esser,elkin,eberhart,durso,duguay,driskill,doster,dewall,deveau,demps,demaio,delreal,deleo,darrah,cumberbatch,culberson,cranmer,cordle,colgan,chesley,cavallo,castellon,castelli,carreras,carnell,carlucci,bontrager,blumberg,blasingame,becton,artrip,andujar,alkire,alder,zukowski,zuckerman,wroblewski,wrigley,woodside,wigginton,westman,westgate,werts,washam,wardlow,walser,waiters,tadlock,stringfield,stimpson,stickley,standish,spurlin,spindler,speller,spaeth,sotomayor,sluder,shryock,shepardson,shatley,scannell,santistevan,rosner,resto,reinhard,rathburn,prisco,poulsen,pinney,phares,pennock,pastrana,oviedo,ostler,nauman,mulford,moise,moberly,mirabal,metoyer,metheny,mentzer,meldrum,mcinturff,mcelyea,mcdougle,massaro,lumpkins,loveday,lofgren,lirette,lesperance,lefkowitz,ledger,lauzon,lachapelle,klassen,keough,kempton,kaelin,jeffords,hsieh,hoyer,horwitz,hoeft,hennig,haskin,gourdine,golightly,girouard,fulgham,fritsch,freer,frasher,foulk,firestone,fiorentino,fedor,ensley,englehart,eells,dunphy,donahoe,dileo,dibenedetto,dabrowski,crick,coonrod,conder,coddington,chunn,chaput,cerna,carreiro,calahan,braggs,bourdon,bollman,bittle,bauder,barreras,aubuchon,anzalone,adamo,zerbe,willcox,westberg,weikel,waymire,vroman,vinci,vallejos,truesdell,troutt,trotta,tollison,toles,tichenor,symonds,surles,strayer,stgeorge,sroka,sorrentino,solares,snelson,silvestri,sikorski,shawver,schumaker,schorr,schooley,scates,satterlee,satchell,rymer,roselli,robitaille,riegel,regis,reames,provenzano,priestley,plaisance,pettey,palomares,nowakowski,monette,minyard,mclamb,mchone,mccarroll,masson,magoon,maddy,lundin,licata,leonhardt,landwehr,kircher,kinch,karpinski,johannsen,hussain,houghtaling,hoskinson,hollaway,holeman,hobgood,hiebert,goggin,geissler,gadbois,gabaldon,fleshman,flannigan,fairman,eilers,dycus,dunmire,duffield,dowler,deloatch,dehaan,deemer,clayborn,christofferso,chilson,chesney,chatfield,carron,canale,brigman,branstetter,bosse,borton,bonar,biron,barroso,arispe,zacharias,zabel,yaeger,woolford,whetzel,weakley,veatch,vandeusen,tufts,troxel,troche,traver,townsel,talarico,swilley,sterrett,stenger,speakman,sowards,sours,souders,souder,soles,sobers,snoddy,smither,shute,shoaf,shahan,schuetz,scaggs,santini,rosson,rolen,robidoux,rentas,recio,pixley,pawlowski,pawlak,paull,overbey,orear,oliveri,oldenburg,nutting,naugle,mossman,misner,milazzo,michelson,mcentee,mccullar,mccree,mcaleer,mazzone,mandell,manahan,malott,maisonet,mailloux,lumley,lowrie,louviere,lipinski,lindemann,leppert,leasure,labarge,kubik,knisely,knepp,kenworthy,kennelly,kelch,kanter,houchin,hosley,hosler,hollon,holleman,heitman,haggins,gwaltney,goulding,gorden,geraci,gathers,frison,feagin,falconer,espada,erving,erikson,eisenhauer,ebeling,durgin,dowdle,dinwiddie,delcastillo,dedrick,crimmins,covell,cournoyer,coria,cohan,cataldo,carpentier,canas,campa,brode,brashears,blaser,bicknell,bednar,barwick,ascencio,althoff,almodovar,alamo,zirkle,zabala,wolverton,winebrenner,wetherell,westlake,wegener,weddington,tuten,trosclair,tressler,theroux,teske,swinehart,swensen,sundquist,southall,socha,sizer,silverberg,shortt,shimizu,sherrard,shaeffer,scheid,scheetz,saravia,sanner,rubinstein,rozell,romer,rheaume,reisinger,randles,pullum,petrella,payan,nordin,norcross,nicoletti,nicholes,newbold,nakagawa,monteith,milstead,milliner,mellen,mccardle,liptak,leitch,latimore,larrison,landau,laborde,koval,izquierdo,hymel,hoskin,holte,hoefer,hayworth,hausman,harrill,harrel,hardt,gully,groover,grinnell,greenspan,graver,grandberry,gorrell,goldenberg,goguen,gilleland,fuson,feldmann,everly,dyess,dunnigan,downie,dolby,deatherage,cosey,cheever,celaya,caver,cashion,caplinger,cansler,byrge,bruder,breuer,breslin,brazelton,botkin,bonneau,bondurant,bohanan,bogue,bodner,boatner,blatt,bickley,belliveau,beiler,beier,beckstead,bachmann,atkin,altizer,alloway,allaire,albro,abron,zellmer,yetter,yelverton,wiens,whidden,viramontes,vanwormer,tarantino,tanksley,sumlin,strauch,strang,stice,spahn,sosebee,sigala,shrout,seamon,schrum,schneck,schantz,ruddy,romig,roehl,renninger,reding,polak,pohlman,pasillas,oldfield,oldaker,ohanlon,ogilvie,norberg,nolette,neufeld,nellis,mummert,mulvihill,mullaney,monteleone,mendonca,meisner,mcmullan,mccluney,mattis,massengill,manfredi,luedtke,lounsbury,liberatore,lamphere,laforge,jourdan,iorio,iniguez,ikeda,hubler,hodgdon,hocking,heacock,haslam,haralson,hanshaw,hannum,hallam,haden,garnes,garces,gammage,gambino,finkel,faucett,ehrhardt,eggen,dusek,durrant,dubay,dones,depasquale,delucia,degraff,decamp,davalos,cullins,conard,clouser,clontz,cifuentes,chappel,chaffins,celis,carwile,byram,bruggeman,bressler,brathwaite,brasfield,bradburn,boose,bodie,blosser,bertsch,bernardi,bernabe,bengtson,barrette,astorga,alday,albee,abrahamson,yarnell,wiltse,wiebe,waguespack,vasser,upham,turek,traxler,torain,tomaszewski,tinnin,tiner,tindell,styron,stahlman,staab,skiba,sheperd,seidl,secor,schutte,sanfilippo,ruder,rondon,rearick,procter,prochaska,pettengill,pauly,neilsen,nally,mullenax,morano,meads,mcnaughton,mcmurtry,mcmath,mckinsey,matthes,massenburg,marlar,margolis,malin,magallon,mackin,lovette,loughran,loring,longstreet,loiselle,lenihan,kunze,koepke,kerwin,kalinowski,kagan,innis,innes,holtzman,heinemann,harshman,haider,haack,grondin,grissett,greenawalt,goudy,goodlett,goldston,gokey,gardea,galaviz,gafford,gabrielson,furlow,fritch,fordyce,folger,elizalde,ehlert,eckhoff,eccleston,ealey,dubin,diemer,deschamps,delapena,decicco,debolt,cullinan,crittendon,crase,cossey,coppock,coots,colyer,cluck,chamberland,burkhead,bumpus,buchan,borman,birkholz,berardi,benda,behnke,barter,amezquita,wotring,wirtz,wingert,wiesner,whitesides,weyant,wainscott,venezia,varnell,tussey,thurlow,tabares,stiver,stell,starke,stanhope,stanek,sisler,sinnott,siciliano,shehan,selph,seager,scurlock,scranton,santucci,santangelo,saltsman,rogge,rettig,renwick,reidy,reider,redfield,premo,parente,paolucci,palmquist,ohler,netherton,mutchler,morita,mistretta,minnis,middendorf,menzel,mendosa,mendelson,meaux,mcspadden,mcquaid,mcnatt,manigault,maney,mager,lukes,lopresti,liriano,letson,lechuga,lazenby,lauria,larimore,krupp,krupa,kopec,kinchen,kifer,kerney,kerner,kennison,kegley,karcher,justis,johson,jellison,janke,huskins,holzman,hinojos,hefley,hatmaker,harte,halloway,hallenbeck,goodwyn,glaspie,geise,fullwood,fryman,frakes,fraire,farrer,enlow,engen,ellzey,eckles,earles,dunkley,drinkard,dreiling,draeger,dinardo,dills,desroches,desantiago,curlee,crumbley,critchlow,coury,courtright,coffield,cleek,charpentier,cardone,caples,cantin,buntin,bugbee,brinkerhoff,brackin,bourland,blassingame,beacham,banning,auguste,andreasen,amann,almon,alejo,adelman,abston,yerger,wymer,woodberry,windley,whiteaker,westfield,weibel,wanner,waldrep,villani,vanarsdale,utterback,updike,triggs,topete,tolar,tigner,thoms,tauber,tarvin,tally,swiney,sweatman,studebaker,stennett,starrett,stannard,stalvey,sonnenberg,smithey,sieber,sickles,shinault,segars,sanger,salmeron,rothe,rizzi,restrepo,ralls,ragusa,quiroga,papenfuss,oropeza,okane,mudge,mozingo,molinaro,mcvicker,mcgarvey,mcfalls,mccraney,matus,magers,llanos,livermore,linehan,leitner,laymon,lawing,lacourse,kwong,kollar,kneeland,kennett,kellett,kangas,janzen,hutter,huling,hofmeister,hewes,harjo,habib,guice,grullon,greggs,grayer,granier,grable,gowdy,giannini,getchell,gartman,garnica,ganey,gallimore,fetters,fergerson,farlow,fagundes,exley,esteves,enders,edenfield,easterwood,drakeford,dipasquale,desousa,deshields,deeter,dedmon,debord,daughtery,cutts,courtemanche,coursey,copple,coomes,collis,cogburn,clopton,choquette,chaidez,castrejon,calhoon,burbach,bulloch,buchman,bruhn,bohon,blough,baynes,barstow,zeman,zackery,yardley,yamashita,wulff,wilken,wiliams,wickersham,wible,whipkey,wedgeworth,walmsley,walkup,vreeland,verrill,umana,traub,swingle,summey,stroupe,stockstill,steffey,stefanski,statler,stapp,speights,solari,soderberg,shunk,shorey,shewmaker,sheilds,schiffer,schank,schaff,sagers,rochon,riser,rickett,reale,raglin,polen,plata,pitcock,percival,palen,orona,oberle,nocera,navas,nault,mullings,montejano,monreal,minick,middlebrook,meece,mcmillion,mccullen,mauck,marshburn,maillet,mahaney,magner,maclin,lucey,litteral,lippincott,leite,leaks,lamarre,jurgens,jerkins,jager,hurwitz,hughley,hotaling,horstman,hohman,hocker,hively,hipps,hessler,hermanson,hepworth,helland,hedlund,harkless,haigler,gutierez,grindstaff,glantz,giardina,gerken,gadsden,finnerty,farnum,encinas,drakes,dennie,cutlip,curtsinger,couto,cortinas,corby,chiasson,carle,carballo,brindle,borum,bober,blagg,berthiaume,beahm,batres,basnight,backes,axtell,atterberry,alvares,alegria,woodell,wojciechowski,winfree,winbush,wiest,wesner,wamsley,wakeman,verner,truex,trafton,toman,thorsen,theus,tellier,tallant,szeto,strope,stills,simkins,shuey,shaul,servin,serio,serafin,salguero,ryerson,rudder,ruark,rother,rohrbaugh,rohrbach,rohan,rogerson,risher,reeser,pryce,prokop,prins,priebe,prejean,pinheiro,petrone,petri,penson,pearlman,parikh,natoli,murakami,mullikin,mullane,motes,morningstar,mcveigh,mcgrady,mcgaughey,mccurley,marchan,manske,lusby,linde,likens,licon,leroux,lemaire,legette,laskey,laprade,laplant,kolar,kittredge,kinley,kerber,kanagy,jetton,janik,ippolito,inouye,hunsinger,howley,howery,horrell,holthaus,hiner,hilson,hilderbrand,hartzler,harnish,harada,hansford,halligan,hagedorn,gwynn,gudino,greenstein,greear,gracey,goudeau,goodner,ginsburg,gerth,gerner,fujii,frier,frenette,folmar,fleisher,fleischmann,fetzer,eisenman,earhart,dupuy,dunkelberger,drexler,dillinger,dilbeck,dewald,demby,deford,craine,chesnut,casady,carstens,carrick,carino,carignan,canchola,bushong,burman,buono,brownlow,broach,britten,brickhouse,boyden,boulton,borland,bohrer,blubaugh,bever,berggren,benevides,arocho,arends,amezcua,almendarez,zalewski,witzel,winkfield,wilhoite,vangundy,vanfleet,vanetten,vandergriff,urbanski,troiano,thibodaux,straus,stoneking,stjean,stillings,stange,speicher,speegle,smeltzer,slawson,simmonds,shuttleworth,serpa,senger,seidman,schweiger,schloss,schimmel,schechter,sayler,sabatini,ronan,rodiguez,riggleman,richins,reamer,prunty,porath,plunk,piland,philbrook,pettitt,perna,peralez,pascale,padula,oboyle,nivens,nickols,mundt,munden,montijo,mcmanis,mcgrane,mccrimmon,manzi,mangold,malick,mahar,maddock,losey,litten,leedy,leavell,ladue,krahn,kluge,junker,iversen,imler,hurtt,huizar,hubbert,howington,hollomon,holdren,hoisington,heiden,hauge,hartigan,gutirrez,griffie,greenhill,gratton,granata,gottfried,gertz,gautreaux,furry,furey,funderburg,flippen,fitzgibbon,drucker,donoghue,dildy,devers,detweiler,despres,denby,degeorge,cueto,cranston,courville,clukey,cirillo,chivers,caudillo,butera,bulluck,buckmaster,braunstein,bracamonte,bourdeau,bonnette".split(","),
18186us_tv_and_film:"you,i,to,that,it,me,what,this,know,i'm,no,have,my,don't,just,not,do,be,your,we,it's,so,but,all,well,oh,about,right,you're,get,here,out,going,like,yeah,if,can,up,want,think,that's,now,go,him,how,got,did,why,see,come,good,really,look,will,okay,back,can't,mean,tell,i'll,hey,he's,could,didn't,yes,something,because,say,take,way,little,make,need,gonna,never,we're,too,she's,i've,sure,our,sorry,what's,let,thing,maybe,down,man,very,there's,should,anything,said,much,any,even,off,please,doing,thank,give,thought,help,talk,god,still,wait,find,nothing,again,things,let's,doesn't,call,told,great,better,ever,night,away,believe,feel,everything,you've,fine,last,keep,does,put,around,stop,they're,i'd,guy,isn't,always,listen,wanted,guys,huh,those,big,lot,happened,thanks,won't,trying,kind,wrong,talking,guess,care,bad,mom,remember,getting,we'll,together,dad,leave,understand,wouldn't,actually,hear,baby,nice,father,else,stay,done,wasn't,course,might,mind,every,enough,try,hell,came,someone,you'll,whole,yourself,idea,ask,must,coming,looking,woman,room,knew,tonight,real,son,hope,went,hmm,happy,pretty,saw,girl,sir,friend,already,saying,next,job,problem,minute,thinking,haven't,heard,honey,matter,myself,couldn't,exactly,having,probably,happen,we've,hurt,boy,dead,gotta,alone,excuse,start,kill,hard,you'd,today,car,ready,without,wants,hold,wanna,yet,seen,deal,once,gone,morning,supposed,friends,head,stuff,worry,live,truth,face,forget,true,cause,soon,knows,telling,wife,who's,chance,run,move,anyone,person,bye,somebody,heart,miss,making,meet,anyway,phone,reason,damn,lost,looks,bring,case,turn,wish,tomorrow,kids,trust,check,change,anymore,least,aren't,working,makes,taking,means,brother,hate,ago,says,beautiful,gave,fact,crazy,sit,afraid,important,rest,fun,kid,word,watch,glad,everyone,sister,minutes,everybody,bit,couple,whoa,either,mrs,feeling,daughter,wow,gets,asked,break,promise,door,close,hand,easy,question,tried,far,walk,needs,mine,killed,hospital,anybody,alright,wedding,shut,able,die,perfect,stand,comes,hit,waiting,dinner,funny,husband,almost,pay,answer,cool,eyes,news,child,shouldn't,yours,moment,sleep,read,where's,sounds,sonny,pick,sometimes,bed,date,plan,hours,lose,hands,serious,shit,behind,inside,ahead,week,wonderful,fight,past,cut,quite,he'll,sick,it'll,eat,nobody,goes,save,seems,finally,lives,worried,upset,carly,met,brought,seem,sort,safe,weren't,leaving,front,shot,loved,asking,running,clear,figure,hot,felt,parents,drink,absolutely,how's,daddy,sweet,alive,sense,meant,happens,bet,blood,ain't,kidding,lie,meeting,dear,seeing,sound,fault,ten,buy,hour,speak,lady,jen,thinks,christmas,outside,hang,possible,worse,mistake,ooh,handle,spend,totally,giving,here's,marriage,realize,unless,sex,send,needed,scared,picture,talked,ass,hundred,changed,completely,explain,certainly,sign,boys,relationship,loves,hair,lying,choice,anywhere,future,weird,luck,she'll,turned,touch,kiss,crane,questions,obviously,wonder,pain,calling,somewhere,throw,straight,cold,fast,words,food,none,drive,feelings,they'll,marry,drop,cannot,dream,protect,twenty,surprise,sweetheart,poor,looked,mad,except,gun,y'know,dance,takes,appreciate,especially,situation,besides,pull,hasn't,worth,sheridan,amazing,expect,swear,piece,busy,happening,movie,we'd,catch,perhaps,step,fall,watching,kept,darling,dog,honor,moving,till,admit,problems,murder,he'd,evil,definitely,feels,honest,eye,broke,missed,longer,dollars,tired,evening,starting,entire,trip,niles,suppose,calm,imagine,fair,caught,blame,sitting,favor,apartment,terrible,clean,learn,frasier,relax,accident,wake,prove,smart,message,missing,forgot,interested,table,nbsp,mouth,pregnant,ring,careful,shall,dude,ride,figured,wear,shoot,stick,follow,angry,write,stopped,ran,standing,forgive,jail,wearing,ladies,kinda,lunch,cristian,greenlee,gotten,hoping,phoebe,thousand,ridge,paper,tough,tape,count,boyfriend,proud,agree,birthday,they've,share,offer,hurry,feet,wondering,decision,ones,finish,voice,herself,would've,mess,deserve,evidence,cute,dress,interesting,hotel,enjoy,quiet,concerned,staying,beat,sweetie,mention,clothes,fell,neither,mmm,fix,respect,prison,attention,holding,calls,surprised,bar,keeping,gift,hadn't,putting,dark,owe,ice,helping,normal,aunt,lawyer,apart,plans,jax,girlfriend,floor,whether,everything's,box,judge,upstairs,sake,mommy,possibly,worst,acting,accept,blow,strange,saved,conversation,plane,mama,yesterday,lied,quick,lately,stuck,difference,store,she'd,bought,doubt,listening,walking,cops,deep,dangerous,buffy,sleeping,chloe,rafe,join,card,crime,gentlemen,willing,window,walked,guilty,likes,fighting,difficult,soul,joke,favorite,uncle,promised,bother,seriously,cell,knowing,broken,advice,somehow,paid,losing,push,helped,killing,boss,liked,innocent,rules,learned,thirty,risk,letting,speaking,ridiculous,afternoon,apologize,nervous,charge,patient,boat,how'd,hide,detective,planning,huge,breakfast,horrible,awful,pleasure,driving,hanging,picked,sell,quit,apparently,dying,notice,congratulations,visit,could've,c'mon,letter,decide,forward,fool,showed,smell,seemed,spell,memory,pictures,slow,seconds,hungry,hearing,kitchen,ma'am,should've,realized,kick,grab,discuss,fifty,reading,idiot,suddenly,agent,destroy,bucks,shoes,peace,arms,demon,livvie,consider,papers,incredible,witch,drunk,attorney,tells,knock,ways,gives,nose,skye,turns,keeps,jealous,drug,sooner,cares,plenty,extra,outta,weekend,matters,gosh,opportunity,impossible,waste,pretend,jump,eating,proof,slept,arrest,breathe,perfectly,warm,pulled,twice,easier,goin,dating,suit,romantic,drugs,comfortable,finds,checked,divorce,begin,ourselves,closer,ruin,smile,laugh,treat,fear,what'd,otherwise,excited,mail,hiding,stole,pacey,noticed,fired,excellent,bringing,bottom,note,sudden,bathroom,honestly,sing,foot,remind,charges,witness,finding,tree,dare,hardly,that'll,steal,silly,contact,teach,shop,plus,colonel,fresh,trial,invited,roll,reach,dirty,choose,emergency,dropped,butt,credit,obvious,locked,loving,nuts,agreed,prue,goodbye,condition,guard,fuckin,grow,cake,mood,crap,crying,belong,partner,trick,pressure,dressed,taste,neck,nurse,raise,lots,carry,whoever,drinking,they'd,breaking,file,lock,wine,spot,paying,assume,asleep,turning,viki,bedroom,shower,nikolas,camera,fill,reasons,forty,bigger,nope,breath,doctors,pants,freak,movies,folks,cream,wild,truly,desk,convince,client,threw,hurts,spending,answers,shirt,chair,rough,doin,sees,ought,empty,wind,aware,dealing,pack,tight,hurting,guest,arrested,salem,confused,surgery,expecting,deacon,unfortunately,goddamn,bottle,beyond,whenever,pool,opinion,starts,jerk,secrets,falling,necessary,barely,dancing,tests,copy,cousin,ahem,twelve,tess,skin,fifteen,speech,orders,complicated,nowhere,escape,biggest,restaurant,grateful,usual,burn,address,someplace,screw,everywhere,regret,goodness,mistakes,details,responsibility,suspect,corner,hero,dumb,terrific,whoo,hole,memories,o'clock,teeth,ruined,bite,stenbeck,liar,showing,cards,desperate,search,pathetic,spoke,scare,marah,afford,settle,stayed,checking,hired,heads,concern,blew,alcazar,champagne,connection,tickets,happiness,saving,kissing,hated,personally,suggest,prepared,onto,downstairs,ticket,it'd,loose,holy,duty,convinced,throwing,kissed,legs,loud,saturday,babies,where'd,warning,miracle,carrying,blind,ugly,shopping,hates,sight,bride,coat,clearly,celebrate,brilliant,wanting,forrester,lips,custody,screwed,buying,toast,thoughts,reality,lexie,attitude,advantage,grandfather,sami,grandma,someday,roof,marrying,powerful,grown,grandmother,fake,must've,ideas,exciting,familiar,bomb,bout,harmony,schedule,capable,practically,correct,clue,forgotten,appointment,deserves,threat,bloody,lonely,shame,jacket,hook,scary,investigation,invite,shooting,lesson,criminal,victim,funeral,considering,burning,strength,harder,sisters,pushed,shock,pushing,heat,chocolate,miserable,corinthos,nightmare,brings,zander,crash,chances,sending,recognize,healthy,boring,feed,engaged,headed,treated,knife,drag,badly,hire,paint,pardon,behavior,closet,warn,gorgeous,milk,survive,ends,dump,rent,remembered,thanksgiving,rain,revenge,prefer,spare,pray,disappeared,aside,statement,sometime,meat,fantastic,breathing,laughing,stood,affair,ours,depends,protecting,jury,brave,fingers,murdered,explanation,picking,blah,stronger,handsome,unbelievable,anytime,shake,oakdale,wherever,pulling,facts,waited,lousy,circumstances,disappointed,weak,trusted,license,nothin,trash,understanding,slip,sounded,awake,friendship,stomach,weapon,threatened,mystery,vegas,understood,basically,switch,frankly,cheap,lifetime,deny,clock,garbage,why'd,tear,ears,indeed,changing,singing,tiny,decent,avoid,messed,filled,touched,disappear,exact,pills,kicked,harm,fortune,pretending,insurance,fancy,drove,cared,belongs,nights,lorelai,lift,timing,guarantee,chest,woke,burned,watched,heading,selfish,drinks,doll,committed,elevator,freeze,noise,wasting,ceremony,uncomfortable,staring,files,bike,stress,permission,thrown,possibility,borrow,fabulous,doors,screaming,bone,xander,what're,meal,apology,anger,honeymoon,bail,parking,fixed,wash,stolen,sensitive,stealing,photo,chose,lets,comfort,worrying,pocket,mateo,bleeding,shoulder,ignore,talent,tied,garage,dies,demons,dumped,witches,rude,crack,bothering,radar,soft,meantime,gimme,kinds,fate,concentrate,throat,prom,messages,intend,ashamed,somethin,manage,guilt,interrupt,guts,tongue,shoe,basement,sentence,purse,glasses,cabin,universe,repeat,mirror,wound,travers,tall,engagement,therapy,emotional,jeez,decisions,soup,thrilled,stake,chef,moves,extremely,moments,expensive,counting,shots,kidnapped,cleaning,shift,plate,impressed,smells,trapped,aidan,knocked,charming,attractive,argue,puts,whip,embarrassed,package,hitting,bust,stairs,alarm,pure,nail,nerve,incredibly,walks,dirt,stamp,terribly,friendly,damned,jobs,suffering,disgusting,stopping,deliver,riding,helps,disaster,bars,crossed,trap,talks,eggs,chick,threatening,spoken,introduce,confession,embarrassing,bags,impression,gate,reputation,presents,chat,suffer,argument,talkin,crowd,homework,coincidence,cancel,pride,solve,hopefully,pounds,pine,mate,illegal,generous,outfit,maid,bath,punch,freaked,begging,recall,enjoying,prepare,wheel,defend,signs,painful,yourselves,maris,that'd,suspicious,cooking,button,warned,sixty,pity,yelling,awhile,confidence,offering,pleased,panic,hers,gettin,refuse,grandpa,testify,choices,cruel,mental,gentleman,coma,cutting,proteus,guests,expert,benefit,faces,jumped,toilet,sneak,halloween,privacy,smoking,reminds,twins,swing,solid,options,commitment,crush,ambulance,wallet,gang,eleven,option,laundry,assure,stays,skip,fail,discussion,clinic,betrayed,sticking,bored,mansion,soda,sheriff,suite,handled,busted,load,happier,studying,romance,procedure,commit,assignment,suicide,minds,swim,yell,llanview,chasing,proper,believes,humor,hopes,lawyers,giant,latest,escaped,parent,tricks,insist,dropping,cheer,medication,flesh,routine,sandwich,handed,false,beating,warrant,awfully,odds,treating,thin,suggesting,fever,sweat,silent,clever,sweater,mall,sharing,assuming,judgment,goodnight,divorced,surely,steps,confess,math,listened,comin,answered,vulnerable,bless,dreaming,chip,zero,pissed,nate,kills,tears,knees,chill,brains,unusual,packed,dreamed,cure,lookin,grave,cheating,breaks,locker,gifts,awkward,thursday,joking,reasonable,dozen,curse,quartermaine,millions,dessert,rolling,detail,alien,delicious,closing,vampires,wore,tail,secure,salad,murderer,spit,offense,dust,conscience,bread,answering,lame,invitation,grief,smiling,pregnancy,prisoner,delivery,guards,virus,shrink,freezing,wreck,massimo,wire,technically,blown,anxious,cave,holidays,cleared,wishes,caring,candles,bound,charm,pulse,jumping,jokes,boom,occasion,silence,nonsense,frightened,slipped,dimera,blowing,relationships,kidnapping,spin,tool,roxy,packing,blaming,wrap,obsessed,fruit,torture,personality,there'll,fairy,necessarily,seventy,print,motel,underwear,grams,exhausted,believing,freaking,carefully,trace,touching,messing,recovery,intention,consequences,belt,sacrifice,courage,enjoyed,attracted,remove,testimony,intense,heal,defending,unfair,relieved,loyal,slowly,buzz,alcohol,surprises,psychiatrist,plain,attic,who'd,uniform,terrified,cleaned,zach,threaten,fella,enemies,satisfied,imagination,hooked,headache,forgetting,counselor,andie,acted,badge,naturally,frozen,sakes,appropriate,trunk,dunno,costume,sixteen,impressive,kicking,junk,grabbed,understands,describe,clients,owns,affect,witnesses,starving,instincts,happily,discussing,deserved,strangers,surveillance,admire,questioning,dragged,barn,deeply,wrapped,wasted,tense,hoped,fellas,roommate,mortal,fascinating,stops,arrangements,agenda,literally,propose,honesty,underneath,sauce,promises,lecture,eighty,torn,shocked,backup,differently,ninety,deck,biological,pheebs,ease,creep,waitress,telephone,ripped,raising,scratch,rings,prints,thee,arguing,ephram,asks,oops,diner,annoying,taggert,sergeant,blast,towel,clown,habit,creature,bermuda,snap,react,paranoid,handling,eaten,therapist,comment,sink,reporter,nurses,beats,priority,interrupting,warehouse,loyalty,inspector,pleasant,excuses,threats,guessing,tend,praying,motive,unconscious,mysterious,unhappy,tone,switched,rappaport,sookie,neighbor,loaded,swore,piss,balance,toss,misery,thief,squeeze,lobby,goa'uld,geez,exercise,forth,booked,sandburg,poker,eighteen,d'you,bury,everyday,digging,creepy,wondered,liver,hmmm,magical,fits,discussed,moral,helpful,searching,flew,depressed,aisle,cris,amen,vows,neighbors,darn,cents,arrange,annulment,useless,adventure,resist,fourteen,celebrating,inch,debt,violent,sand,teal'c,celebration,reminded,phones,paperwork,emotions,stubborn,pound,tension,stroke,steady,overnight,chips,beef,suits,boxes,cassadine,collect,tragedy,spoil,realm,wipe,surgeon,stretch,stepped,nephew,neat,limo,confident,perspective,climb,punishment,finest,springfield,hint,furniture,blanket,twist,proceed,fries,worries,niece,gloves,soap,signature,disappoint,crawl,convicted,flip,counsel,doubts,crimes,accusing,shaking,remembering,hallway,halfway,bothered,madam,gather,cameras,blackmail,symptoms,rope,ordinary,imagined,cigarette,supportive,explosion,trauma,ouch,furious,cheat,avoiding,whew,thick,oooh,boarding,approve,urgent,shhh,misunderstanding,drawer,phony,interfere,catching,bargain,tragic,respond,punish,penthouse,thou,rach,ohhh,insult,bugs,beside,begged,absolute,strictly,socks,senses,sneaking,reward,polite,checks,tale,physically,instructions,fooled,blows,tabby,bitter,adorable,y'all,tested,suggestion,jewelry,alike,jacks,distracted,shelter,lessons,constable,circus,audition,tune,shoulders,mask,helpless,feeding,explains,sucked,robbery,objection,behave,valuable,shadows,courtroom,confusing,talented,smarter,mistaken,customer,bizarre,scaring,motherfucker,alert,vecchio,reverend,foolish,compliment,bastards,worker,wheelchair,protective,gentle,reverse,picnic,knee,cage,wives,wednesday,voices,toes,stink,scares,pour,cheated,slide,ruining,filling,exit,cottage,upside,proves,parked,diary,complaining,confessed,pipe,merely,massage,chop,spill,prayer,betray,waiter,scam,rats,fraud,brush,tables,sympathy,pill,filthy,seventeen,employee,bracelet,pays,fairly,deeper,arrive,tracking,spite,shed,recommend,oughta,nanny,menu,diet,corn,roses,patch,dime,devastated,subtle,bullets,beans,pile,confirm,strings,parade,borrowed,toys,straighten,steak,premonition,planted,honored,exam,convenient,traveling,laying,insisted,dish,aitoro,kindly,grandson,donor,temper,teenager,proven,mothers,denial,backwards,tent,swell,noon,happiest,drives,thinkin,spirits,potion,holes,fence,whatsoever,rehearsal,overheard,lemme,hostage,bench,tryin,taxi,shove,moron,impress,needle,intelligent,instant,disagree,stinks,rianna,recover,groom,gesture,constantly,bartender,suspects,sealed,legally,hears,dresses,sheet,psychic,teenage,knocking,judging,accidentally,waking,rumor,manners,homeless,hollow,desperately,tapes,referring,item,genoa,gear,majesty,cried,tons,spells,instinct,quote,motorcycle,convincing,fashioned,aids,accomplished,grip,bump,upsetting,needing,invisible,forgiveness,feds,compare,bothers,tooth,inviting,earn,compromise,cocktail,tramp,jabot,intimate,dignity,dealt,souls,informed,gods,dressing,cigarettes,alistair,leak,fond,corky,seduce,liquor,fingerprints,enchantment,butters,stuffed,stavros,emotionally,transplant,tips,oxygen,nicely,lunatic,drill,complain,announcement,unfortunate,slap,prayers,plug,opens,oath,o'neill,mutual,yacht,remembers,fried,extraordinary,bait,warton,sworn,stare,safely,reunion,burst,might've,dive,aboard,expose,buddies,trusting,booze,sweep,sore,scudder,properly,parole,ditch,canceled,speaks,glow,wears,thirsty,skull,ringing,dorm,dining,bend,unexpected,pancakes,harsh,flattered,ahhh,troubles,fights,favourite,eats,rage,undercover,spoiled,sloane,shine,destroying,deliberately,conspiracy,thoughtful,sandwiches,plates,nails,miracles,fridge,drank,contrary,beloved,allergic,washed,stalking,solved,sack,misses,forgiven,bent,maciver,involve,dragging,cooked,pointing,foul,dull,beneath,heels,faking,deaf,stunt,jealousy,hopeless,fears,cuts,scenario,necklace,crashed,accuse,restraining,homicide,helicopter,firing,safer,auction,videotape,tore,reservations,pops,appetite,wounds,vanquish,ironic,fathers,excitement,anyhow,tearing,sends,rape,laughed,belly,dealer,cooperate,accomplish,wakes,spotted,sorts,reservation,ashes,tastes,supposedly,loft,intentions,integrity,wished,towels,suspected,investigating,inappropriate,lipstick,lawn,compassion,cafeteria,scarf,precisely,obsession,loses,lighten,infection,granddaughter,explode,balcony,this'll,spying,publicity,depend,cracked,conscious,ally,absurd,vicious,invented,forbid,directions,defendant,bare,announce,screwing,salesman,robbed,leap,lakeview,insanity,reveal,possibilities,kidnap,gown,chairs,wishing,setup,punished,criminals,regrets,raped,quarters,lamp,dentist,anyways,anonymous,semester,risks,owes,lungs,explaining,delicate,tricked,eager,doomed,adoption,stab,sickness,scum,floating,envelope,vault,sorel,pretended,potatoes,plea,photograph,payback,misunderstood,kiddo,healing,cascade,capeside,stabbed,remarkable,brat,privilege,passionate,nerves,lawsuit,kidney,disturbed,cozy,tire,shirts,oven,ordering,delay,risky,monsters,honorable,grounded,closest,breakdown,bald,abandon,scar,collar,worthless,sucking,enormous,disturbing,disturb,distract,deals,conclusions,vodka,dishes,crawling,briefcase,wiped,whistle,sits,roast,rented,pigs,flirting,deposit,bottles,topic,riot,overreacting,logical,hostile,embarrass,casual,beacon,amusing,altar,claus,survival,skirt,shave,porch,ghosts,favors,drops,dizzy,chili,advise,strikes,rehab,photographer,peaceful,leery,heavens,fortunately,fooling,expectations,cigar,weakness,ranch,practicing,examine,cranes,bribe,sail,prescription,hush,fragile,forensics,expense,drugged,cows,bells,visitor,suitcase,sorta,scan,manticore,insecure,imagining,hardest,clerk,wrist,what'll,starters,silk,pump,pale,nicer,haul,flies,boot,thumb,there'd,how're,elders,quietly,pulls,idiots,erase,denying,ankle,amnesia,accepting,heartbeat,devane,confront,minus,legitimate,fixing,arrogant,tuna,supper,slightest,sins,sayin,recipe,pier,paternity,humiliating,genuine,snack,rational,minded,guessed,weddings,tumor,humiliated,aspirin,spray,picks,eyed,drowning,contacts,ritual,perfume,hiring,hating,docks,creatures,visions,thanking,thankful,sock,nineteen,fork,throws,teenagers,stressed,slice,rolls,plead,ladder,kicks,detectives,assured,tellin,shallow,responsibilities,repay,howdy,girlfriends,deadly,comforting,ceiling,verdict,insensitive,spilled,respected,messy,interrupted,halliwell,blond,bleed,wardrobe,takin,murders,backs,underestimate,justify,harmless,frustrated,fold,enzo,communicate,bugging,arson,whack,salary,rumors,obligation,liking,dearest,congratulate,vengeance,rack,puzzle,fires,courtesy,caller,blamed,tops,quiz,prep,curiosity,circles,barbecue,sunnydale,spinning,psychotic,cough,accusations,resent,laughs,freshman,envy,drown,bartlet,asses,sofa,poster,highness,dock,apologies,theirs,stat,stall,realizes,psych,mmmm,fools,understandable,treats,succeed,stir,relaxed,makin,gratitude,faithful,accent,witter,wandering,locate,inevitable,gretel,deed,crushed,controlling,smelled,robe,gossip,gambling,cosmetics,accidents,surprising,stiff,sincere,rushed,refrigerator,preparing,nightmares,mijo,ignoring,hunch,fireworks,drowned,brass,whispering,sophisticated,luggage,hike,explore,emotion,crashing,contacted,complications,shining,rolled,righteous,reconsider,goody,geek,frightening,ethics,creeps,courthouse,camping,affection,smythe,haircut,essay,baked,apologized,vibe,respects,receipt,mami,hats,destructive,adore,adopt,tracked,shorts,reminding,dough,creations,cabot,barrel,snuck,slight,reporters,pressing,magnificent,madame,lazy,glorious,fiancee,bits,visitation,sane,kindness,shoulda,rescued,mattress,lounge,lifted,importantly,glove,enterprises,disappointment,condo,beings,admitting,yelled,waving,spoon,screech,satisfaction,reads,nailed,worm,tick,resting,marvelous,fuss,cortlandt,chased,pockets,luckily,lilith,filing,conversations,consideration,consciousness,worlds,innocence,forehead,aggressive,trailer,slam,quitting,inform,delighted,daylight,danced,confidential,aunts,washing,tossed,spectra,marrow,lined,implying,hatred,grill,corpse,clues,sober,offended,morgue,infected,humanity,distraction,cart,wired,violation,promising,harassment,glue,d'angelo,cursed,brutal,warlocks,wagon,unpleasant,proving,priorities,mustn't,lease,flame,disappearance,depressing,thrill,sitter,ribs,flush,earrings,deadline,corporal,collapsed,update,snapped,smack,melt,figuring,delusional,coulda,burnt,tender,sperm,realise,pork,popped,interrogation,esteem,choosing,undo,pres,prayed,plague,manipulate,insulting,detention,delightful,coffeehouse,betrayal,apologizing,adjust,wrecked,wont,whipped,rides,reminder,monsieur,faint,bake,distress,correctly,complaint,blocked,tortured,risking,pointless,handing,dumping,cups,alibi,struggling,shiny,risked,mummy,mint,hose,hobby,fortunate,fleischman,fitting,curtain,counseling,rode,puppet,modeling,memo,irresponsible,humiliation,hiya,freakin,felony,choke,blackmailing,appreciated,tabloid,suspicion,recovering,pledge,panicked,nursery,louder,jeans,investigator,homecoming,frustrating,buys,busting,buff,sleeve,irony,dope,declare,autopsy,workin,torch,prick,limb,hysterical,goddamnit,fetch,dimension,crowded,clip,climbing,bonding,woah,trusts,negotiate,lethal,iced,fantasies,deeds,bore,babysitter,questioned,outrageous,kiriakis,insulted,grudge,driveway,deserted,definite,beep,wires,suggestions,searched,owed,lend,drunken,demanding,costanza,conviction,bumped,weigh,touches,tempted,shout,resolve,relate,poisoned,meals,invitations,haunted,bogus,autograph,affects,tolerate,stepping,spontaneous,sleeps,probation,manny,fist,spectacular,hostages,heroin,havin,habits,encouraging,consult,burgers,boyfriends,bailed,baggage,watches,troubled,torturing,teasing,sweetest,qualities,postpone,overwhelmed,malkovich,impulse,classy,charging,amazed,policeman,hypocrite,humiliate,hideous,d'ya,costumes,bluffing,betting,bein,bedtime,alcoholic,vegetable,tray,suspicions,spreading,splendid,shrimp,shouting,pressed,nooo,grieving,gladly,fling,eliminate,cereal,aaah,sonofabitch,paralyzed,lotta,locks,guaranteed,dummy,despise,dental,briefing,bluff,batteries,whatta,sounding,servants,presume,handwriting,fainted,dried,allright,acknowledge,whacked,toxic,reliable,quicker,overwhelming,lining,harassing,fatal,endless,dolls,convict,whatcha,unlikely,shutting,positively,overcome,goddam,essence,dose,diagnosis,cured,bully,ahold,yearbook,tempting,shelf,prosecution,pouring,possessed,greedy,wonders,thorough,spine,rath,psychiatric,meaningless,latte,jammed,ignored,fiance,evidently,contempt,compromised,cans,weekends,urge,theft,suing,shipment,scissors,responding,proposition,noises,matching,hormones,hail,grandchildren,gently,smashed,sexually,sentimental,nicest,manipulated,intern,handcuffs,framed,errands,entertaining,crib,carriage,barge,spends,slipping,seated,rubbing,rely,reject,recommendation,reckon,headaches,float,embrace,corners,whining,sweating,skipped,mountie,motives,listens,cristobel,cleaner,cheerleader,balsom,unnecessary,stunning,scent,quartermaines,pose,montega,loosen,info,hottest,haunt,gracious,forgiving,errand,cakes,blames,abortion,sketch,shifts,plotting,perimeter,pals,mere,mattered,lonigan,interference,eyewitness,enthusiasm,diapers,strongest,shaken,punched,portal,catches,backyard,terrorists,sabotage,organs,needy,cuff,civilization,woof,who'll,prank,obnoxious,mates,hereby,gabby,faked,cellar,whitelighter,void,strangle,sour,muffins,interfering,demonic,clearing,boutique,barrington,terrace,smoked,righty,quack,petey,pact,knot,ketchup,disappearing,cordy,uptight,ticking,terrifying,tease,swamp,secretly,rejection,reflection,realizing,rays,mentally,marone,doubted,deception,congressman,cheesy,toto,stalling,scoop,ribbon,immune,expects,destined,bets,bathing,appreciation,accomplice,wander,shoved,sewer,scroll,retire,lasts,fugitive,freezer,discount,cranky,crank,clearance,bodyguard,anxiety,accountant,whoops,volunteered,talents,stinking,remotely,garlic,decency,cord,beds,altogether,uniforms,tremendous,popping,outa,observe,lung,hangs,feelin,dudes,donation,disguise,curb,bites,antique,toothbrush,realistic,predict,landlord,hourglass,hesitate,consolation,babbling,tipped,stranded,smartest,repeating,puke,psst,paycheck,overreacted,macho,juvenile,grocery,freshen,disposal,cuffs,caffeine,vanished,unfinished,ripping,pinch,flattering,expenses,dinners,colleague,ciao,belthazor,attorneys,woulda,whereabouts,waitin,truce,tripped,tasted,steer,poisoning,manipulative,immature,husbands,heel,granddad,delivering,condoms,addict,trashed,raining,pasta,needles,leaning,detector,coolest,batch,appointments,almighty,vegetables,spark,perfection,pains,momma,mole,meow,hairs,getaway,cracking,compliments,behold,verge,tougher,timer,tapped,taped,specialty,snooping,shoots,rendezvous,pentagon,leverage,jeopardize,janitor,grandparents,forbidden,clueless,bidding,ungrateful,unacceptable,tutor,serum,scuse,pajamas,mouths,lure,irrational,doom,cries,beautifully,arresting,approaching,traitor,sympathetic,smug,smash,rental,prostitute,premonitions,jumps,inventory,darlin,committing,banging,asap,worms,violated,vent,traumatic,traced,sweaty,shaft,overboard,insight,healed,grasp,experiencing,crappy,crab,chunk,awww,stain,shack,reacted,pronounce,poured,moms,marriages,jabez,handful,flipped,fireplace,embarrassment,disappears,concussion,bruises,brakes,twisting,swept,summon,splitting,sloppy,settling,reschedule,notch,hooray,grabbing,exquisite,disrespect,thornhart,straw,slapped,shipped,shattered,ruthless,refill,payroll,numb,mourning,manly,hunk,entertain,drift,dreadful,doorstep,confirmation,chops,appreciates,vague,tires,stressful,stashed,stash,sensed,preoccupied,predictable,noticing,madly,gunshot,dozens,dork,confuse,cleaners,charade,chalk,cappuccino,bouquet,amulet,addiction,who've,warming,unlock,satisfy,sacrificed,relaxing,lone,blocking,blend,blankets,addicted,yuck,hunger,hamburger,greeting,greet,gravy,gram,dreamt,dice,caution,backpack,agreeing,whale,taller,supervisor,sacrifices,phew,ounce,irrelevant,gran,felon,favorites,farther,fade,erased,easiest,convenience,compassionate,cane,backstage,agony,adores,veins,tweek,thieves,surgical,strangely,stetson,recital,proposing,productive,meaningful,immunity,hassle,goddamned,frighten,dearly,cease,ambition,wage,unstable,salvage,richer,refusing,raging,pumping,pressuring,mortals,lowlife,intimidated,intentionally,inspire,forgave,devotion,despicable,deciding,dash,comfy,breach,bark,aaaah,switching,swallowed,stove,screamed,scars,russians,pounding,poof,pipes,pawn,legit,invest,farewell,curtains,civilized,caviar,boost,token,superstition,supernatural,sadness,recorder,psyched,motivated,microwave,hallelujah,fraternity,dryer,cocoa,chewing,acceptable,unbelievably,smiled,smelling,simpler,respectable,remarks,khasinau,indication,gutter,grabs,fulfill,flashlight,ellenor,blooded,blink,blessings,beware,uhhh,turf,swings,slips,shovel,shocking,puff,mirrors,locking,heartless,fras,childish,cardiac,utterly,tuscany,ticked,stunned,statesville,sadly,purely,kiddin,jerks,hitch,flirt,fare,equals,dismiss,christening,casket,c'mere,breakup,biting,antibiotics,accusation,abducted,witchcraft,thread,runnin,punching,paramedics,newest,murdering,masks,lawndale,initials,grampa,choking,charms,careless,bushes,buns,bummed,shred,saves,saddle,rethink,regards,precinct,persuade,meds,manipulating,llanfair,leash,hearted,guarantees,fucks,disgrace,deposition,bookstore,boil,vitals,veil,trespassing,sidewalk,sensible,punishing,overtime,optimistic,obsessing,notify,mornin,jeopardy,jaffa,injection,hilarious,desires,confide,cautious,yada,where're,vindictive,vial,teeny,stroll,sittin,scrub,rebuild,posters,ordeal,nuns,intimacy,inheritance,exploded,donate,distracting,despair,crackers,wildwind,virtue,thoroughly,tails,spicy,sketches,sights,sheer,shaving,seize,scarecrow,refreshing,prosecute,platter,napkin,misplaced,merchandise,loony,jinx,heroic,frankenstein,ambitious,syrup,solitary,resemblance,reacting,premature,lavery,flashes,cheque,awright,acquainted,wrapping,untie,salute,realised,priceless,partying,lightly,lifting,kasnoff,insisting,glowing,generator,explosives,cutie,confronted,buts,blouse,ballistic,antidote,analyze,allowance,adjourned,unto,understatement,tucked,touchy,subconscious,screws,sarge,roommates,rambaldi,offend,nerd,knives,irresistible,incapable,hostility,goddammit,fuse,frat,curfew,blackmailed,walkin,starve,sleigh,sarcastic,recess,rebound,pinned,parlor,outfits,livin,heartache,haired,fundraiser,doorman,discreet,dilucca,cracks,considerate,climbed,catering,apophis,zoey,urine,strung,stitches,sordid,sark,protector,phoned,pets,hostess,flaw,flavor,deveraux,consumed,confidentiality,bourbon,straightened,specials,spaghetti,prettier,powerless,playin,playground,paranoia,instantly,havoc,exaggerating,eavesdropping,doughnuts,diversion,deepest,cutest,comb,bela,behaving,anyplace,accessory,workout,translate,stuffing,speeding,slime,royalty,polls,marital,lurking,lottery,imaginary,greetings,fairwinds,elegant,elbow,credibility,credentials,claws,chopped,bridal,bedside,babysitting,witty,unforgivable,underworld,tempt,tabs,sophomore,selfless,secrecy,restless,okey,movin,metaphor,messes,meltdown,lecter,incoming,gasoline,diefenbaker,buckle,admired,adjustment,warmth,throats,seduced,queer,parenting,noses,luckiest,graveyard,gifted,footsteps,dimeras,cynical,wedded,verbal,unpredictable,tuned,stoop,slides,sinking,rigged,plumbing,lingerie,hankey,greed,everwood,elope,dresser,chauffeur,bulletin,bugged,bouncing,temptation,strangest,slammed,sarcasm,pending,packages,orderly,obsessive,murderers,meteor,inconvenience,glimpse,froze,execute,courageous,consulate,closes,bosses,bees,amends,wuss,wolfram,wacky,unemployed,testifying,syringe,stew,startled,sorrow,sleazy,shaky,screams,rsquo,remark,poke,nutty,mentioning,mend,inspiring,impulsive,housekeeper,foam,fingernails,conditioning,baking,whine,thug,starved,sniffing,sedative,programmed,picket,paged,hound,homosexual,homo,hips,forgets,flipping,flea,flatter,dwell,dumpster,choo,assignments,ants,vile,unreasonable,tossing,thanked,steals,souvenir,scratched,psychopath,outs,obstruction,obey,lump,insists,harass,gloat,filth,edgy,didn,coroner,confessing,bruise,betraying,bailing,appealing,adebisi,wrath,wandered,waist,vain,traps,stepfather,poking,obligated,heavenly,dilemma,crazed,contagious,coaster,cheering,bundle,vomit,thingy,speeches,robbing,raft,pumped,pillows,peep,packs,neglected,m'kay,loneliness,intrude,helluva,gardener,forresters,drooling,betcha,vase,supermarket,squat,spitting,rhyme,relieve,receipts,racket,pictured,pause,overdue,motivation,morgendorffer,kidnapper,insect,horns,feminine,eyeballs,dumps,disappointing,crock,convertible,claw,clamp,canned,cambias,bathtub,avanya,artery,weep,warmer,suspense,summoned,spiders,reiber,raving,pushy,postponed,ohhhh,noooo,mold,laughter,incompetent,hugging,groceries,drip,communicating,auntie,adios,wraps,wiser,willingly,weirdest,timmih,thinner,swelling,swat,steroids,sensitivity,scrape,rehearse,prophecy,ledge,justified,insults,hateful,handles,doorway,chatting,buyer,buckaroo,bedrooms,askin,ammo,tutoring,subpoena,scratching,privileges,pager,mart,intriguing,idiotic,grape,enlighten,corrupt,brunch,bridesmaid,barking,applause,acquaintance,wretched,superficial,soak,smoothly,sensing,restraint,posing,pleading,payoff,oprah,nemo,morals,loaf,jumpy,ignorant,herbal,hangin,germs,generosity,flashing,doughnut,clumsy,chocolates,captive,behaved,apologise,vanity,stumbled,preview,poisonous,perjury,parental,onboard,mugged,minding,linen,knots,interviewing,humour,grind,greasy,goons,drastic,coop,comparing,cocky,clearer,bruised,brag,bind,worthwhile,whoop,vanquishing,tabloids,sprung,spotlight,sentencing,racist,provoke,pining,overly,locket,imply,impatient,hovering,hotter,fest,endure,dots,doren,debts,crawled,chained,brit,breaths,weirdo,warmed,wand,troubling,tok'ra,strapped,soaked,skipping,scrambled,rattle,profound,musta,mocking,misunderstand,limousine,kacl,hustle,forensic,enthusiastic,duct,drawers,devastating,conquer,clarify,chores,cheerleaders,cheaper,callin,blushing,barging,abused,yoga,wrecking,wits,waffles,virginity,vibes,uninvited,unfaithful,teller,strangled,scheming,ropes,rescuing,rave,postcard,o'reily,morphine,lotion,lads,kidneys,judgement,itch,indefinitely,grenade,glamorous,genetically,freud,discretion,delusions,crate,competent,bakery,argh,ahhhh,wedge,wager,unfit,tripping,torment,superhero,stirring,spinal,sorority,seminar,scenery,rabble,pneumonia,perks,override,ooooh,mija,manslaughter,mailed,lime,lettuce,intimidate,guarded,grieve,grad,frustration,doorbell,chinatown,authentic,arraignment,annulled,allergies,wanta,verify,vegetarian,tighter,telegram,stalk,spared,shoo,satisfying,saddam,requesting,pens,overprotective,obstacles,notified,nasedo,grandchild,genuinely,flushed,fluids,floss,escaping,ditched,cramp,corny,bunk,bitten,billions,bankrupt,yikes,wrists,ultrasound,ultimatum,thirst,sniff,shakes,salsa,retrieve,reassuring,pumps,neurotic,negotiating,needn't,monitors,millionaire,lydecker,limp,incriminating,hatchet,gracias,gordie,fills,feeds,doubting,decaf,biopsy,whiz,voluntarily,ventilator,unpack,unload,toad,spooked,snitch,schillinger,reassure,persuasive,mystical,mysteries,matrimony,mails,jock,headline,explanations,dispatch,curly,cupid,condolences,comrade,cassadines,bulb,bragging,awaits,assaulted,ambush,adolescent,abort,yank,whit,vaguely,undermine,tying,swamped,stabbing,slippers,slash,sincerely,sigh,setback,secondly,rotting,precaution,pcpd,melting,liaison,hots,hooking,headlines,haha,ganz,fury,felicity,fangs,encouragement,earring,dreidel,dory,donut,dictate,decorating,cocktails,bumps,blueberry,believable,backfired,backfire,apron,adjusting,vous,vouch,vitamins,ummm,tattoos,slimy,sibling,shhhh,renting,peculiar,parasite,paddington,marries,mailbox,magically,lovebirds,knocks,informant,exits,drazen,distractions,disconnected,dinosaurs,dashwood,crooked,conveniently,wink,warped,underestimated,tacky,shoving,seizure,reset,pushes,opener,mornings,mash,invent,indulge,horribly,hallucinating,festive,eyebrows,enjoys,desperation,dealers,darkest,daph,boragora,belts,bagel,authorization,auditions,agitated,wishful,wimp,vanish,unbearable,tonic,suffice,suction,slaying,safest,rocking,relive,puttin,prettiest,noisy,newlyweds,nauseous,misguided,mildly,midst,liable,judgmental,indy,hunted,givin,fascinated,elephants,dislike,deluded,decorate,crummy,contractions,carve,bottled,bonded,bahamas,unavailable,twenties,trustworthy,surgeons,stupidity,skies,remorse,preferably,pies,nausea,napkins,mule,mourn,melted,mashed,inherit,greatness,golly,excused,dumbo,drifting,delirious,damaging,cubicle,compelled,comm,chooses,checkup,boredom,bandages,alarms,windshield,who're,whaddya,transparent,surprisingly,sunglasses,slit,roar,reade,prognosis,probe,pitiful,persistent,peas,nosy,nagging,morons,masterpiece,martinis,limbo,liars,irritating,inclined,hump,hoynes,fiasco,eatin,cubans,concentrating,colorful,clam,cider,brochure,barto,bargaining,wiggle,welcoming,weighing,vanquished,stains,sooo,snacks,smear,sire,resentment,psychologist,pint,overhear,morality,landingham,kisser,hoot,holling,handshake,grilled,formality,elevators,depths,confirms,boathouse,accidental,westbridge,wacko,ulterior,thugs,thighs,tangled,stirred,snag,sling,sleaze,rumour,ripe,remarried,puddle,pins,perceptive,miraculous,longing,lockup,librarian,impressions,immoral,hypothetically,guarding,gourmet,gabe,faxed,extortion,downright,digest,cranberry,bygones,buzzing,burying,bikes,weary,taping,takeout,sweeping,stepmother,stale,senor,seaborn,pros,pepperoni,newborn,ludicrous,injected,geeks,forged,faults,drue,dire,dief,desi,deceiving,caterer,calmed,budge,ankles,vending,typing,tribbiani,there're,squared,snowing,shades,sexist,rewrite,regretted,raises,picky,orphan,mural,misjudged,miscarriage,memorize,leaking,jitters,invade,interruption,illegally,handicapped,glitch,gittes,finer,distraught,dispose,dishonest,digs,dads,cruelty,circling,canceling,butterflies,belongings,barbrady,amusement,alias,zombies,where've,unborn,swearing,stables,squeezed,sensational,resisting,radioactive,questionable,privileged,portofino,owning,overlook,orson,oddly,interrogate,imperative,impeccable,hurtful,hors,heap,graders,glance,disgust,devious,destruct,crazier,countdown,chump,cheeseburger,burglar,berries,ballroom,assumptions,annoyed,allergy,admirer,admirable,activate,underpants,twit,tack,strokes,stool,sham,scrap,retarded,resourceful,remarkably,refresh,pressured,precautions,pointy,nightclub,mustache,maui,lace,hunh,hubby,flare,dont,dokey,dangerously,crushing,clinging,choked,chem,cheerleading,checkbook,cashmere,calmly,blush,believer,amazingly,alas,what've,toilets,tacos,stairwell,spirited,sewing,rubbed,punches,protects,nuisance,motherfuckers,mingle,kynaston,knack,kinkle,impose,gullible,godmother,funniest,friggin,folding,fashions,eater,dysfunctional,drool,dripping,ditto,cruising,criticize,conceive,clone,cedars,caliber,brighter,blinded,birthdays,banquet,anticipate,annoy,whim,whichever,volatile,veto,vested,shroud,rests,reindeer,quarantine,pleases,painless,orphans,orphanage,offence,obliged,negotiation,narcotics,mistletoe,meddling,manifest,lookit,lilah,intrigued,injustice,homicidal,gigantic,exposing,elves,disturbance,disastrous,depended,demented,correction,cooped,cheerful,buyers,brownies,beverage,basics,arvin,weighs,upsets,unethical,swollen,sweaters,stupidest,sensation,scalpel,props,prescribed,pompous,objections,mushrooms,mulwray,manipulation,lured,internship,insignificant,inmate,incentive,fulfilled,disagreement,crypt,cornered,copied,brightest,beethoven,attendant,amaze,yogurt,wyndemere,vocabulary,tulsa,tactic,stuffy,respirator,pretends,polygraph,pennies,ordinarily,olives,necks,morally,martyr,leftovers,joints,hopping,homey,hints,heartbroken,forge,florist,firsthand,fiend,dandy,crippled,corrected,conniving,conditioner,clears,chemo,bubbly,bladder,beeper,baptism,wiring,wench,weaknesses,volunteering,violating,unlocked,tummy,surrogate,subid,stray,startle,specifics,slowing,scoot,robbers,rightful,richest,qfxmjrie,puffs,pierced,pencils,paralysis,makeover,luncheon,linksynergy,jerky,jacuzzi,hitched,hangover,fracture,flock,firemen,disgusted,darned,clams,borrowing,banged,wildest,weirder,unauthorized,stunts,sleeves,sixties,shush,shalt,retro,quits,pegged,painfully,paging,omelet,memorized,lawfully,jackets,intercept,ingredient,grownup,glued,fulfilling,enchanted,delusion,daring,compelling,carton,bridesmaids,bribed,boiling,bathrooms,bandage,awaiting,assign,arrogance,antiques,ainsley,turkeys,trashing,stockings,stalked,stabilized,skates,sedated,robes,respecting,psyche,presumptuous,prejudice,paragraph,mocha,mints,mating,mantan,lorne,loads,listener,itinerary,hepatitis,heave,guesses,fading,examining,dumbest,dishwasher,deceive,cunning,cripple,convictions,confided,compulsive,compromising,burglary,bumpy,brainwashed,benes,arnie,affirmative,adrenaline,adamant,watchin,waitresses,transgenic,toughest,tainted,surround,stormed,spree,spilling,spectacle,soaking,shreds,sewers,severed,scarce,scamming,scalp,rewind,rehearsing,pretentious,potions,overrated,obstacle,nerds,meems,mcmurphy,maternity,maneuver,loathe,fertility,eloping,ecstatic,ecstasy,divorcing,dignan,costing,clubhouse,clocks,candid,bursting,breather,braces,bending,arsonist,adored,absorb,valiant,uphold,unarmed,topolsky,thrilling,thigh,terminate,sustain,spaceship,snore,sneeze,smuggling,salty,quaint,patronize,patio,morbid,mamma,kettle,joyous,invincible,interpret,insecurities,impulses,illusions,holed,exploit,drivin,defenseless,dedicate,cradle,coupon,countless,conjure,cardboard,booking,backseat,accomplishment,wordsworth,wisely,valet,vaccine,urges,unnatural,unlucky,truths,traumatized,tasting,swears,strawberries,steaks,stats,skank,seducing,secretive,scumbag,screwdriver,schedules,rooting,rightfully,rattled,qualifies,puppets,prospects,pronto,posse,polling,pedestal,palms,muddy,morty,microscope,merci,lecturing,inject,incriminate,hygiene,grapefruit,gazebo,funnier,cuter,bossy,booby,aides,zende,winthrop,warrants,valentines,undressed,underage,truthfully,tampered,suffers,speechless,sparkling,sidelines,shrek,railing,puberty,pesky,outrage,outdoors,motions,moods,lunches,litter,kidnappers,itching,intuition,imitation,humility,hassling,gallons,drugstore,dosage,disrupt,dipping,deranged,debating,cuckoo,cremated,craziness,cooperating,circumstantial,chimney,blinking,biscuits,admiring,weeping,triad,trashy,soothing,slumber,slayers,skirts,siren,shindig,sentiment,rosco,riddance,quaid,purity,proceeding,pretzels,panicking,mckechnie,lovin,leaked,intruding,impersonating,ignorance,hamburgers,footprints,fluke,fleas,festivities,fences,feisty,evacuate,emergencies,deceived,creeping,craziest,corpses,conned,coincidences,bounced,bodyguards,blasted,bitterness,baloney,ashtray,apocalypse,zillion,watergate,wallpaper,telesave,sympathize,sweeter,startin,spades,sodas,snowed,sleepover,signor,seein,retainer,restroom,rested,repercussions,reliving,reconcile,prevail,preaching,overreact,o'neil,noose,moustache,manicure,maids,landlady,hypothetical,hopped,homesick,hives,hesitation,herbs,hectic,heartbreak,haunting,gangs,frown,fingerprint,exhausting,everytime,disregard,cling,chevron,chaperone,blinding,bitty,beads,battling,badgering,anticipation,upstanding,unprofessional,unhealthy,turmoil,truthful,toothpaste,tippin,thoughtless,tagataya,shooters,senseless,rewarding,propane,preposterous,pigeons,pastry,overhearing,obscene,negotiable,loner,jogging,itchy,insinuating,insides,hospitality,hormone,hearst,forthcoming,fists,fifties,etiquette,endings,destroys,despises,deprived,cuddy,crust,cloak,circumstance,chewed,casserole,bidder,bearer,artoo,applaud,appalling,vowed,virgins,vigilante,undone,throttle,testosterone,tailor,symptom,swoop,suitcases,stomp,sticker,stakeout,spoiling,snatched,smoochy,smitten,shameless,restraints,researching,renew,refund,reclaim,raoul,puzzles,purposely,punks,prosecuted,plaid,picturing,pickin,parasites,mysteriously,multiply,mascara,jukebox,interruptions,gunfire,furnace,elbows,duplicate,drapes,deliberate,decoy,cryptic,coupla,condemn,complicate,colossal,clerks,clarity,brushed,banished,argon,alarmed,worships,versa,uncanny,technicality,sundae,stumble,stripping,shuts,schmuck,satin,saliva,robber,relentless,reconnect,recipes,rearrange,rainy,psychiatrists,policemen,plunge,plugged,patched,overload,o'malley,mindless,menus,lullaby,lotte,leavin,killin,karinsky,invalid,hides,grownups,griff,flaws,flashy,flaming,fettes,evicted,dread,degrassi,dealings,dangers,cushion,bowel,barged,abide,abandoning,wonderfully,wait'll,violate,suicidal,stayin,sorted,slamming,sketchy,shoplifting,raiser,quizmaster,prefers,needless,motherhood,momentarily,migraine,lifts,leukemia,leftover,keepin,hinks,hellhole,gowns,goodies,gallon,futures,entertained,eighties,conspiring,cheery,benign,apiece,adjustments,abusive,abduction,wiping,whipping,welles,unspeakable,unidentified,trivial,transcripts,textbook,supervise,superstitious,stricken,stimulating,spielberg,slices,shelves,scratches,sabotaged,retrieval,repressed,rejecting,quickie,ponies,peeking,outraged,o'connell,moping,moaning,mausoleum,licked,kovich,klutz,interrogating,interfered,insulin,infested,incompetence,hyper,horrified,handedly,gekko,fraid,fractured,examiner,eloped,disoriented,dashing,crashdown,courier,cockroach,chipped,brushing,bombed,bolts,baths,baptized,astronaut,assurance,anemia,abuela,abiding,withholding,weave,wearin,weaker,suffocating,straws,straightforward,stench,steamed,starboard,sideways,shrinks,shortcut,scram,roasted,roaming,riviera,respectfully,repulsive,psychiatry,provoked,penitentiary,painkillers,ninotchka,mitzvah,milligrams,midge,marshmallows,looky,lapse,kubelik,intellect,improvise,implant,goa'ulds,giddy,geniuses,fruitcake,footing,fightin,drinkin,doork,detour,cuddle,crashes,combo,colonnade,cheats,cetera,bailiff,auditioning,assed,amused,alienate,aiding,aching,unwanted,topless,tongues,tiniest,superiors,soften,sheldrake,rawley,raisins,presses,plaster,nessa,narrowed,minions,merciful,lawsuits,intimidating,infirmary,inconvenient,imposter,hugged,honoring,holdin,hades,godforsaken,fumes,forgery,foolproof,folder,flattery,fingertips,exterminator,explodes,eccentric,dodging,disguised,crave,constructive,concealed,compartment,chute,chinpokomon,bodily,astronauts,alimony,accustomed,abdominal,wrinkle,wallow,valium,untrue,uncover,trembling,treasures,torched,toenails,timed,termites,telly,taunting,taransky,talker,succubus,smarts,sliding,sighting,semen,seizures,scarred,savvy,sauna,saddest,sacrificing,rubbish,riled,ratted,rationally,provenance,phonse,perky,pedal,overdose,nasal,nanites,mushy,movers,missus,midterm,merits,melodramatic,manure,knitting,invading,interpol,incapacitated,hotline,hauling,gunpoint,grail,ganza,framing,flannel,faded,eavesdrop,desserts,calories,breathtaking,bleak,blacked,batter,aggravated,yanked,wigand,whoah,unwind,undoubtedly,unattractive,twitch,trimester,torrance,timetable,taxpayers,strained,stared,slapping,sincerity,siding,shenanigans,shacking,sappy,samaritan,poorer,politely,paste,oysters,overruled,nightcap,mosquito,millimeter,merrier,manhood,lucked,kilos,ignition,hauled,harmed,goodwill,freshmen,fenmore,fasten,farce,exploding,erratic,drunks,ditching,d'artagnan,cramped,contacting,closets,clientele,chimp,bargained,arranging,anesthesia,amuse,altering,afternoons,accountable,abetting,wolek,waved,uneasy,toddy,tattooed,spauldings,sliced,sirens,schibetta,scatter,rinse,remedy,redemption,pleasures,optimism,oblige,mmmmm,masked,malicious,mailing,kosher,kiddies,judas,isolate,insecurity,incidentally,heals,headlights,growl,grilling,glazed,flunk,floats,fiery,fairness,exercising,excellency,disclosure,cupboard,counterfeit,condescending,conclusive,clicked,cleans,cholesterol,cashed,broccoli,brats,blueprints,blindfold,billing,attach,appalled,alrighty,wynant,unsolved,unreliable,toots,tighten,sweatshirt,steinbrenner,steamy,spouse,sonogram,slots,sleepless,shines,retaliate,rephrase,redeem,rambling,quilt,quarrel,prying,proverbial,priced,prescribe,prepped,pranks,possessive,plaintiff,pediatrics,overlooked,outcast,nightgown,mumbo,mediocre,mademoiselle,lunchtime,lifesaver,leaned,lambs,interns,hounding,hellmouth,hahaha,goner,ghoul,gardening,frenzy,foyer,extras,exaggerate,everlasting,enlightened,dialed,devote,deceitful,d'oeuvres,cosmetic,contaminated,conspired,conning,cavern,carving,butting,boiled,blurry,babysit,ascension,aaaaah,wildly,whoopee,whiny,weiskopf,walkie,vultures,vacations,upfront,unresolved,tampering,stockholders,snaps,sleepwalking,shrunk,sermon,seduction,scams,revolve,phenomenal,patrolling,paranormal,ounces,omigod,nightfall,lashing,innocents,infierno,incision,humming,haunts,gloss,gloating,frannie,fetal,feeny,entrapment,discomfort,detonator,dependable,concede,complication,commotion,commence,chulak,caucasian,casually,brainer,bolie,ballpark,anwar,analyzing,accommodations,youse,wring,wallowing,transgenics,thrive,tedious,stylish,strippers,sterile,squeezing,squeaky,sprained,solemn,snoring,shattering,shabby,seams,scrawny,revoked,residue,reeks,recite,ranting,quoting,predicament,plugs,pinpoint,petrified,pathological,passports,oughtta,nighter,navigate,kippie,intrigue,intentional,insufferable,hunky,how've,horrifying,hearty,hamptons,grazie,funerals,forks,fetched,excruciating,enjoyable,endanger,dumber,drying,diabolical,crossword,corry,comprehend,clipped,classmates,candlelight,brutally,brutality,boarded,bathrobe,authorize,assemble,aerobics,wholesome,whiff,vermin,trophies,trait,tragically,toying,testy,tasteful,stocked,spinach,sipping,sidetracked,scrubbing,scraping,sanctity,robberies,ridin,retribution,refrain,realities,radiant,protesting,projector,plutonium,payin,parting,o'reilly,nooooo,motherfucking,measly,manic,lalita,juggling,jerking,intro,inevitably,hypnosis,huddle,horrendous,hobbies,heartfelt,harlin,hairdresser,gonorrhea,fussing,furtwangler,fleeting,flawless,flashed,fetus,eulogy,distinctly,disrespectful,denies,crossbow,cregg,crabs,cowardly,contraction,contingency,confirming,condone,coffins,cleansing,cheesecake,certainty,cages,c'est,briefed,bravest,bosom,boils,binoculars,bachelorette,appetizer,ambushed,alerted,woozy,withhold,vulgar,utmost,unleashed,unholy,unhappiness,unconditional,typewriter,typed,twists,supermodel,subpoenaed,stringing,skeptical,schoolgirl,romantically,rocked,revoir,reopen,puncture,preach,polished,planetarium,penicillin,peacefully,nurturing,more'n,mmhmm,midgets,marklar,lodged,lifeline,jellyfish,infiltrate,hutch,horseback,heist,gents,frickin,freezes,forfeit,flakes,flair,fathered,eternally,epiphany,disgruntled,discouraged,delinquent,decipher,danvers,cubes,credible,coping,chills,cherished,catastrophe,bombshell,birthright,billionaire,ample,affections,admiration,abbotts,whatnot,watering,vinegar,unthinkable,unseen,unprepared,unorthodox,underhanded,uncool,timeless,thump,thermometer,theoretically,tapping,tagged,swung,stares,spiked,solves,smuggle,scarier,saucer,quitter,prudent,powdered,poked,pointers,peril,penetrate,penance,opium,nudge,nostrils,neurological,mockery,mobster,medically,loudly,insights,implicate,hypocritical,humanly,holiness,healthier,hammered,haldeman,gunman,gloom,freshly,francs,flunked,flawed,emptiness,drugging,dozer,derevko,deprive,deodorant,cryin,crocodile,coloring,colder,cognac,clocked,clippings,charades,chanting,certifiable,caterers,brute,brochures,botched,blinders,bitchin,banter,woken,ulcer,tread,thankfully,swine,swimsuit,swans,stressing,steaming,stamped,stabilize,squirm,snooze,shuffle,shredded,seafood,scratchy,savor,sadistic,rhetorical,revlon,realist,prosecuting,prophecies,polyester,petals,persuasion,paddles,o'leary,nuthin,neighbour,negroes,muster,meningitis,matron,lockers,letterman,legged,indictment,hypnotized,housekeeping,hopelessly,hallucinations,grader,goldilocks,girly,flask,envelopes,downside,doves,dissolve,discourage,disapprove,diabetic,deliveries,decorator,crossfire,criminally,containment,comrades,complimentary,chatter,catchy,cashier,cartel,caribou,cardiologist,brawl,booted,barbershop,aryan,angst,administer,zellie,wreak,whistles,vandalism,vamps,uterus,upstate,unstoppable,understudy,tristin,transcript,tranquilizer,toxins,tonsils,stempel,spotting,spectator,spatula,softer,snotty,slinging,showered,sexiest,sensual,sadder,rimbaud,restrain,resilient,remission,reinstate,rehash,recollection,rabies,popsicle,plausible,pediatric,patronizing,ostrich,ortolani,oooooh,omelette,mistrial,marseilles,loophole,laughin,kevvy,irritated,infidelity,hypothermia,horrific,groupie,grinding,graceful,goodspeed,gestures,frantic,extradition,echelon,disks,dawnie,dared,damsel,curled,collateral,collage,chant,calculating,bumping,bribes,boardwalk,blinds,blindly,bleeds,bickering,beasts,backside,avenge,apprehended,anguish,abusing,youthful,yells,yanking,whomever,when'd,vomiting,vengeful,unpacking,unfamiliar,undying,tumble,trolls,treacherous,tipping,tantrum,tanked,summons,straps,stomped,stinkin,stings,staked,squirrels,sprinkles,speculate,sorting,skinned,sicko,sicker,shootin,shatter,seeya,schnapps,s'posed,ronee,respectful,regroup,regretting,reeling,reckoned,ramifications,puddy,projections,preschool,plissken,platonic,permalash,outdone,outburst,mutants,mugging,misfortune,miserably,miraculously,medications,margaritas,manpower,lovemaking,logically,leeches,latrine,kneel,inflict,impostor,hypocrisy,hippies,heterosexual,heightened,hecuba,healer,gunned,grooming,groin,gooey,gloomy,frying,friendships,fredo,firepower,fathom,exhaustion,evils,endeavor,eggnog,dreaded,d'arcy,crotch,coughing,coronary,cookin,consummate,congrats,companionship,caved,caspar,bulletproof,brilliance,breakin,brash,blasting,aloud,airtight,advising,advertise,adultery,aches,wronged,upbeat,trillion,thingies,tending,tarts,surreal,specs,specialize,spade,shrew,shaping,selves,schoolwork,roomie,recuperating,rabid,quart,provocative,proudly,pretenses,prenatal,pharmaceuticals,pacing,overworked,originals,nicotine,murderous,mileage,mayonnaise,massages,losin,interrogated,injunction,impartial,homing,heartbreaker,hacks,glands,giver,fraizh,flips,flaunt,englishman,electrocuted,dusting,ducking,drifted,donating,cylon,crutches,crates,cowards,comfortably,chummy,chitchat,childbirth,businesswoman,brood,blatant,bethy,barring,bagged,awakened,asbestos,airplanes,worshipped,winnings,why're,visualize,unprotected,unleash,trays,thicker,therapists,takeoff,streisand,storeroom,stethoscope,stacked,spiteful,sneaks,snapping,slaughtered,slashed,simplest,silverware,shits,secluded,scruples,scrubs,scraps,ruptured,roaring,receptionist,recap,raditch,radiator,pushover,plastered,pharmacist,perverse,perpetrator,ornament,ointment,nineties,napping,nannies,mousse,moors,momentary,misunderstandings,manipulator,malfunction,laced,kivar,kickin,infuriating,impressionable,holdup,hires,hesitated,headphones,hammering,groundwork,grotesque,graces,gauze,gangsters,frivolous,freeing,fours,forwarding,ferrars,faulty,fantasizing,extracurricular,empathy,divorces,detonate,depraved,demeaning,deadlines,dalai,cursing,cufflink,crows,coupons,comforted,claustrophobic,casinos,camped,busboy,bluth,bennetts,baskets,attacker,aplastic,angrier,affectionate,zapped,wormhole,weaken,unrealistic,unravel,unimportant,unforgettable,twain,suspend,superbowl,stutter,stewardess,stepson,standin,spandex,souvenirs,sociopath,skeletons,shivering,sexier,selfishness,scrapbook,ritalin,ribbons,reunite,remarry,relaxation,rattling,rapist,psychosis,prepping,poses,pleasing,pisses,piling,persecuted,padded,operatives,negotiator,natty,menopause,mennihan,martimmys,loyalties,laynie,lando,justifies,intimately,inexperienced,impotent,immortality,horrors,hooky,hinges,heartbreaking,handcuffed,gypsies,guacamole,grovel,graziella,goggles,gestapo,fussy,ferragamo,feeble,eyesight,explosions,experimenting,enchanting,doubtful,dizziness,dismantle,detectors,deserving,defective,dangling,dancin,crumble,creamed,cramping,conceal,clockwork,chrissakes,chrissake,chopping,cabinets,brooding,bonfire,blurt,bloated,blackmailer,beforehand,bathed,bathe,barcode,banish,badges,babble,await,attentive,aroused,antibodies,animosity,ya'll,wrinkled,wonderland,willed,whisk,waltzing,waitressing,vigilant,upbringing,unselfish,uncles,trendy,trajectory,striped,stamina,stalled,staking,stacks,spoils,snuff,snooty,snide,shrinking,senora,secretaries,scoundrel,saline,salads,rundown,riddles,relapse,recommending,raspberry,plight,pecan,pantry,overslept,ornaments,niner,negligent,negligence,nailing,mucho,mouthed,monstrous,malpractice,lowly,loitering,logged,lingering,lettin,lattes,kamal,juror,jillefsky,jacked,irritate,intrusion,insatiable,infect,impromptu,icing,hmmmm,hefty,gasket,frightens,flapping,firstborn,faucet,estranged,envious,dopey,doesn,disposition,disposable,disappointments,dipped,dignified,deceit,dealership,deadbeat,curses,coven,counselors,concierge,clutches,casbah,callous,cahoots,brotherly,britches,brides,bethie,beige,autographed,attendants,attaboy,astonishing,appreciative,antibiotic,aneurysm,afterlife,affidavit,zoning,whats,whaddaya,vasectomy,unsuspecting,toula,topanga,tonio,toasted,tiring,terrorized,tenderness,tailing,sweats,suffocated,sucky,subconsciously,starvin,sprouts,spineless,sorrows,snowstorm,smirk,slicery,sledding,slander,simmer,signora,sigmund,seventies,sedate,scented,sandals,rollers,retraction,resigning,recuperate,receptive,racketeering,queasy,provoking,priors,prerogative,premed,pinched,pendant,outsiders,orbing,opportunist,olanov,neurologist,nanobot,mommies,molested,misread,mannered,laundromat,intercom,inspect,insanely,infatuation,indulgent,indiscretion,inconsiderate,hurrah,howling,herpes,hasta,harassed,hanukkah,groveling,groosalug,gander,galactica,futile,fridays,flier,fixes,exploiting,exorcism,evasive,endorse,emptied,dreary,dreamy,downloaded,dodged,doctored,disobeyed,disneyland,disable,dehydrated,contemplating,coconuts,cockroaches,clogged,chilling,chaperon,cameraman,bulbs,bucklands,bribing,brava,bracelets,bowels,bluepoint,appetizers,appendix,antics,anointed,analogy,almonds,yammering,winch,weirdness,wangler,vibrations,vendor,unmarked,unannounced,twerp,trespass,travesty,transfusion,trainee,towelie,tiresome,straightening,staggering,sonar,socializing,sinus,sinners,shambles,serene,scraped,scones,scepter,sarris,saberhagen,ridiculously,ridicule,rents,reconciled,radios,publicist,pubes,prune,prude,precrime,postponing,pluck,perish,peppermint,peeled,overdo,nutshell,nostalgic,mulan,mouthing,mistook,meddle,maybourne,martimmy,lobotomy,livelihood,lippman,likeness,kindest,kaffee,jocks,jerked,jeopardizing,jazzed,insured,inquisition,inhale,ingenious,holier,helmets,heirloom,heinous,haste,harmsway,hardship,hanky,gutters,gruesome,groping,goofing,godson,glare,finesse,figuratively,ferrie,endangerment,dreading,dozed,dorky,dmitri,divert,discredit,dialing,cufflinks,crutch,craps,corrupted,cocoon,cleavage,cannery,bystander,brushes,bruising,bribery,brainstorm,bolted,binge,ballistics,astute,arroway,adventurous,adoptive,addicts,addictive,yadda,whitelighters,wematanye,weeds,wedlock,wallets,vulnerability,vroom,vents,upped,unsettling,unharmed,trippin,trifle,tracing,tormenting,thats,syphilis,subtext,stickin,spices,sores,smacked,slumming,sinks,signore,shitting,shameful,shacked,septic,seedy,righteousness,relish,rectify,ravishing,quickest,phoebs,perverted,peeing,pedicure,pastrami,passionately,ozone,outnumbered,oregano,offender,nukes,nosed,nighty,nifty,mounties,motivate,moons,misinterpreted,mercenary,mentality,marsellus,lupus,lumbar,lovesick,lobsters,leaky,laundering,latch,jafar,instinctively,inspires,indoors,incarcerated,hundredth,handkerchief,gynecologist,guittierez,groundhog,grinning,goodbyes,geese,fullest,eyelashes,eyelash,enquirer,endlessly,elusive,disarm,detest,deluding,dangle,cotillion,corsage,conjugal,confessional,cones,commandment,coded,coals,chuckle,christmastime,cheeseburgers,chardonnay,celery,campfire,calming,burritos,brundle,broflovski,brighten,borderline,blinked,bling,beauties,bauers,battered,articulate,alienated,ahhhhh,agamemnon,accountants,y'see,wrongful,wrapper,workaholic,winnebago,whispered,warts,vacate,unworthy,unanswered,tonane,tolerated,throwin,throbbing,thrills,thorns,thereof,there've,tarot,sunscreen,stretcher,stereotype,soggy,sobbing,sizable,sightings,shucks,shrapnel,sever,senile,seaboard,scorned,saver,rebellious,rained,putty,prenup,pores,pinching,pertinent,peeping,paints,ovulating,opposites,occult,nutcracker,nutcase,newsstand,newfound,mocked,midterms,marshmallow,marbury,maclaren,leans,krudski,knowingly,keycard,junkies,juilliard,jolinar,irritable,invaluable,inuit,intoxicating,instruct,insolent,inexcusable,incubator,illustrious,hunsecker,houseguest,homosexuals,homeroom,hernia,harming,handgun,hallways,hallucination,gunshots,groupies,groggy,goiter,gingerbread,giggling,frigging,fledged,fedex,fairies,exchanging,exaggeration,esteemed,enlist,drags,dispense,disloyal,disconnect,desks,dentists,delacroix,degenerate,daydreaming,cushions,cuddly,corroborate,complexion,compensated,cobbler,closeness,chilled,checkmate,channing,carousel,calms,bylaws,benefactor,ballgame,baiting,backstabbing,artifact,airspace,adversary,actin,accuses,accelerant,abundantly,abstinence,zissou,zandt,yapping,witchy,willows,whadaya,vilandra,veiled,undress,undivided,underestimating,ultimatums,twirl,truckload,tremble,toasting,tingling,tents,tempered,sulking,stunk,sponges,spills,softly,snipers,scourge,rooftop,riana,revolting,revisit,refreshments,redecorating,recapture,raysy,pretense,prejudiced,precogs,pouting,poofs,pimple,piles,pediatrician,padre,packets,paces,orvelle,oblivious,objectivity,nighttime,nervosa,mexicans,meurice,melts,matchmaker,maeby,lugosi,lipnik,leprechaun,kissy,kafka,introductions,intestines,inspirational,insightful,inseparable,injections,inadvertently,hussy,huckabees,hittin,hemorrhaging,headin,haystack,hallowed,grudges,granilith,grandkids,grading,gracefully,godsend,gobbles,fragrance,fliers,finchley,farts,eyewitnesses,expendable,existential,dorms,delaying,degrading,deduction,darlings,danes,cylons,counsellor,contraire,consciously,conjuring,congratulating,cokes,buffay,brooch,bitching,bistro,bijou,bewitched,benevolent,bends,bearings,barren,aptitude,amish,amazes,abomination,worldly,whispers,whadda,wayward,wailing,vanishing,upscale,untouchable,unspoken,uncontrollable,unavoidable,unattended,trite,transvestite,toupee,timid,timers,terrorizing,swana,stumped,strolling,storybook,storming,stomachs,stoked,stationery,springtime,spontaneity,spits,spins,soaps,sentiments,scramble,scone,rooftops,retract,reflexes,rawdon,ragged,quirky,quantico,psychologically,prodigal,pounce,potty,pleasantries,pints,petting,perceive,onstage,notwithstanding,nibble,newmans,neutralize,mutilated,millionaires,mayflower,masquerade,mangy,macreedy,lunatics,lovable,locating,limping,lasagna,kwang,keepers,juvie,jaded,ironing,intuitive,intensely,insure,incantation,hysteria,hypnotize,humping,happenin,griet,grasping,glorified,ganging,g'night,focker,flunking,flimsy,flaunting,fixated,fitzwallace,fainting,eyebrow,exonerated,ether,electrician,egotistical,earthly,dusted,dignify,detonation,debrief,dazzling,dan'l,damnedest,daisies,crushes,crucify,contraband,confronting,collapsing,cocked,clicks,cliche,circled,chandelier,carburetor,callers,broads,breathes,bloodshed,blindsided,blabbing,bialystock,bashing,ballerina,aviva,arteries,anomaly,airstrip,agonizing,adjourn,aaaaa,yearning,wrecker,witnessing,whence,warhead,unsure,unheard,unfreeze,unfold,unbalanced,ugliest,troublemaker,toddler,tiptoe,threesome,thirties,thermostat,swipe,surgically,subtlety,stung,stumbling,stubs,stride,strangling,sprayed,socket,smuggled,showering,shhhhh,sabotaging,rumson,rounding,risotto,repairman,rehearsed,ratty,ragging,radiology,racquetball,racking,quieter,quicksand,prowl,prompt,premeditated,prematurely,prancing,porcupine,plated,pinocchio,peeked,peddle,panting,overweight,overrun,outing,outgrown,obsess,nursed,nodding,negativity,negatives,musketeers,mugger,motorcade,merrily,matured,masquerading,marvellous,maniacs,lovey,louse,linger,lilies,lawful,kudos,knuckle,juices,judgments,itches,intolerable,intermission,inept,incarceration,implication,imaginative,huckleberry,holster,heartburn,gunna,groomed,graciously,fulfillment,fugitives,forsaking,forgives,foreseeable,flavors,flares,fixation,fickle,fantasize,famished,fades,expiration,exclamation,erasing,eiffel,eerie,earful,duped,dulles,dissing,dissect,dispenser,dilated,detergent,desdemona,debriefing,damper,curing,crispina,crackpot,courting,cordial,conflicted,comprehension,commie,cleanup,chiropractor,charmer,chariot,cauldron,catatonic,bullied,buckets,brilliantly,breathed,booths,boardroom,blowout,blindness,blazing,biologically,bibles,biased,beseech,barbaric,balraj,audacity,anticipating,alcoholics,airhead,agendas,admittedly,absolution,youre,yippee,wittlesey,withheld,willful,whammy,weakest,washes,virtuous,videotapes,vials,unplugged,unpacked,unfairly,turbulence,tumbling,tricking,tremendously,traitors,torches,tinga,thyroid,teased,tawdry,taker,sympathies,swiped,sundaes,suave,strut,stepdad,spewing,spasm,socialize,slither,simulator,shutters,shrewd,shocks,semantics,schizophrenic,scans,savages,rya'c,runny,ruckus,royally,roadblocks,rewriting,revoke,repent,redecorate,recovers,recourse,ratched,ramali,racquet,quince,quiche,puppeteer,puking,puffed,problemo,praises,pouch,postcards,pooped,poised,piled,phoney,phobia,patching,parenthood,pardner,oozing,ohhhhh,numbing,nostril,nosey,neatly,nappa,nameless,mortuary,moronic,modesty,midwife,mcclane,matuka,maitre,lumps,lucid,loosened,loins,lawnmower,lamotta,kroehner,jinxy,jessep,jamming,jailhouse,jacking,intruders,inhuman,infatuated,indigestion,implore,implanted,hormonal,hoboken,hillbilly,heartwarming,headway,hatched,hartmans,harping,grapevine,gnome,forties,flyin,flirted,fingernail,exhilarating,enjoyment,embark,dumper,dubious,drell,docking,disillusioned,dishonor,disbarred,dicey,custodial,counterproductive,corned,cords,contemplate,concur,conceivable,cobblepot,chickened,checkout,carpe,cap'n,campers,buyin,bullies,braid,boxed,bouncy,blueberries,blubbering,bloodstream,bigamy,beeped,bearable,autographs,alarming,wretch,wimps,widower,whirlwind,whirl,warms,vandelay,unveiling,undoing,unbecoming,turnaround,touche,togetherness,tickles,ticker,teensy,taunt,sweethearts,stitched,standpoint,staffers,spotless,soothe,smothered,sickening,shouted,shepherds,shawl,seriousness,schooled,schoolboy,s'mores,roped,reminders,raggedy,preemptive,plucked,pheromones,particulars,pardoned,overpriced,overbearing,outrun,ohmigod,nosing,nicked,neanderthal,mosquitoes,mortified,milky,messin,mecha,markinson,marivellas,mannequin,manderley,madder,macready,lookie,locusts,lifetimes,lanna,lakhi,kholi,impersonate,hyperdrive,horrid,hopin,hogging,hearsay,harpy,harboring,hairdo,hafta,grasshopper,gobble,gatehouse,foosball,floozy,fished,firewood,finalize,felons,euphemism,entourage,elitist,elegance,drokken,drier,dredge,dossier,diseased,diarrhea,diagnose,despised,defuse,d'amour,contesting,conserve,conscientious,conjured,collars,clogs,chenille,chatty,chamomile,casing,calculator,brittle,breached,blurted,birthing,bikinis,astounding,assaulting,aroma,appliance,antsy,amnio,alienating,aliases,adolescence,xerox,wrongs,workload,willona,whistling,werewolves,wallaby,unwelcome,unseemly,unplug,undermining,ugliness,tyranny,tuesdays,trumpets,transference,ticks,tangible,tagging,swallowing,superheroes,studs,strep,stowed,stomping,steffy,sprain,spouting,sponsoring,sneezing,smeared,slink,shakin,sewed,seatbelt,scariest,scammed,sanctimonious,roasting,rightly,retinal,rethinking,resented,reruns,remover,racks,purest,progressing,presidente,preeclampsia,postponement,portals,poppa,pliers,pinning,pelvic,pampered,padding,overjoyed,ooooo,one'll,octavius,nonono,nicknames,neurosurgeon,narrows,misled,mislead,mishap,milltown,milking,meticulous,mediocrity,meatballs,machete,lurch,layin,knockin,khruschev,jurors,jumpin,jugular,jeweler,intellectually,inquiries,indulging,indestructible,indebted,imitate,ignores,hyperventilating,hyenas,hurrying,hermano,hellish,heheh,harshly,handout,grunemann,glances,giveaway,getup,gerome,furthest,frosting,frail,forwarded,forceful,flavored,flammable,flaky,fingered,fatherly,ethic,embezzlement,duffel,dotted,distressed,disobey,disappearances,dinky,diminish,diaphragm,deuces,creme,courteous,comforts,coerced,clots,clarification,chunks,chickie,chases,chaperoning,cartons,caper,calves,caged,bustin,bulging,bringin,boomhauer,blowin,blindfolded,biscotti,ballplayer,bagging,auster,assurances,aschen,arraigned,anonymity,alters,albatross,agreeable,adoring,abduct,wolfi,weirded,watchers,washroom,warheads,vincennes,urgency,understandably,uncomplicated,uhhhh,twitching,treadmill,thermos,tenorman,tangle,talkative,swarm,surrendering,summoning,strive,stilts,stickers,squashed,spraying,sparring,soaring,snort,sneezed,slaps,skanky,singin,sidle,shreck,shortness,shorthand,sharper,shamed,sadist,rydell,rusik,roulette,resumes,respiration,recount,reacts,purgatory,princesses,presentable,ponytail,plotted,pinot,pigtails,phillippe,peddling,paroled,orbed,offends,o'hara,moonlit,minefield,metaphors,malignant,mainframe,magicks,maggots,maclaine,loathing,leper,leaps,leaping,lashed,larch,larceny,lapses,ladyship,juncture,jiffy,jakov,invoke,infantile,inadmissible,horoscope,hinting,hideaway,hesitating,heddy,heckles,hairline,gripe,gratifying,governess,goebbels,freddo,foresee,fascination,exemplary,executioner,etcetera,escorts,endearing,eaters,earplugs,draped,disrupting,disagrees,dimes,devastate,detain,depositions,delicacy,darklighter,cynicism,cyanide,cutters,cronus,continuance,conquering,confiding,compartments,combing,cofell,clingy,cleanse,christmases,cheered,cheekbones,buttle,burdened,bruenell,broomstick,brained,bozos,bontecou,bluntman,blazes,blameless,bizarro,bellboy,beaucoup,barkeep,awaken,astray,assailant,appease,aphrodisiac,alleys,yesss,wrecks,woodpecker,wondrous,wimpy,willpower,wheeling,weepy,waxing,waive,videotaped,veritable,untouched,unlisted,unfounded,unforeseen,twinge,triggers,traipsing,toxin,tombstone,thumping,therein,testicles,telephones,tarmac,talby,tackled,swirling,suicides,suckered,subtitles,sturdy,strangler,stockbroker,stitching,steered,standup,squeal,sprinkler,spontaneously,splendor,spiking,spender,snipe,snagged,skimming,siddown,showroom,shovels,shotguns,shoelaces,shitload,shellfish,sharpest,shadowy,seizing,scrounge,scapegoat,sayonara,saddled,rummaging,roomful,renounce,reconsidered,recharge,realistically,radioed,quirks,quadrant,punctual,practising,pours,poolhouse,poltergeist,pocketbook,plainly,picnics,pesto,pawing,passageway,partied,oneself,numero,nostalgia,nitwit,neuro,mixer,meanest,mcbeal,matinee,margate,marce,manipulations,manhunt,manger,magicians,loafers,litvack,lightheaded,lifeguard,lawns,laughingstock,ingested,indignation,inconceivable,imposition,impersonal,imbecile,huddled,housewarming,horizons,homicides,hiccups,hearse,hardened,gushing,gushie,greased,goddamit,freelancer,forging,fondue,flustered,flung,flinch,flicker,fixin,festivus,fertilizer,farted,faggots,exonerate,evict,enormously,encrypted,emdash,embracing,duress,dupres,dowser,doormat,disfigured,disciplined,dibbs,depository,deathbed,dazzled,cuttin,cures,crowding,crepe,crammed,copycat,contradict,confidant,condemning,conceited,commute,comatose,clapping,circumference,chuppah,chore,choksondik,chestnuts,briault,bottomless,bonnet,blokes,berluti,beret,beggars,bankroll,bania,athos,arsenic,apperantly,ahhhhhh,afloat,accents,zipped,zeros,zeroes,zamir,yuppie,youngsters,yorkers,wisest,wipes,wield,whyn't,weirdos,wednesdays,vicksburg,upchuck,untraceable,unsupervised,unpleasantness,unhook,unconscionable,uncalled,trappings,tragedies,townie,thurgood,things'll,thine,tetanus,terrorize,temptations,tanning,tampons,swarming,straitjacket,steroid,startling,starry,squander,speculating,sollozzo,sneaked,slugs,skedaddle,sinker,silky,shortcomings,sellin,seasoned,scrubbed,screwup,scrapes,scarves,sandbox,salesmen,rooming,romances,revere,reproach,reprieve,rearranging,ravine,rationalize,raffle,punchy,psychobabble,provocation,profoundly,prescriptions,preferable,polishing,poached,pledges,pirelli,perverts,oversized,overdressed,outdid,nuptials,nefarious,mouthpiece,motels,mopping,mongrel,missin,metaphorically,mertin,memos,melodrama,melancholy,measles,meaner,mantel,maneuvering,mailroom,luring,listenin,lifeless,licks,levon,legwork,kneecaps,kippur,kiddie,kaput,justifiable,insistent,insidious,innuendo,innit,indecent,imaginable,horseshit,hemorrhoid,hella,healthiest,haywire,hamsters,hairbrush,grouchy,grisly,gratuitous,glutton,glimmer,gibberish,ghastly,gentler,generously,geeky,fuhrer,fronting,foolin,faxes,faceless,extinguisher,expel,etched,endangering,ducked,dodgeball,dives,dislocated,discrepancy,devour,derail,dementia,daycare,cynic,crumbling,cowardice,covet,cornwallis,corkscrew,cookbook,commandments,coincidental,cobwebs,clouded,clogging,clicking,clasp,chopsticks,chefs,chaps,cashing,carat,calmer,brazen,brainwashing,bradys,bowing,boned,bloodsucking,bleachers,bleached,bedpan,bearded,barrenger,bachelors,awwww,assures,assigning,asparagus,apprehend,anecdote,amoral,aggravation,afoot,acquaintances,accommodating,yakking,worshipping,wladek,willya,willies,wigged,whoosh,whisked,watered,warpath,volts,violates,valuables,uphill,unwise,untimely,unsavory,unresponsive,unpunished,unexplained,tubby,trolling,toxicology,tormented,toothache,tingly,timmiihh,thursdays,thoreau,terrifies,temperamental,telegrams,talkie,takers,symbiote,swirl,suffocate,stupider,strapping,steckler,springing,someway,sleepyhead,sledgehammer,slant,slams,showgirl,shoveling,shmoopy,sharkbait,shan't,scrambling,schematics,sandeman,sabbatical,rummy,reykjavik,revert,responsive,rescheduled,requisition,relinquish,rejoice,reckoning,recant,rebadow,reassurance,rattlesnake,ramble,primed,pricey,prance,pothole,pocus,persist,perpetrated,pekar,peeling,pastime,parmesan,pacemaker,overdrive,ominous,observant,nothings,noooooo,nonexistent,nodded,nieces,neglecting,nauseating,mutated,musket,mumbling,mowing,mouthful,mooseport,monologue,mistrust,meetin,masseuse,mantini,mailer,madre,lowlifes,locksmith,livid,liven,limos,liberating,lhasa,leniency,leering,laughable,lashes,lasagne,laceration,korben,katan,kalen,jittery,jammies,irreplaceable,intubate,intolerant,inhaler,inhaled,indifferent,indifference,impound,impolite,humbly,heroics,heigh,guillotine,guesthouse,grounding,grips,gossiping,goatee,gnomes,gellar,frutt,frobisher,freudian,foolishness,flagged,femme,fatso,fatherhood,fantasized,fairest,faintest,eyelids,extravagant,extraterrestrial,extraordinarily,escalator,elevate,drivel,dissed,dismal,disarray,dinnertime,devastation,dermatologist,delicately,defrost,debutante,debacle,damone,dainty,cuvee,culpa,crucified,creeped,crayons,courtship,convene,congresswoman,concocted,compromises,comprende,comma,coleslaw,clothed,clinically,chickenshit,checkin,cesspool,caskets,calzone,brothel,boomerang,bodega,blasphemy,bitsy,bicentennial,berlini,beatin,beards,barbas,barbarians,backpacking,arrhythmia,arousing,arbitrator,antagonize,angling,anesthetic,altercation,aggressor,adversity,acathla,aaahhh,wreaking,workup,wonderin,wither,wielding,what'm,what'cha,waxed,vibrating,veterinarian,venting,vasey,valor,validate,upholstery,untied,unscathed,uninterrupted,unforgiving,undies,uncut,twinkies,tucking,treatable,treasured,tranquility,townspeople,torso,tomei,tipsy,tinsel,tidings,thirtieth,tantrums,tamper,talky,swayed,swapping,suitor,stylist,stirs,standoff,sprinklers,sparkly,snobby,snatcher,smoother,sleepin,shrug,shoebox,sheesh,shackles,setbacks,sedatives,screeching,scorched,scanned,satyr,roadblock,riverbank,ridiculed,resentful,repellent,recreate,reconvene,rebuttal,realmedia,quizzes,questionnaire,punctured,pucker,prolong,professionalism,pleasantly,pigsty,penniless,paychecks,patiently,parading,overactive,ovaries,orderlies,oracles,oiled,offending,nudie,neonatal,neighborly,moops,moonlighting,mobilize,mmmmmm,milkshake,menial,meats,mayan,maxed,mangled,magua,lunacy,luckier,liters,lansbury,kooky,knowin,jeopardized,inkling,inhalation,inflated,infecting,incense,inbound,impractical,impenetrable,idealistic,i'mma,hypocrites,hurtin,humbled,hologram,hokey,hocus,hitchhiking,hemorrhoids,headhunter,hassled,harts,hardworking,haircuts,hacksaw,genitals,gazillion,gammy,gamesphere,fugue,footwear,folly,flashlights,fives,filet,extenuating,estrogen,entails,embezzled,eloquent,egomaniac,ducts,drowsy,drones,doree,donovon,disguises,diggin,deserting,depriving,defying,deductible,decorum,decked,daylights,daybreak,dashboard,damnation,cuddling,crunching,crickets,crazies,councilman,coughed,conundrum,complimented,cohaagen,clutching,clued,clader,cheques,checkpoint,chats,channeling,ceases,carasco,capisce,cantaloupe,cancelling,campsite,burglars,breakfasts,bra'tac,blueprint,bleedin,blabbed,beneficiary,basing,avert,atone,arlyn,approves,apothecary,antiseptic,aleikuum,advisement,zadir,wobbly,withnail,whattaya,whacking,wedged,wanders,vaginal,unimaginable,undeniable,unconditionally,uncharted,unbridled,tweezers,tvmegasite,trumped,triumphant,trimming,treading,tranquilizers,toontown,thunk,suture,suppressing,strays,stonewall,stogie,stepdaughter,stace,squint,spouses,splashed,speakin,sounder,sorrier,sorrel,sombrero,solemnly,softened,snobs,snippy,snare,smoothing,slump,slimeball,slaving,silently,shiller,shakedown,sensations,scrying,scrumptious,screamin,saucy,santoses,roundup,roughed,rosary,robechaux,retrospect,rescind,reprehensible,repel,remodeling,reconsidering,reciprocate,railroaded,psychics,promos,prob'ly,pristine,printout,priestess,prenuptial,precedes,pouty,phoning,peppy,pariah,parched,panes,overloaded,overdoing,nymphs,nother,notebooks,nearing,nearer,monstrosity,milady,mieke,mephesto,medicated,marshals,manilow,mammogram,m'lady,lotsa,loopy,lesion,lenient,learner,laszlo,kross,kinks,jinxed,involuntary,insubordination,ingrate,inflatable,incarnate,inane,hypoglycemia,huntin,humongous,hoodlum,honking,hemorrhage,helpin,hathor,hatching,grotto,grandmama,gorillas,godless,girlish,ghouls,gershwin,frosted,flutter,flagpole,fetching,fatter,faithfully,exert,evasion,escalate,enticing,enchantress,elopement,drills,downtime,downloading,dorks,doorways,divulge,dissociative,disgraceful,disconcerting,deteriorate,destinies,depressive,dented,denim,decruz,decidedly,deactivate,daydreams,curls,culprit,cruelest,crippling,cranberries,corvis,copped,commend,coastguard,cloning,cirque,churning,chock,chivalry,catalogues,cartwheels,carols,canister,buttered,bundt,buljanoff,bubbling,brokers,broaden,brimstone,brainless,bores,badmouthing,autopilot,ascertain,aorta,ampata,allenby,accosted,absolve,aborted,aaagh,aaaaaah,yonder,yellin,wyndham,wrongdoing,woodsboro,wigging,wasteland,warranty,waltzed,walnuts,vividly,veggie,unnecessarily,unloaded,unicorns,understated,unclean,umbrellas,twirling,turpentine,tupperware,triage,treehouse,tidbit,tickled,threes,thousandth,thingie,terminally,teething,tassel,talkies,swoon,switchboard,swerved,suspiciously,subsequentlyne,subscribe,strudel,stroking,strictest,stensland,starin,stannart,squirming,squealing,sorely,softie,snookums,sniveling,smidge,sloth,skulking,simian,sightseeing,siamese,shudder,shoppers,sharpen,shannen,semtex,secondhand,seance,scowl,scorn,safekeeping,russe,rummage,roshman,roomies,roaches,rinds,retrace,retires,resuscitate,rerun,reputations,rekall,refreshment,reenactment,recluse,ravioli,raves,raking,purses,punishable,punchline,puked,prosky,previews,poughkeepsie,poppins,polluted,placenta,pissy,petulant,perseverance,pears,pawns,pastries,partake,panky,palate,overzealous,orchids,obstructing,objectively,obituaries,obedient,nothingness,musty,motherly,mooning,momentous,mistaking,minutemen,milos,microchip,meself,merciless,menelaus,mazel,masturbate,mahogany,lysistrata,lillienfield,likable,liberate,leveled,letdown,larynx,lardass,lainey,lagged,klorel,kidnappings,keyed,karmic,jeebies,irate,invulnerable,intrusive,insemination,inquire,injecting,informative,informants,impure,impasse,imbalance,illiterate,hurled,hunts,hematoma,headstrong,handmade,handiwork,growling,gorky,getcha,gesundheit,gazing,galley,foolishly,fondness,floris,ferocious,feathered,fateful,fancies,fakes,faker,expire,ever'body,essentials,eskimos,enlightening,enchilada,emissary,embolism,elsinore,ecklie,drenched,drazi,doped,dogging,doable,dislikes,dishonesty,disengage,discouraging,derailed,deformed,deflect,defer,deactivated,crips,constellations,congressmen,complimenting,clubbing,clawing,chromium,chimes,chews,cheatin,chaste,cellblock,caving,catered,catacombs,calamari,bucking,brulee,brits,brisk,breezes,bounces,boudoir,binks,better'n,bellied,behrani,behaves,bedding,balmy,badmouth,backers,avenging,aromatherapy,armpit,armoire,anythin,anonymously,anniversaries,aftershave,affliction,adrift,admissible,adieu,acquittal,yucky,yearn,whitter,whirlpool,wendigo,watchdog,wannabes,wakey,vomited,voicemail,valedictorian,uttered,unwed,unrequited,unnoticed,unnerving,unkind,unjust,uniformed,unconfirmed,unadulterated,unaccounted,uglier,turnoff,trampled,tramell,toads,timbuktu,throwback,thimble,tasteless,tarantula,tamale,takeovers,swish,supposing,streaking,stargher,stanzi,stabs,squeamish,splattered,spiritually,spilt,speciality,smacking,skywire,skips,skaara,simpatico,shredding,showin,shortcuts,shite,shielding,shamelessly,serafine,sentimentality,seasick,schemer,scandalous,sainted,riedenschneider,rhyming,revel,retractor,retards,resurrect,remiss,reminiscing,remanded,reiben,regains,refuel,refresher,redoing,redheaded,reassured,rearranged,rapport,qumar,prowling,prejudices,precarious,powwow,pondering,plunger,plunged,pleasantville,playpen,phlegm,perfected,pancreas,paley,ovary,outbursts,oppressed,ooohhh,omoroca,offed,o'toole,nurture,nursemaid,nosebleed,necktie,muttering,munchies,mucking,mogul,mitosis,misdemeanor,miscarried,millionth,migraines,midler,manicurist,mandelbaum,manageable,malfunctioned,magnanimous,loudmouth,longed,lifestyles,liddy,lickety,leprechauns,komako,klute,kennel,justifying,irreversible,inventing,intergalactic,insinuate,inquiring,ingenuity,inconclusive,incessant,improv,impersonation,hyena,humperdinck,hubba,housework,hoffa,hither,hissy,hippy,hijacked,heparin,hellooo,hearth,hassles,hairstyle,hahahaha,hadda,guys'll,gutted,gulls,gritty,grievous,graft,gossamer,gooder,gambled,gadgets,fundamentals,frustrations,frolicking,frock,frilly,foreseen,footloose,fondly,flirtation,flinched,flatten,farthest,exposer,evading,escrow,empathize,embryos,embodiment,ellsberg,ebola,dulcinea,dreamin,drawbacks,doting,doose,doofy,disturbs,disorderly,disgusts,detox,denominator,demeanor,deliriously,decode,debauchery,croissant,cravings,cranked,coworkers,councilor,confuses,confiscate,confines,conduit,compress,combed,clouding,clamps,cinch,chinnery,celebratory,catalogs,carpenters,carnal,canin,bundys,bulldozer,buggers,bueller,brainy,booming,bookstores,bloodbath,bittersweet,bellhop,beeping,beanstalk,beady,baudelaire,bartenders,bargains,averted,armadillo,appreciating,appraised,antlers,aloof,allowances,alleyway,affleck,abject,zilch,youore,xanax,wrenching,wouldn,witted,wicca,whorehouse,whooo,whips,vouchers,victimized,vicodin,untested,unsolicited,unfocused,unfettered,unfeeling,unexplainable,understaffed,underbelly,tutorial,tryst,trampoline,towering,tirade,thieving,thang,swimmin,swayzak,suspecting,superstitions,stubbornness,streamers,strattman,stonewalling,stiffs,stacking,spout,splice,sonrisa,smarmy,slows,slicing,sisterly,shrill,shined,seeming,sedley,seatbelts,scour,scold,schoolyard,scarring,salieri,rustling,roxbury,rewire,revved,retriever,reputable,remodel,reins,reincarnation,rance,rafters,rackets,quail,pumbaa,proclaim,probing,privates,pried,prewedding,premeditation,posturing,posterity,pleasurable,pizzeria,pimps,penmanship,penchant,pelvis,overturn,overstepped,overcoat,ovens,outsmart,outed,ooohh,oncologist,omission,offhand,odour,nyazian,notarized,nobody'll,nightie,navel,nabbed,mystique,mover,mortician,morose,moratorium,mockingbird,mobsters,mingling,methinks,messengered,merde,masochist,martouf,martians,marinara,manray,majorly,magnifying,mackerel,lurid,lugging,lonnegan,loathsome,llantano,liberace,leprosy,latinos,lanterns,lamest,laferette,kraut,intestine,innocencia,inhibitions,ineffectual,indisposed,incurable,inconvenienced,inanimate,improbable,implode,hydrant,hustling,hustled,huevos,how'm,hooey,hoods,honcho,hinge,hijack,heimlich,hamunaptra,haladki,haiku,haggle,gutsy,grunting,grueling,gribbs,greevy,grandstanding,godparents,glows,glistening,gimmick,gaping,fraiser,formalities,foreigner,folders,foggy,fitty,fiends,fe'nos,favours,eyeing,extort,expedite,escalating,epinephrine,entitles,entice,eminence,eights,earthlings,eagerly,dunville,dugout,doublemeat,doling,dispensing,dispatcher,discoloration,diners,diddly,dictates,diazepam,derogatory,delights,defies,decoder,dealio,danson,cutthroat,crumbles,croissants,crematorium,craftsmanship,could'a,cordless,cools,conked,confine,concealing,complicates,communique,cockamamie,coasters,clobbered,clipping,clipboard,clemenza,cleanser,circumcision,chanukah,certainaly,cellmate,cancels,cadmium,buzzed,bumstead,bucko,browsing,broth,braver,boggling,bobbing,blurred,birkhead,benet,belvedere,bellies,begrudge,beckworth,banky,baldness,baggy,babysitters,aversion,astonished,assorted,appetites,angina,amiss,ambulances,alibis,airway,admires,adhesive,yoyou,xxxxxx,wreaked,wracking,woooo,wooing,wised,wilshire,wedgie,waging,violets,vincey,uplifting,untrustworthy,unmitigated,uneventful,undressing,underprivileged,unburden,umbilical,tweaking,turquoise,treachery,tosses,torching,toothpick,toasts,thickens,tereza,tenacious,teldar,taint,swill,sweatin,subtly,subdural,streep,stopwatch,stockholder,stillwater,stalkers,squished,squeegee,splinters,spliced,splat,spied,spackle,sophistication,snapshots,smite,sluggish,slithered,skeeters,sidewalks,sickly,shrugs,shrubbery,shrieking,shitless,settin,sentinels,selfishly,scarcely,sangria,sanctum,sahjhan,rustle,roving,rousing,rosomorf,riddled,responsibly,renoir,remoray,remedial,refundable,redirect,recheck,ravenwood,rationalizing,ramus,ramelle,quivering,pyjamas,psychos,provocations,prouder,protestors,prodded,proctologist,primordial,pricks,prickly,precedents,pentangeli,pathetically,parka,parakeet,panicky,overthruster,outsmarted,orthopedic,oncoming,offing,nutritious,nuthouse,nourishment,nibbling,newlywed,narcissist,mutilation,mundane,mummies,mumble,mowed,morvern,mortem,mopes,molasses,misplace,miscommunication,miney,midlife,menacing,memorizing,massaging,masking,magnets,luxuries,lounging,lothario,liposuction,lidocaine,libbets,levitate,leeway,launcelot,larek,lackeys,kumbaya,kryptonite,knapsack,keyhole,katarangura,juiced,jakey,ironclad,invoice,intertwined,interlude,interferes,injure,infernal,indeedy,incur,incorrigible,incantations,impediment,igloo,hysterectomy,hounded,hollering,hindsight,heebie,havesham,hasenfuss,hankering,hangers,hakuna,gutless,gusto,grubbing,grrrr,grazed,gratification,grandeur,gorak,godammit,gnawing,glanced,frostbite,frees,frazzled,fraulein,fraternizing,fortuneteller,formaldehyde,followup,foggiest,flunky,flickering,firecrackers,figger,fetuses,fates,eyeliner,extremities,extradited,expires,exceedingly,evaporate,erupt,epileptic,entrails,emporium,egregious,eggshells,easing,duwayne,droll,dreyfuss,dovey,doubly,doozy,donkeys,donde,distrust,distressing,disintegrate,discreetly,decapitated,dealin,deader,dashed,darkroom,dares,daddies,dabble,cushy,cupcakes,cuffed,croupier,croak,crapped,coursing,coolers,contaminate,consummated,construed,condos,concoction,compulsion,commish,coercion,clemency,clairvoyant,circulate,chesterton,checkered,charlatan,chaperones,categorically,cataracts,carano,capsules,capitalize,burdon,bullshitting,brewed,breathless,breasted,brainstorming,bossing,borealis,bonsoir,bobka,boast,blimp,bleep,bleeder,blackouts,bisque,billboards,beatings,bayberry,bashed,bamboozled,balding,baklava,baffled,backfires,babak,awkwardness,attest,attachments,apologizes,anyhoo,antiquated,alcante,advisable,aahhh,aaahh,zatarc,yearbooks,wuddya,wringing,womanhood,witless,winging,whatsa,wetting,waterproof,wastin,vogelman,vocation,vindicated,vigilance,vicariously,venza,vacuuming,utensils,uplink,unveil,unloved,unloading,uninhibited,unattached,tweaked,turnips,trinkets,toughen,toting,topside,terrors,terrify,technologically,tarnish,tagliati,szpilman,surly,supple,summation,suckin,stepmom,squeaking,splashmore,souffle,solitaire,solicitation,solarium,smokers,slugged,slobbering,skylight,skimpy,sinuses,silenced,sideburns,shrinkage,shoddy,shhhhhh,shelled,shareef,shangri,seuss,serenade,scuffle,scoff,scanners,sauerkraut,sardines,sarcophagus,salvy,rusted,russells,rowboat,rolfsky,ringside,respectability,reparations,renegotiate,reminisce,reimburse,regimen,raincoat,quibble,puzzled,purposefully,pubic,proofing,prescribing,prelim,poisons,poaching,personalized,personable,peroxide,pentonville,payphone,payoffs,paleontology,overflowing,oompa,oddest,objecting,o'hare,o'daniel,notches,nobody'd,nightstand,neutralized,nervousness,nerdy,needlessly,naquadah,nappy,nantucket,nambla,mountaineer,motherfuckin,morrie,monopolizing,mohel,mistreated,misreading,misbehave,miramax,minivan,milligram,milkshakes,metamorphosis,medics,mattresses,mathesar,matchbook,matata,marys,malucci,magilla,lymphoma,lowers,lordy,linens,lindenmeyer,limelight,leapt,laxative,lather,lapel,lamppost,laguardia,kindling,kegger,kawalsky,juries,jokin,jesminder,interning,innermost,injun,infallible,industrious,indulgence,incinerator,impossibility,impart,illuminate,iguanas,hypnotic,hyped,hospitable,hoses,homemaker,hirschmuller,helpers,headset,guardianship,guapo,grubby,granola,granddaddy,goren,goblet,gluttony,globes,giorno,getter,geritol,gassed,gaggle,foxhole,fouled,foretold,floorboards,flippers,flaked,fireflies,feedings,fashionably,farragut,fallback,facials,exterminate,excites,everything'll,evenin,ethically,ensue,enema,empath,eluded,eloquently,eject,edema,dumpling,droppings,dolled,distasteful,disputing,displeasure,disdain,deterrent,dehydration,defied,decomposing,dawned,dailies,custodian,crusts,crucifix,crowning,crier,crept,craze,crawls,couldn,correcting,corkmaster,copperfield,cooties,contraption,consumes,conspire,consenting,consented,conquers,congeniality,complains,communicator,commendable,collide,coladas,colada,clout,clooney,classifieds,clammy,civility,cirrhosis,chink,catskills,carvers,carpool,carelessness,cardio,carbs,capades,butabi,busmalis,burping,burdens,bunks,buncha,bulldozers,browse,brockovich,breakthroughs,bravado,boogety,blossoms,blooming,bloodsucker,blight,betterton,betrayer,belittle,beeps,bawling,barts,bartending,bankbooks,babish,atropine,assertive,armbrust,anyanka,annoyance,anemic,anago,airwaves,aimlessly,aaargh,aaand,yoghurt,writhing,workable,winking,winded,widen,whooping,whiter,whatya,wazoo,voila,virile,vests,vestibule,versed,vanishes,urkel,uproot,unwarranted,unscheduled,unparalleled,undergrad,tweedle,turtleneck,turban,trickery,transponder,toyed,townhouse,thyself,thunderstorm,thinning,thawed,tether,technicalities,tau'ri,tarnished,taffeta,tacked,systolic,swerve,sweepstakes,swabs,suspenders,superwoman,sunsets,succulent,subpoenas,stumper,stosh,stomachache,stewed,steppin,stepatech,stateside,spicoli,sparing,soulless,sonnets,sockets,snatching,smothering,slush,sloman,slashing,sitters,simpleton,sighs,sidra,sickens,shunned,shrunken,showbiz,shopped,shimmering,shagging,semblance,segue,sedation,scuzzlebutt,scumbags,screwin,scoundrels,scarsdale,scabs,saucers,saintly,saddened,runaways,runaround,rheya,resenting,rehashing,rehabilitated,regrettable,refreshed,redial,reconnecting,ravenous,raping,rafting,quandary,pylea,putrid,puffing,psychopathic,prunes,probate,prayin,pomegranate,plummeting,planing,plagues,pinata,pithy,perversion,personals,perched,peeps,peckish,pavarotti,pajama,packin,pacifier,overstepping,okama,obstetrician,nutso,nuance,normalcy,nonnegotiable,nomak,ninny,nines,nicey,newsflash,neutered,nether,negligee,necrosis,navigating,narcissistic,mylie,muses,momento,moisturizer,moderation,misinformed,misconception,minnifield,mikkos,methodical,mebbe,meager,maybes,matchmaking,masry,markovic,malakai,luzhin,lusting,lumberjack,loopholes,loaning,lightening,leotard,launder,lamaze,kubla,kneeling,kibosh,jumpsuit,joliet,jogger,janover,jakovasaurs,irreparable,innocently,inigo,infomercial,inexplicable,indispensable,impregnated,impossibly,imitating,hunches,hummus,houmfort,hothead,hostiles,hooves,hooligans,homos,homie,hisself,heyyy,hesitant,hangout,handsomest,handouts,hairless,gwennie,guzzling,guinevere,grungy,goading,glaring,gavel,gardino,gangrene,fruitful,friendlier,freckle,freakish,forthright,forearm,footnote,flops,fixer,firecracker,finito,figgered,fezzik,fastened,farfetched,fanciful,familiarize,faire,fahrenheit,extravaganza,exploratory,explanatory,everglades,eunuch,estas,escapade,erasers,emptying,embarassing,dweeb,dutiful,dumplings,dries,drafty,dollhouse,dismissing,disgraced,discrepancies,disbelief,disagreeing,digestion,didnt,deviled,deviated,demerol,delectable,decaying,decadent,dears,dateless,d'algout,cultivating,cryto,crumpled,crumbled,cronies,crease,craves,cozying,corduroy,congratulated,confidante,compressions,complicating,compadre,coerce,classier,chums,chumash,chivalrous,chinpoko,charred,chafing,celibacy,carted,carryin,carpeting,carotid,cannibals,candor,butterscotch,busts,busier,bullcrap,buggin,brookside,brodski,brassiere,brainwash,brainiac,botrelle,bonbon,boatload,blimey,blaring,blackness,bipartisan,bimbos,bigamist,biebe,biding,betrayals,bestow,bellerophon,bedpans,bassinet,basking,barzini,barnyard,barfed,backups,audited,asinine,asalaam,arouse,applejack,annoys,anchovies,ampule,alameida,aggravate,adage,accomplices,yokel,y'ever,wringer,witwer,withdrawals,windward,willfully,whorfin,whimsical,whimpering,weddin,weathered,warmest,wanton,volant,visceral,vindication,veggies,urinate,uproar,unwritten,unwrap,unsung,unsubstantiated,unspeakably,unscrupulous,unraveling,unquote,unqualified,unfulfilled,undetectable,underlined,unattainable,unappreciated,ummmm,ulcers,tylenol,tweak,turnin,tuatha,tropez,trellis,toppings,tootin,toodle,tinkering,thrives,thespis,theatrics,thatherton,tempers,tavington,tartar,tampon,swelled,sutures,sustenance,sunflowers,sublet,stubbins,strutting,strewn,stowaway,stoic,sternin,stabilizing,spiraling,spinster,speedometer,speakeasy,soooo,soiled,sneakin,smithereens,smelt,smacks,slaughterhouse,slacks,skids,sketching,skateboards,sizzling,sixes,sirree,simplistic,shouts,shorted,shoelace,sheeit,shards,shackled,sequestered,selmak,seduces,seclusion,seamstress,seabeas,scoops,scooped,scavenger,satch,s'more,rudeness,romancing,rioja,rifkin,rieper,revise,reunions,repugnant,replicating,repaid,renewing,relaxes,rekindle,regrettably,regenerate,reels,reciting,reappear,readin,ratting,rapes,rancher,rammed,rainstorm,railroading,queers,punxsutawney,punishes,pssst,prudy,proudest,protectors,procrastinating,proactive,priss,postmortem,pompoms,poise,pickings,perfectionist,peretti,people'll,pecking,patrolman,paralegal,paragraphs,paparazzi,pankot,pampering,overstep,overpower,outweigh,omnipotent,odious,nuwanda,nurtured,newsroom,neeson,needlepoint,necklaces,neato,muggers,muffler,mousy,mourned,mosey,mopey,mongolians,moldy,misinterpret,minibar,microfilm,mendola,mended,melissande,masturbating,masbath,manipulates,maimed,mailboxes,magnetism,m'lord,m'honey,lymph,lunge,lovelier,lefferts,leezak,ledgers,larraby,laloosh,kundun,kozinski,knockoff,kissin,kiosk,kennedys,kellman,karlo,kaleidoscope,jeffy,jaywalking,instructing,infraction,informer,infarction,impulsively,impressing,impersonated,impeach,idiocy,hyperbole,hurray,humped,huhuh,hsing,hordes,hoodlums,honky,hitchhiker,hideously,heaving,heathcliff,headgear,headboard,hazing,harem,handprint,hairspray,gutiurrez,goosebumps,gondola,glitches,gasping,frolic,freeways,frayed,fortitude,forgetful,forefathers,fonder,foiled,foaming,flossing,flailing,fitzgeralds,firehouse,finders,fiftieth,fellah,fawning,farquaad,faraway,fancied,extremists,exorcist,exhale,ethros,entrust,ennui,energized,encephalitis,embezzling,elster,elixir,electrolytes,duplex,dryers,drexl,dredging,drawback,don'ts,dobisch,divorcee,disrespected,disprove,disobeying,disinfectant,dingy,digress,dieting,dictating,devoured,devise,detonators,desist,deserter,derriere,deron,deceptive,debilitating,deathwok,daffodils,curtsy,cursory,cuppa,cumin,cronkite,cremation,credence,cranking,coverup,courted,countin,counselling,cornball,contentment,consensual,compost,cluett,cleverly,cleansed,cleanliness,chopec,chomp,chins,chime,cheswick,chessler,cheapest,chatted,cauliflower,catharsis,catchin,caress,camcorder,calorie,cackling,bystanders,buttoned,buttering,butted,buries,burgel,buffoon,brogna,bragged,boutros,bogeyman,blurting,blurb,blowup,bloodhound,blissful,birthmark,bigot,bestest,belted,belligerent,beggin,befall,beeswax,beatnik,beaming,barricade,baggoli,badness,awoke,artsy,artful,aroun,armpits,arming,annihilate,anise,angiogram,anaesthetic,amorous,ambiance,alligators,adoration,admittance,adama,abydos,zonked,zhivago,yorkin,wrongfully,writin,wrappers,worrywart,woops,wonderfalls,womanly,wickedness,whoopie,wholeheartedly,whimper,which'll,wheelchairs,what'ya,warranted,wallop,wading,wacked,virginal,vermouth,vermeil,verger,ventriss,veneer,vampira,utero,ushers,urgently,untoward,unshakable,unsettled,unruly,unlocks,ungodly,undue,uncooperative,uncontrollably,unbeatable,twitchy,tumbler,truest,triumphs,triplicate,tribbey,tortures,tongaree,tightening,thorazine,theres,testifies,teenaged,tearful,taxing,taldor,syllabus,swoops,swingin,suspending,sunburn,stuttering,stupor,strides,strategize,strangulation,stooped,stipulation,stingy,stapled,squeaks,squawking,spoilsport,splicing,spiel,spencers,spasms,spaniard,softener,sodding,soapbox,smoldering,smithbauer,skittish,sifting,sickest,sicilians,shuffling,shrivel,segretti,seeping,securely,scurrying,scrunch,scrote,screwups,schenkman,sawing,savin,satine,sapiens,salvaging,salmonella,sacrilege,rumpus,ruffle,roughing,rotted,rondall,ridding,rickshaw,rialto,rhinestone,restrooms,reroute,requisite,repress,rednecks,redeeming,rayed,ravell,raked,raincheck,raffi,racked,pushin,profess,prodding,procure,presuming,preppy,prednisone,potted,posttraumatic,poorhouse,podiatrist,plowed,pledging,playroom,plait,placate,pinback,picketing,photographing,pharoah,petrak,petal,persecuting,perchance,pellets,peeved,peerless,payable,pauses,pathologist,pagliacci,overwrought,overreaction,overqualified,overheated,outcasts,otherworldly,opinionated,oodles,oftentimes,occured,obstinate,nutritionist,numbness,nubile,nooooooo,nobodies,nepotism,neanderthals,mushu,mucus,mothering,mothballs,monogrammed,molesting,misspoke,misspelled,misconstrued,miscalculated,minimums,mince,mildew,mighta,middleman,mementos,mellowed,mayol,mauled,massaged,marmalade,mardi,makings,lundegaard,lovingly,loudest,lotto,loosing,loompa,looming,longs,loathes,littlest,littering,lifelike,legalities,laundered,lapdog,lacerations,kopalski,knobs,knitted,kittridge,kidnaps,kerosene,karras,jungles,jockeys,iranoff,invoices,invigorating,insolence,insincere,insectopia,inhumane,inhaling,ingrates,infestation,individuality,indeterminate,incomprehensible,inadequacy,impropriety,importer,imaginations,illuminating,ignite,hysterics,hypodermic,hyperventilate,hyperactive,humoring,honeymooning,honed,hoist,hoarding,hitching,hiker,hightail,hemoglobin,hell'd,heinie,growin,grasped,grandparent,granddaughters,gouged,goblins,gleam,glades,gigantor,get'em,geriatric,gatekeeper,gargoyles,gardenias,garcon,garbo,gallows,gabbing,futon,fulla,frightful,freshener,fortuitous,forceps,fogged,fodder,foamy,flogging,flaun,flared,fireplaces,feverish,favell,fattest,fattening,fallow,extraordinaire,evacuating,errant,envied,enchant,enamored,egocentric,dussander,dunwitty,dullest,dropout,dredged,dorsia,doornail,donot,dongs,dogged,dodgy,ditty,dishonorable,discriminating,discontinue,dings,dilly,dictation,dialysis,delly,delightfully,daryll,dandruff,cruddy,croquet,cringe,crimp,credo,crackling,courtside,counteroffer,counterfeiting,corrupting,copping,conveyor,contusions,contusion,conspirator,consoling,connoisseur,confetti,composure,compel,colic,coddle,cocksuckers,coattails,cloned,claustrophobia,clamoring,churn,chugga,chirping,chasin,chapped,chalkboard,centimeter,caymans,catheter,casings,caprica,capelli,cannolis,cannoli,camogli,camembert,butchers,butchered,busboys,bureaucrats,buckled,bubbe,brownstone,bravely,brackley,bouquets,botox,boozing,boosters,bodhi,blunders,blunder,blockage,biocyte,betrays,bested,beryllium,beheading,beggar,begbie,beamed,bastille,barstool,barricades,barbecues,barbecued,bandwagon,backfiring,bacarra,avenged,autopsies,aunties,associating,artichoke,arrowhead,appendage,apostrophe,antacid,ansel,annul,amuses,amped,amicable,amberg,alluring,adversaries,admirers,adlai,acupuncture,abnormality,aaaahhhh,zooming,zippity,zipping,zeroed,yuletide,yoyodyne,yengeese,yeahhh,wrinkly,wracked,withered,winks,windmills,whopping,wendle,weigart,waterworks,waterbed,watchful,wantin,wagging,waaah,vying,ventricle,varnish,vacuumed,unreachable,unprovoked,unmistakable,unfriendly,unfolding,underpaid,uncuff,unappealing,unabomber,typhoid,tuxedos,tushie,turds,tumnus,troubadour,trinium,treaters,treads,transpired,transgression,tought,thready,thins,thinners,techs,teary,tattaglia,tassels,tarzana,tanking,tablecloths,synchronize,symptomatic,sycophant,swimmingly,sweatshop,surfboard,superpowers,sunroom,sunblock,sugarplum,stupidly,strumpet,strapless,stooping,stools,stealthy,stalks,stairmaster,staffer,sshhh,squatting,squatters,spectacularly,sorbet,socked,sociable,snubbed,snorting,sniffles,snazzy,snakebite,smuggler,smorgasbord,smooching,slurping,slouch,slingshot,slaved,skimmed,sisterhood,silliest,sidarthur,sheraton,shebang,sharpening,shanghaied,shakers,sendoff,scurvy,scoliosis,scaredy,scagnetti,sawchuk,saugus,sasquatch,sandbag,saltines,s'pose,roston,rostle,riveting,ristle,rifling,revulsion,reverently,retrograde,restful,resents,reptilian,reorganize,renovating,reiterate,reinvent,reinmar,reibers,reechard,recuse,reconciling,recognizance,reclaiming,recitation,recieved,rebate,reacquainted,rascals,railly,quintuplets,quahog,pygmies,puzzling,punctuality,prosthetic,proms,probie,preys,preserver,preppie,poachers,plummet,plumbers,plannin,pitying,pitfalls,piqued,pinecrest,pinches,pillage,pigheaded,physique,pessimistic,persecute,perjure,percentile,pentothal,pensky,penises,peini,pazzi,pastels,parlour,paperweight,pamper,pained,overwhelm,overalls,outrank,outpouring,outhouse,outage,ouija,obstructed,obsessions,obeying,obese,o'riley,o'higgins,nosebleeds,norad,noooooooo,nononono,nonchalant,nippy,neurosis,nekhorvich,necronomicon,naquada,n'est,mystik,mystified,mumps,muddle,mothership,moped,monumentally,monogamous,mondesi,misogynistic,misinterpreting,mindlock,mending,megaphone,meeny,medicating,meanie,masseur,markstrom,marklars,margueritas,manifesting,maharajah,lukewarm,loveliest,loran,lizardo,liquored,lipped,lingers,limey,lemkin,leisurely,lathe,latched,lapping,ladle,krevlorneswath,kosygin,khakis,kenaru,keats,kaitlan,julliard,jollies,jaundice,jargon,jackals,invisibility,insipid,inflamed,inferiority,inexperience,incinerated,incinerate,incendiary,incan,inbred,implicating,impersonator,hunks,horsing,hooded,hippopotamus,hiked,hetson,hetero,hessian,henslowe,hendler,hellstrom,headstone,hayloft,harbucks,handguns,hallucinate,haldol,haggling,gynaecologist,gulag,guilder,guaranteeing,groundskeeper,grindstone,grimoir,grievance,griddle,gribbit,greystone,graceland,gooders,goeth,gentlemanly,gelatin,gawking,ganged,fukes,fromby,frenchmen,foursome,forsley,forbids,footwork,foothold,floater,flinging,flicking,fittest,fistfight,fireballs,fillings,fiddling,fennyman,felonious,felonies,feces,favoritism,fatten,fanatics,faceman,excusing,excepted,entwined,entree,ensconced,eladio,ehrlichman,easterland,dueling,dribbling,drape,downtrodden,doused,dosed,dorleen,dokie,distort,displeased,disown,dismount,disinherited,disarmed,disapproves,diperna,dined,diligent,dicaprio,depress,decoded,debatable,dealey,darsh,damsels,damning,dad'll,d'oeuvre,curlers,curie,cubed,crikey,crepes,countrymen,cornfield,coppers,copilot,copier,cooing,conspiracies,consigliere,condoning,commoner,commies,combust,comas,colds,clawed,clamped,choosy,chomping,chimps,chigorin,chianti,cheep,checkups,cheaters,celibate,cautiously,cautionary,castell,carpentry,caroling,carjacking,caritas,caregiver,cardiology,candlesticks,canasta,cain't,burro,burnin,bunking,bumming,bullwinkle,brummel,brooms,brews,breathin,braslow,bracing,botulism,boorish,bloodless,blayne,blatantly,blankie,bedbugs,becuase,barmaid,bared,baracus,banal,bakes,backpacks,attentions,atrocious,ativan,athame,asunder,astound,assuring,aspirins,asphyxiation,ashtrays,aryans,arnon,apprehension,applauding,anvil,antiquing,antidepressants,annoyingly,amputate,altruistic,alotta,alerting,afterthought,affront,affirm,actuality,abysmal,absentee,yeller,yakushova,wuzzy,wriggle,worrier,woogyman,womanizer,windpipe,windbag,willin,whisking,whimsy,wendall,weeny,weensy,weasels,watery,watcha,wasteful,waski,washcloth,waaay,vouched,viznick,ventriloquist,vendettas,veils,vayhue,vamanos,vadimus,upstage,uppity,unsaid,unlocking,unintentionally,undetected,undecided,uncaring,unbearably,tween,tryout,trotting,trini,trimmings,trickier,treatin,treadstone,trashcan,transcendent,tramps,townsfolk,torturous,torrid,toothpicks,tolerable,tireless,tiptoeing,timmay,tillinghouse,tidying,tibia,thumbing,thrusters,thrashing,these'll,thatos,testicular,teriyaki,tenors,tenacity,tellers,telemetry,tarragon,switchblade,swicker,swells,sweatshirts,swatches,surging,supremely,sump'n,succumb,subsidize,stumbles,stuffs,stoppin,stipulate,stenographer,steamroll,stasis,stagger,squandered,splint,splendidly,splashy,splashing,specter,sorcerers,somewheres,somber,snuggled,snowmobile,sniffed,snags,smugglers,smudged,smirking,smearing,slings,sleet,sleepovers,sleek,slackers,siree,siphoning,singed,sincerest,sickened,shuffled,shriveled,shorthanded,shittin,shish,shipwrecked,shins,sheetrock,shawshank,shamu,sha're,servitude,sequins,seascape,scrapings,scoured,scorching,sandpaper,saluting,salud,ruffled,roughnecks,rougher,rosslyn,rosses,roost,roomy,romping,revolutionize,reprimanded,refute,refrigerated,reeled,redundancies,rectal,recklessly,receding,reassignment,reapers,readout,ration,raring,ramblings,raccoons,quarantined,purging,punters,psychically,premarital,pregnancies,predisposed,precautionary,pollute,podunk,plums,plaything,pixilated,pitting,piranhas,pieced,piddles,pickled,photogenic,phosphorous,pffft,pestilence,pessimist,perspiration,perps,penticoff,passageways,pardons,panics,pancamo,paleontologist,overwhelms,overstating,overpaid,overdid,outlive,orthodontist,orgies,oreos,ordover,ordinates,ooooooh,oooohhh,omelettes,officiate,obtuse,obits,nymph,novocaine,noooooooooo,nipping,nilly,nightstick,negate,neatness,natured,narcotic,narcissism,namun,nakatomi,murky,muchacho,mouthwash,motzah,morsel,morph,morlocks,mooch,moloch,molest,mohra,modus,modicum,mockolate,misdemeanors,miscalculation,middies,meringue,mercilessly,meditating,mayakovsky,maximillian,marlee,markovski,maniacal,maneuvered,magnificence,maddening,lutze,lunged,lovelies,lorry,loosening,lookee,littered,lilac,lightened,laces,kurzon,kurtzweil,kind've,kimono,kenji,kembu,keanu,kazuo,jonesing,jilted,jiggling,jewelers,jewbilee,jacqnoud,jacksons,ivories,insurmountable,innocuous,innkeeper,infantery,indulged,indescribable,incoherent,impervious,impertinent,imperfections,hunnert,huffy,horsies,horseradish,hollowed,hogwash,hockley,hissing,hiromitsu,hidin,hereafter,helpmann,hehehe,haughty,happenings,hankie,handsomely,halliwells,haklar,haise,gunsights,grossly,grope,grocer,grits,gripping,grabby,glorificus,gizzard,gilardi,gibarian,geminon,gasses,garnish,galloping,gairwyn,futterman,futility,fumigated,fruitless,friendless,freon,foregone,forego,floored,flighty,flapjacks,fizzled,ficus,festering,farbman,fabricate,eyghon,extricate,exalted,eventful,esophagus,enterprising,entail,endor,emphatically,embarrasses,electroshock,easel,duffle,drumsticks,dissection,dissected,disposing,disparaging,disorientation,disintegrated,disarming,devoting,dessaline,deprecating,deplorable,delve,degenerative,deduct,decomposed,deathly,dearie,daunting,dankova,cyclotron,cyberspace,cutbacks,culpable,cuddled,crumpets,cruelly,crouching,cranium,cramming,cowering,couric,cordesh,conversational,conclusively,clung,clotting,cleanest,chipping,chimpanzee,chests,cheapen,chainsaws,censure,catapult,caravaggio,carats,captivating,calrissian,butlers,busybody,bussing,bunion,bulimic,budging,brung,browbeat,brokenhearted,brecher,breakdowns,bracebridge,boning,blowhard,blisters,blackboard,bigotry,bialy,bhamra,bended,begat,battering,baste,basquiat,barricaded,barometer,balled,baited,badenweiler,backhand,ascenscion,argumentative,appendicitis,apparition,anxiously,antagonistic,angora,anacott,amniotic,ambience,alonna,aleck,akashic,ageless,abouts,aawwww,aaaaarrrrrrggghhh,aaaaaa,zendi,yuppies,yodel,y'hear,wrangle,wombosi,wittle,withstanding,wisecracks,wiggling,wierd,whittlesley,whipper,whattya,whatsamatter,whatchamacallit,whassup,whad'ya,weakling,warfarin,waponis,wampum,wadn't,vorash,vizzini,virtucon,viridiana,veracity,ventilated,varicose,varcon,vandalized,vamos,vamoose,vaccinated,vacationing,usted,urinal,uppers,unwittingly,unsealed,unplanned,unhinged,unhand,unfathomable,unequivocally,unbreakable,unadvisedly,udall,tynacorp,tuxes,tussle,turati,tunic,tsavo,trussed,troublemakers,trollop,tremors,transsexual,transfusions,toothbrushes,toned,toddlers,tinted,tightened,thundering,thorpey,this'd,thespian,thaddius,tenuous,tenths,tenement,telethon,teleprompter,teaspoon,taunted,tattle,tardiness,taraka,tappy,tapioca,tapeworm,talcum,tacks,swivel,swaying,superpower,summarize,sumbitch,sultry,suburbia,styrofoam,stylings,strolls,strobe,stockpile,stewardesses,sterilized,sterilize,stealin,stakeouts,squawk,squalor,squabble,sprinkled,sportsmanship,spokes,spiritus,sparklers,spareribs,sowing,sororities,sonovabitch,solicit,softy,softness,softening,snuggling,snatchers,snarling,snarky,snacking,smears,slumped,slowest,slithering,sleazebag,slayed,slaughtering,skidded,skated,sivapathasundaram,sissies,silliness,silences,sidecar,sicced,shylock,shtick,shrugged,shriek,shoves,should'a,shortcake,shockingly,shirking,shaves,shatner,sharpener,shapely,shafted,sexless,septum,selflessness,seabea,scuff,screwball,scoping,scooch,scolding,schnitzel,schemed,scalper,santy,sankara,sanest,salesperson,sakulos,safehouse,sabers,runes,rumblings,rumbling,ruijven,ringers,righto,rhinestones,retrieving,reneging,remodelling,relentlessly,regurgitate,refills,reeking,reclusive,recklessness,recanted,ranchers,rafer,quaking,quacks,prophesied,propensity,profusely,problema,prided,prays,postmark,popsicles,poodles,pollyanna,polaroids,pokes,poconos,pocketful,plunging,plugging,pleeease,platters,pitied,pinetti,piercings,phooey,phonies,pestering,periscope,pentagram,pelts,patronized,paramour,paralyze,parachutes,pales,paella,paducci,owatta,overdone,overcrowded,overcompensating,ostracized,ordinate,optometrist,operandi,omens,okayed,oedipal,nuttier,nuptial,nunheim,noxious,nourish,notepad,nitroglycerin,nibblet,neuroses,nanosecond,nabbit,mythic,munchkins,multimillion,mulroney,mucous,muchas,mountaintop,morlin,mongorians,moneybags,mom'll,molto,mixup,misgivings,mindset,michalchuk,mesmerized,merman,mensa,meaty,mbwun,materialize,materialistic,masterminded,marginally,mapuhe,malfunctioning,magnify,macnamara,macinerney,machinations,macadamia,lysol,lurks,lovelorn,lopsided,locator,litback,litany,linea,limousines,limes,lighters,liebkind,levity,levelheaded,letterhead,lesabre,leron,lepers,lefts,leftenant,laziness,layaway,laughlan,lascivious,laryngitis,lapsed,landok,laminated,kurten,kobol,knucklehead,knowed,knotted,kirkeby,kinsa,karnovsky,jolla,jimson,jettison,jeric,jawed,jankis,janitors,jango,jalopy,jailbreak,jackers,jackasses,invalidate,intercepting,intercede,insinuations,infertile,impetuous,impaled,immerse,immaterial,imbeciles,imagines,idyllic,idolized,icebox,i'd've,hypochondriac,hyphen,hurtling,hurried,hunchback,hullo,horsting,hoooo,homeboys,hollandaise,hoity,hijinks,hesitates,herrero,herndorff,helplessly,heeyy,heathen,hearin,headband,harrassment,harpies,halstrom,hahahahaha,hacer,grumbling,grimlocks,grift,greets,grandmothers,grander,grafts,gordievsky,gondorff,godorsky,glscripts,gaudy,gardeners,gainful,fuses,fukienese,frizzy,freshness,freshening,fraught,frantically,foxbooks,fortieth,forked,foibles,flunkies,fleece,flatbed,fisted,firefight,fingerpaint,filibuster,fhloston,fenceline,femur,fatigues,fanucci,fantastically,familiars,falafel,fabulously,eyesore,expedient,ewwww,eviscerated,erogenous,epidural,enchante,embarassed,embarass,embalming,elude,elspeth,electrocute,eigth,eggshell,echinacea,eases,earpiece,earlobe,dumpsters,dumbshit,dumbasses,duloc,duisberg,drummed,drinkers,dressy,dorma,doily,divvy,diverting,dissuade,disrespecting,displace,disorganized,disgustingly,discord,disapproving,diligence,didja,diced,devouring,detach,destructing,desolate,demerits,delude,delirium,degrade,deevak,deemesa,deductions,deduce,debriefed,deadbeats,dateline,darndest,damnable,dalliance,daiquiri,d'agosta,cussing,cryss,cripes,cretins,crackerjack,cower,coveting,couriers,countermission,cotswolds,convertibles,conversationalist,consorting,consoled,consarn,confides,confidentially,commited,commiserate,comme,comforter,comeuppance,combative,comanches,colosseum,colling,coexist,coaxing,cliffside,chutes,chucked,chokes,childlike,childhoods,chickening,chenowith,charmingly,changin,catsup,captioning,capsize,cappucino,capiche,candlewell,cakewalk,cagey,caddie,buxley,bumbling,bulky,buggered,brussel,brunettes,brumby,brotha,bronck,brisket,bridegroom,braided,bovary,bookkeeper,bluster,bloodline,blissfully,blase,billionaires,bicker,berrisford,bereft,berating,berate,bendy,belive,belated,beikoku,beens,bedspread,bawdy,barreling,baptize,banya,balthazar,balmoral,bakshi,bails,badgered,backstreet,awkwardly,auras,attuned,atheists,astaire,assuredly,arrivederci,appetit,appendectomy,apologetic,antihistamine,anesthesiologist,amulets,albie,alarmist,aiight,adstream,admirably,acquaint,abound,abominable,aaaaaaah,zekes,zatunica,wussy,worded,wooed,woodrell,wiretap,windowsill,windjammer,windfall,whisker,whims,whatiya,whadya,weirdly,weenies,waunt,washout,wanto,waning,victimless,verdad,veranda,vandaley,vancomycin,valise,vaguest,upshot,unzip,unwashed,untrained,unstuck,unprincipled,unmentionables,unjustly,unfolds,unemployable,uneducated,unduly,undercut,uncovering,unconsciousness,unconsciously,tyndareus,turncoat,turlock,tulle,tryouts,trouper,triplette,trepkos,tremor,treeger,trapeze,traipse,tradeoff,trach,torin,tommorow,tollan,toity,timpani,thumbprint,thankless,tell'em,telepathy,telemarketing,telekinesis,teevee,teeming,tarred,tambourine,talentless,swooped,switcheroo,swirly,sweatpants,sunstroke,suitors,sugarcoat,subways,subterfuge,subservient,subletting,stunningly,strongbox,striptease,stravanavitch,stradling,stoolie,stodgy,stocky,stifle,stealer,squeezes,squatter,squarely,sprouted,spool,spindly,speedos,soups,soundly,soulmates,somebody'll,soliciting,solenoid,sobering,snowflakes,snowballs,snores,slung,slimming,skulk,skivvies,skewered,skewer,sizing,sistine,sidebar,sickos,shushing,shunt,shugga,shone,shol'va,sharpened,shapeshifter,shadowing,shadoe,selectman,sefelt,seared,scrounging,scribbling,scooping,scintillating,schmoozing,scallops,sapphires,sanitarium,sanded,safes,rudely,roust,rosebush,rosasharn,rondell,roadhouse,riveted,rewrote,revamp,retaliatory,reprimand,replicators,replaceable,remedied,relinquishing,rejoicing,reincarnated,reimbursed,reevaluate,redid,redefine,recreating,reconnected,rebelling,reassign,rearview,rayne,ravings,ratso,rambunctious,radiologist,quiver,quiero,queef,qualms,pyrotechnics,pulsating,psychosomatic,proverb,promiscuous,profanity,prioritize,preying,predisposition,precocious,precludes,prattling,prankster,povich,potting,postpartum,porridge,polluting,plowing,pistachio,pissin,pickpocket,physicals,peruse,pertains,personified,personalize,perjured,perfecting,pepys,pepperdine,pembry,peering,peels,pedophile,patties,passkey,paratrooper,paraphernalia,paralyzing,pandering,paltry,palpable,pagers,pachyderm,overstay,overestimated,overbite,outwit,outgrow,outbid,ooops,oomph,oohhh,oldie,obliterate,objectionable,nygma,notting,noches,nitty,nighters,newsstands,newborns,neurosurgery,nauseated,nastiest,narcolepsy,mutilate,muscled,murmur,mulva,mulling,mukada,muffled,morgues,moonbeams,monogamy,molester,molestation,molars,moans,misprint,mismatched,mirth,mindful,mimosas,millander,mescaline,menstrual,menage,mellowing,medevac,meddlesome,matey,manicures,malevolent,madmen,macaroons,lydell,lycra,lunchroom,lunching,lozenges,looped,litigious,liquidate,linoleum,lingk,limitless,limber,lilacs,ligature,liftoff,lemmiwinks,leggo,learnin,lazarre,lawyered,lactose,knelt,kenosha,kemosabe,jussy,junky,jordy,jimmies,jeriko,jakovasaur,issacs,isabela,irresponsibility,ironed,intoxication,insinuated,inherits,ingest,ingenue,inflexible,inflame,inevitability,inedible,inducement,indignant,indictments,indefensible,incomparable,incommunicado,improvising,impounded,illogical,ignoramus,hydrochloric,hydrate,hungover,humorless,humiliations,hugest,hoverdrone,hovel,hmmph,hitchhike,hibernating,henchman,helloooo,heirlooms,heartsick,headdress,hatches,harebrained,hapless,hanen,handsomer,hallows,habitual,guten,gummy,guiltier,guidebook,gstaad,gruff,griss,grieved,grata,gorignak,goosed,goofed,glowed,glitz,glimpses,glancing,gilmores,gianelli,geraniums,garroway,gangbusters,gamblers,galls,fuddy,frumpy,frowning,frothy,fro'tak,frere,fragrances,forgettin,follicles,flowery,flophouse,floatin,flirts,flings,flatfoot,fingerprinting,fingerprinted,fingering,finald,fillet,fianc,femoral,federales,fawkes,fascinates,farfel,fambly,falsified,fabricating,exterminators,expectant,excusez,excrement,excercises,evian,etins,esophageal,equivalency,equate,equalizer,entrees,enquire,endearment,empathetic,emailed,eggroll,earmuffs,dyslexic,duper,duesouth,drunker,druggie,dreadfully,dramatics,dragline,downplay,downers,dominatrix,doers,docket,docile,diversify,distracts,disloyalty,disinterested,discharging,disagreeable,dirtier,dinghy,dimwitted,dimoxinil,dimmy,diatribe,devising,deviate,detriment,desertion,depressants,depravity,deniability,delinquents,defiled,deepcore,deductive,decimate,deadbolt,dauthuille,dastardly,daiquiris,daggers,dachau,curiouser,curdled,cucamonga,cruller,cruces,crosswalk,crinkle,crescendo,cremate,counseled,couches,cornea,corday,copernicus,contrition,contemptible,constipated,conjoined,confounded,condescend,concoct,conch,compensating,committment,commandeered,comely,coddled,cockfight,cluttered,clunky,clownfish,cloaked,clenched,cleanin,civilised,circumcised,cimmeria,cilantro,chutzpah,chucking,chiseled,chicka,chattering,cervix,carrey,carpal,carnations,cappuccinos,candied,calluses,calisthenics,bushy,burners,budington,buchanans,brimming,braids,boycotting,bouncers,botticelli,botherin,bookkeeping,bogyman,bogged,bloodthirsty,blintzes,blanky,binturong,billable,bigboote,bewildered,betas,bequeath,behoove,befriend,bedpost,bedded,baudelaires,barreled,barboni,barbeque,bangin,baltus,bailout,backstabber,baccarat,awning,augie,arguillo,archway,apricots,apologising,annyong,anchorman,amenable,amazement,allspice,alannis,airfare,airbags,ahhhhhhhhh,ahhhhhhhh,ahhhhhhh,agitator,adrenal,acidosis,achoo,accessorizing,accentuate,abrasions,abductor,aaaahhh,aaaaaaaa,aaaaaaa,zeroing,zelner,zeldy,yevgeny,yeska,yellows,yeesh,yeahh,yamuri,wouldn't've,workmanship,woodsman,winnin,winked,wildness,whoring,whitewash,whiney,when're,wheezer,wheelman,wheelbarrow,westerburg,weeding,watermelons,washboard,waltzes,wafting,voulez,voluptuous,vitone,vigilantes,videotaping,viciously,vices,veruca,vermeer,verifying,vasculitis,valets,upholstered,unwavering,untold,unsympathetic,unromantic,unrecognizable,unpredictability,unmask,unleashing,unintentional,unglued,unequivocal,underrated,underfoot,unchecked,unbutton,unbind,unbiased,unagi,uhhhhh,tugging,triads,trespasses,treehorn,traviata,trappers,transplants,trannie,tramping,tracheotomy,tourniquet,tooty,toothless,tomarrow,toasters,thruster,thoughtfulness,thornwood,tengo,tenfold,telltale,telephoto,telephoned,telemarketer,tearin,tastic,tastefully,tasking,taser,tamed,tallow,taketh,taillight,tadpoles,tachibana,syringes,sweated,swarthy,swagger,surges,supermodels,superhighway,sunup,sun'll,sulfa,sugarless,sufficed,subside,strolled,stringy,strengthens,straightest,straightens,storefront,stopper,stockpiling,stimulant,stiffed,steyne,sternum,stepladder,stepbrother,steers,steelheads,steakhouse,stathis,stankylecartmankennymr,standoffish,stalwart,squirted,spritz,sprig,sprawl,spousal,sphincter,spenders,spearmint,spatter,spangled,southey,soured,sonuvabitch,somethng,snuffed,sniffs,smokescreen,smilin,slobs,sleepwalker,sleds,slays,slayage,skydiving,sketched,skanks,sixed,siphoned,siphon,simpering,sigfried,sidearm,siddons,sickie,shuteye,shuffleboard,shrubberies,shrouded,showmanship,shouldn't've,shoplift,shiatsu,sentries,sentance,sensuality,seething,secretions,searing,scuttlebutt,sculpt,scowling,scouring,scorecard,schoolers,schmucks,scepters,scaly,scalps,scaffolding,sauces,sartorius,santen,salivating,sainthood,saget,saddens,rygalski,rusting,ruination,rueland,rudabaga,rottweiler,roofies,romantics,rollerblading,roldy,roadshow,rickets,rible,rheza,revisiting,retentive,resurface,restores,respite,resounding,resorting,resists,repulse,repressing,repaying,reneged,refunds,rediscover,redecorated,reconstructive,recommitted,recollect,receptacle,reassess,reanimation,realtors,razinin,rationalization,ratatouille,rashum,rasczak,rancheros,rampler,quizzing,quips,quartered,purring,pummeling,puede,proximo,prospectus,pronouncing,prolonging,procreation,proclamations,principled,prides,preoccupation,prego,precog,prattle,pounced,potshots,potpourri,porque,pomegranates,polenta,plying,pluie,plesac,playmates,plantains,pillowcase,piddle,pickers,photocopied,philistine,perpetuate,perpetually,perilous,pawned,pausing,pauper,parter,parlez,parlay,pally,ovulation,overtake,overstate,overpowering,overpowered,overconfident,overbooked,ovaltine,outweighs,outings,ottos,orrin,orifice,orangutan,oopsy,ooooooooh,oooooo,ooohhhh,ocular,obstruct,obscenely,o'dwyer,nutjob,nunur,notifying,nostrand,nonny,nonfat,noblest,nimble,nikes,nicht,newsworthy,nestled,nearsighted,ne'er,nastier,narco,nakedness,muted,mummified,mudda,mozzarella,moxica,motivator,motility,mothafucka,mortmain,mortgaged,mores,mongers,mobbed,mitigating,mistah,misrepresented,mishke,misfortunes,misdirection,mischievous,mineshaft,millaney,microwaves,metzenbaum,mccovey,masterful,masochistic,marliston,marijawana,manya,mantumbi,malarkey,magnifique,madrona,madox,machida,m'hidi,lullabies,loveliness,lotions,looka,lompoc,litterbug,litigator,lithe,liquorice,linds,limericks,lightbulb,lewises,letch,lemec,layover,lavatory,laurels,lateness,laparotomy,laboring,kuato,kroff,krispy,krauts,knuckleheads,kitschy,kippers,kimbrow,keypad,keepsake,kebab,karloff,junket,judgemental,jointed,jezzie,jetting,jeeze,jeeter,jeesus,jeebs,janeane,jails,jackhammer,ixnay,irritates,irritability,irrevocable,irrefutable,irked,invoking,intricacies,interferon,intents,insubordinate,instructive,instinctive,inquisitive,inlay,injuns,inebriated,indignity,indecisive,incisors,incacha,inalienable,impresses,impregnate,impregnable,implosion,idolizes,hypothyroidism,hypoglycemic,huseni,humvee,huddling,honing,hobnobbing,hobnob,histrionics,histamine,hirohito,hippocratic,hindquarters,hikita,hikes,hightailed,hieroglyphics,heretofore,herbalist,hehey,hedriks,heartstrings,headmistress,headlight,hardheaded,happend,handlebars,hagitha,habla,gyroscope,guys'd,guy'd,guttersnipe,grump,growed,grovelling,groan,greenbacks,gravedigger,grating,grasshoppers,grandiose,grandest,grafted,gooood,goood,gooks,godsakes,goaded,glamorama,giveth,gingham,ghostbusters,germane,georgy,gazzo,gazelles,gargle,garbled,galgenstein,gaffe,g'day,fyarl,furnish,furies,fulfills,frowns,frowned,frighteningly,freebies,freakishly,forewarned,foreclose,forearms,fordson,fonics,flushes,flitting,flemmer,flabby,fishbowl,fidgeting,fevers,feigning,faxing,fatigued,fathoms,fatherless,fancier,fanatical,factored,eyelid,eyeglasses,expresso,expletive,expectin,excruciatingly,evidentiary,ever'thing,eurotrash,eubie,estrangement,erlich,epitome,entrap,enclose,emphysema,embers,emasculating,eighths,eardrum,dyslexia,duplicitous,dumpty,dumbledore,dufus,duddy,duchamp,drunkenness,drumlin,drowns,droid,drinky,drifts,drawbridge,dramamine,douggie,douchebag,dostoyevsky,doodling,don'tcha,domineering,doings,dogcatcher,doctoring,ditzy,dissimilar,dissecting,disparage,disliking,disintegrating,dishwalla,dishonored,dishing,disengaged,disavowed,dippy,diorama,dimmed,dilate,digitalis,diggory,dicing,diagnosing,devola,desolation,dennings,denials,deliverance,deliciously,delicacies,degenerates,degas,deflector,defile,deference,decrepit,deciphered,dawdle,dauphine,daresay,dangles,dampen,damndest,cucumbers,cucaracha,cryogenically,croaks,croaked,criticise,crisper,creepiest,creams,crackle,crackin,covertly,counterintelligence,corrosive,cordially,cops'll,convulsions,convoluted,conversing,conga,confrontational,confab,condolence,condiments,complicit,compiegne,commodus,comings,cometh,collusion,collared,cockeyed,clobber,clemonds,clarithromycin,cienega,christmasy,christmassy,chloroform,chippie,chested,cheeco,checklist,chauvinist,chandlers,chambermaid,chakras,cellophane,caveat,cataloguing,cartmanland,carples,carny,carded,caramels,cappy,caped,canvassing,callback,calibrated,calamine,buttermilk,butterfingers,bunsen,bulimia,bukatari,buildin,budged,brobich,bringer,brendell,brawling,bratty,braised,boyish,boundless,botch,boosh,bookies,bonbons,bodes,bobunk,bluntly,blossoming,bloomers,bloodstains,bloodhounds,blech,biter,biometric,bioethics,bijan,bigoted,bicep,bereaved,bellowing,belching,beholden,beached,batmobile,barcodes,barch,barbecuing,bandanna,backwater,backtrack,backdraft,augustino,atrophy,atrocity,atley,atchoo,asthmatic,assoc,armchair,arachnids,aptly,appetizing,antisocial,antagonizing,anorexia,anini,andersons,anagram,amputation,alleluia,airlock,aimless,agonized,agitate,aggravating,aerosol,acing,accomplishing,accidently,abuser,abstain,abnormally,aberration,aaaaahh,zlotys,zesty,zerzura,zapruder,zantopia,yelburton,yeess,y'knowwhati'msayin,wwhat,wussies,wrenched,would'a,worryin,wormser,wooooo,wookiee,wolchek,wishin,wiseguys,windbreaker,wiggy,wieners,wiedersehen,whoopin,whittled,wherefore,wharvey,welts,wellstone,wedges,wavered,watchit,wastebasket,wango,waken,waitressed,wacquiem,vrykolaka,voula,vitally,visualizing,viciousness,vespers,vertes,verily,vegetarians,vater,vaporize,vannacutt,vallens,ussher,urinating,upping,unwitting,untangle,untamed,unsanitary,unraveled,unopened,unisex,uninvolved,uninteresting,unintelligible,unimaginative,undeserving,undermines,undergarments,unconcerned,tyrants,typist,tykes,tybalt,twosome,twits,tutti,turndown,tularemia,tuberculoma,tsimshian,truffaut,truer,truant,trove,triumphed,tripe,trigonometry,trifled,trifecta,tribulations,tremont,tremoille,transcends,trafficker,touchin,tomfoolery,tinkered,tinfoil,tightrope,thousan,thoracotomy,thesaurus,thawing,thatta,tessio,temps,taxidermist,tator,tachycardia,t'akaya,swelco,sweetbreads,swatting,supercollider,sunbathing,summarily,suffocation,sueleen,succinct,subsided,submissive,subjecting,subbing,subatomic,stupendous,stunted,stubble,stubbed,streetwalker,strategizing,straining,straightaway,stoli,stiffer,stickup,stens,steamroller,steadwell,steadfast,stateroom,stans,sshhhh,squishing,squinting,squealed,sprouting,sprimp,spreadsheets,sprawled,spotlights,spooning,spirals,speedboat,spectacles,speakerphone,southglen,souse,soundproof,soothsayer,sommes,somethings,solidify,soars,snorted,snorkeling,snitches,sniping,snifter,sniffin,snickering,sneer,snarl,smila,slinking,slanted,slanderous,slammin,skimp,skilosh,siteid,sirloin,singe,sighing,sidekicks,sicken,showstopper,shoplifter,shimokawa,sherborne,shavadai,sharpshooters,sharking,shagged,shaddup,senorita,sesterces,sensuous,seahaven,scullery,scorcher,schotzie,schnoz,schmooze,schlep,schizo,scents,scalping,scalped,scallop,scalding,sayeth,saybrooke,sawed,savoring,sardine,sandstorm,sandalwood,salutations,sagman,s'okay,rsvp'd,rousted,rootin,romper,romanovs,rollercoaster,rolfie,robinsons,ritzy,ritualistic,ringwald,rhymed,rheingold,rewrites,revoking,reverts,retrofit,retort,retinas,respirations,reprobate,replaying,repaint,renquist,renege,relapsing,rekindled,rejuvenating,rejuvenated,reinstating,recriminations,rechecked,reassemble,rears,reamed,reacquaint,rayanne,ravish,rathole,raspail,rarest,rapists,rants,racketeer,quittin,quitters,quintessential,queremos,quellek,quelle,quasimodo,pyromaniac,puttanesca,puritanical,purer,puree,pungent,pummel,puedo,psychotherapist,prosecutorial,prosciutto,propositioning,procrastination,probationary,primping,preventative,prevails,preservatives,preachy,praetorians,practicality,powders,potus,postop,positives,poser,portolano,portokalos,poolside,poltergeists,pocketed,poach,plummeted,plucking,plimpton,playthings,plastique,plainclothes,pinpointed,pinkus,pinks,pigskin,piffle,pictionary,piccata,photocopy,phobias,perignon,perfumes,pecks,pecked,patently,passable,parasailing,paramus,papier,paintbrush,pacer,paaiint,overtures,overthink,overstayed,overrule,overestimate,overcooked,outlandish,outgrew,outdoorsy,outdo,orchestrate,oppress,opposable,oooohh,oomupwah,okeydokey,okaaay,ohashi,of'em,obscenities,oakie,o'gar,nurection,nostradamus,norther,norcom,nooch,nonsensical,nipped,nimbala,nervously,neckline,nebbleman,narwhal,nametag,n'n't,mycenae,muzak,muumuu,mumbled,mulvehill,muggings,muffet,mouthy,motivates,motaba,moocher,mongi,moley,moisturize,mohair,mocky,mmkay,mistuh,missis,misdeeds,mincemeat,miggs,miffed,methadone,messieur,menopausal,menagerie,mcgillicuddy,mayflowers,matrimonial,matick,masai,marzipan,maplewood,manzelle,mannequins,manhole,manhandle,malfunctions,madwoman,machiavelli,lynley,lynched,lurconis,lujack,lubricant,looove,loons,loofah,lonelyhearts,lollipops,lineswoman,lifers,lexter,lepner,lemony,leggy,leafy,leadeth,lazerus,lazare,lawford,languishing,lagoda,ladman,kundera,krinkle,krendler,kreigel,kowolski,knockdown,knifed,kneed,kneecap,kids'll,kennie,kenmore,keeled,kazootie,katzenmoyer,kasdan,karak,kapowski,kakistos,julyan,jockstrap,jobless,jiggly,jaunt,jarring,jabbering,irrigate,irrevocably,irrationally,ironies,invitro,intimated,intently,intentioned,intelligently,instill,instigator,instep,inopportune,innuendoes,inflate,infects,infamy,indiscretions,indiscreet,indio,indignities,indict,indecision,inconspicuous,inappropriately,impunity,impudent,impotence,implicates,implausible,imperfection,impatience,immutable,immobilize,idealist,iambic,hysterically,hyperspace,hygienist,hydraulics,hydrated,huzzah,husks,hunched,huffed,hubris,hubbub,hovercraft,houngan,hosed,horoscopes,hopelessness,hoodwinked,honorably,honeysuckle,homegirl,holiest,hippity,hildie,hieroglyphs,hexton,herein,heckle,heaping,healthilizer,headfirst,hatsue,harlot,hardwired,halothane,hairstyles,haagen,haaaaa,gutting,gummi,groundless,groaning,gristle,grills,graynamore,grabbin,goodes,goggle,glittering,glint,gleaming,glassy,girth,gimbal,giblets,gellers,geezers,geeze,garshaw,gargantuan,garfunkel,gangway,gandarium,gamut,galoshes,gallivanting,gainfully,gachnar,fusionlips,fusilli,furiously,frugal,fricking,frederika,freckling,frauds,fountainhead,forthwith,forgo,forgettable,foresight,foresaw,fondling,fondled,fondle,folksy,fluttering,fluffing,floundering,flirtatious,flexing,flatterer,flaring,fixating,finchy,figurehead,fiendish,fertilize,ferment,fending,fellahs,feelers,fascinate,fantabulous,falsify,fallopian,faithless,fairer,fainter,failings,facetious,eyepatch,exxon,extraterrestrials,extradite,extracurriculars,extinguish,expunged,expelling,exorbitant,exhilarated,exertion,exerting,excercise,everbody,evaporated,escargot,escapee,erases,epizootics,epithelials,ephrum,entanglements,enslave,engrossed,emphatic,emeralds,ember,emancipated,elevates,ejaculate,effeminate,eccentricities,easygoing,earshot,dunks,dullness,dulli,dulled,drumstick,dropper,driftwood,dregs,dreck,dreamboat,draggin,downsizing,donowitz,dominoes,diversions,distended,dissipate,disraeli,disqualify,disowned,dishwashing,disciplining,discerning,disappoints,dinged,digested,dicking,detonating,despising,depressor,depose,deport,dents,defused,deflecting,decryption,decoys,decoupage,decompress,decibel,decadence,deafening,dawning,dater,darkened,dappy,dallying,dagon,czechoslovakians,cuticles,cuteness,cupboards,culottes,cruisin,crosshairs,cronyn,criminalistics,creatively,creaming,crapping,cranny,cowed,contradicting,constipation,confining,confidences,conceiving,conceivably,concealment,compulsively,complainin,complacent,compels,communing,commode,comming,commensurate,columnists,colonoscopy,colchicine,coddling,clump,clubbed,clowning,cliffhanger,clang,cissy,choosers,choker,chiffon,channeled,chalet,cellmates,cathartic,caseload,carjack,canvass,canisters,candlestick,candlelit,camry,calzones,calitri,caldy,byline,butterball,bustier,burlap,bureaucrat,buffoons,buenas,brookline,bronzed,broiled,broda,briss,brioche,briar,breathable,brays,brassieres,boysenberry,bowline,boooo,boonies,booklets,bookish,boogeyman,boogey,bogas,boardinghouse,bluuch,blundering,bluer,blowed,blotchy,blossomed,bloodwork,bloodied,blithering,blinks,blathering,blasphemous,blacking,birdson,bings,bfmid,bfast,bettin,berkshires,benjamins,benevolence,benched,benatar,bellybutton,belabor,behooves,beddy,beaujolais,beattle,baxworth,baseless,barfing,bannish,bankrolled,banek,ballsy,ballpoint,baffling,badder,badda,bactine,backgammon,baako,aztreonam,authoritah,auctioning,arachtoids,apropos,aprons,apprised,apprehensive,anythng,antivenin,antichrist,anorexic,anoint,anguished,angioplasty,angio,amply,ampicillin,amphetamines,alternator,alcove,alabaster,airlifted,agrabah,affidavits,admonished,admonish,addled,addendum,accuser,accompli,absurdity,absolved,abrusso,abreast,aboot,abductions,abducting,aback,ababwa,aaahhhh,zorin,zinthar,zinfandel,zillions,zephyrs,zatarcs,zacks,youuu,yokels,yardstick,yammer,y'understand,wynette,wrung,wreaths,wowed,wouldn'ta,worming,wormed,workday,woodsy,woodshed,woodchuck,wojadubakowski,withering,witching,wiseass,wiretaps,wining,willoby,wiccaning,whupped,whoopi,whoomp,wholesaler,whiteness,whiner,whatchya,wharves,wenus,weirdoes,weaning,watusi,waponi,waistband,wackos,vouching,votre,vivica,viveca,vivant,vivacious,visor,visitin,visage,vicrum,vetted,ventriloquism,venison,varnsen,vaporized,vapid,vanstock,uuuuh,ushering,urologist,urination,upstart,uprooted,unsubtitled,unspoiled,unseat,unseasonably,unseal,unsatisfying,unnerve,unlikable,unleaded,uninsured,uninspired,unicycle,unhooked,unfunny,unfreezing,unflattering,unfairness,unexpressed,unending,unencumbered,unearth,undiscovered,undisciplined,understan,undershirt,underlings,underline,undercurrent,uncivilized,uncharacteristic,umpteenth,uglies,tuney,trumps,truckasaurus,trubshaw,trouser,tringle,trifling,trickster,trespassers,trespasser,traumas,trattoria,trashes,transgressions,trampling,tp'ed,toxoplasmosis,tounge,tortillas,topsy,topple,topnotch,tonsil,tions,timmuh,timithious,tilney,tighty,tightness,tightens,tidbits,ticketed,thyme,threepio,thoughtfully,thorkel,thommo,thing'll,thefts,that've,thanksgivings,tetherball,testikov,terraforming,tepid,tendonitis,tenboom,telex,teenybopper,tattered,tattaglias,tanneke,tailspin,tablecloth,swooping,swizzle,swiping,swindled,swilling,swerving,sweatshops,swaddling,swackhammer,svetkoff,supossed,superdad,sumptuous,sugary,sugai,subvert,substantiate,submersible,sublimating,subjugation,stymied,strychnine,streetlights,strassmans,stranglehold,strangeness,straddling,straddle,stowaways,stotch,stockbrokers,stifling,stepford,steerage,steena,statuary,starlets,staggeringly,ssshhh,squaw,spurt,spungeon,spritzer,sprightly,sprays,sportswear,spoonful,splittin,splitsville,speedily,specialise,spastic,sparrin,souvlaki,southie,sourpuss,soupy,soundstage,soothes,somebody'd,softest,sociopathic,socialized,snyders,snowmobiles,snowballed,snatches,smugness,smoothest,smashes,sloshed,sleight,skyrocket,skied,skewed,sixpence,sipowicz,singling,simulates,shyness,shuvanis,showoff,shortsighted,shopkeeper,shoehorn,shithouse,shirtless,shipshape,shifu,shelve,shelbyville,sheepskin,sharpens,shaquille,shanshu,servings,sequined,seizes,seashells,scrambler,scopes,schnauzer,schmo,schizoid,scampered,savagely,saudis,santas,sandovals,sanding,saleswoman,sagging,s'cuse,rutting,ruthlessly,runneth,ruffians,rubes,rosalita,rollerblades,rohypnol,roasts,roadies,ritten,rippling,ripples,rigoletto,richardo,rethought,reshoot,reserving,reseda,rescuer,reread,requisitions,repute,reprogram,replenish,repetitious,reorganizing,reinventing,reinvented,reheat,refrigerators,reenter,recruiter,recliner,rawdy,rashes,rajeski,raison,raisers,rages,quinine,questscape,queller,pygmalion,pushers,pusan,purview,pumpin,pubescent,prudes,provolone,propriety,propped,procrastinate,processional,preyed,pretrial,portent,pooling,poofy,polloi,policia,poacher,pluses,pleasuring,platitudes,plateaued,plaguing,pittance,pinheads,pincushion,pimply,pimped,piggyback,piecing,phillipe,philipse,philby,pharaohs,petyr,petitioner,peshtigo,pesaram,persnickety,perpetrate,percolating,pepto,penne,penell,pemmican,peeks,pedaling,peacemaker,pawnshop,patting,pathologically,patchouli,pasts,pasties,passin,parlors,paltrow,palamon,padlock,paddling,oversleep,overheating,overdosed,overcharge,overblown,outrageously,ornery,opportune,oooooooooh,oohhhh,ohhhhhh,ogres,odorless,obliterated,nyong,nymphomaniac,ntozake,novocain,nough,nonnie,nonissue,nodules,nightmarish,nightline,niceties,newsman,needra,nedry,necking,navour,nauseam,nauls,narim,namath,nagged,naboo,n'sync,myslexia,mutator,mustafi,musketeer,murtaugh,murderess,munching,mumsy,muley,mouseville,mortifying,morgendorffers,moola,montel,mongoloid,molestered,moldings,mocarbies,mo'ss,mixers,misrell,misnomer,misheard,mishandled,miscreant,misconceptions,miniscule,millgate,mettle,metricconverter,meteors,menorah,mengele,melding,meanness,mcgruff,mcarnold,matzoh,matted,mastectomy,massager,marveling,marooned,marmaduke,marick,manhandled,manatees,man'll,maltin,maliciously,malfeasance,malahide,maketh,makeovers,maiming,machismo,lumpectomy,lumbering,lucci,lording,lorca,lookouts,loogie,loners,loathed,lissen,lighthearted,lifer,lickin,lewen,levitation,lestercorp,lessee,lentils,legislate,legalizing,lederhosen,lawmen,lasskopf,lardner,lambeau,lamagra,ladonn,lactic,lacquer,labatier,krabappel,kooks,knickknacks,klutzy,kleynach,klendathu,kinross,kinkaid,kind'a,ketch,kesher,karikos,karenina,kanamits,junshi,jumbled,joust,jotted,jobson,jingling,jigalong,jerries,jellies,jeeps,javna,irresistable,internist,intercranial,inseminated,inquisitor,infuriate,inflating,infidelities,incessantly,incensed,incase,incapacitate,inasmuch,inaccuracies,imploding,impeding,impediments,immaturity,illegible,iditarod,icicles,ibuprofen,i'i'm,hymie,hydrolase,hunker,humps,humons,humidor,humdinger,humbling,huggin,huffing,housecleaning,hothouse,hotcakes,hosty,hootenanny,hootchie,hoosegow,honks,honeymooners,homily,homeopathic,hitchhikers,hissed,hillnigger,hexavalent,hewwo,hershe,hermey,hergott,henny,hennigans,henhouse,hemolytic,helipad,heifer,hebrews,hebbing,heaved,headlock,harrowing,harnessed,hangovers,handi,handbasket,halfrek,hacene,gyges,guys're,gundersons,gumption,gruntmaster,grubs,grossie,groped,grins,greaseball,gravesite,gratuity,granma,grandfathers,grandbaby,gradski,gracing,gossips,gooble,goners,golitsyn,gofer,godsake,goddaughter,gnats,gluing,glares,givers,ginza,gimmie,gimmee,gennero,gemme,gazpacho,gazed,gassy,gargling,gandhiji,galvanized,gallbladder,gaaah,furtive,fumigation,fucka,fronkonsteen,frills,freezin,freewald,freeloader,frailty,forger,foolhardy,fondest,fomin,followin,follicle,flotation,flopping,floodgates,flogged,flicked,flenders,fleabag,fixings,fixable,fistful,firewater,firelight,fingerbang,finalizing,fillin,filipov,fiderer,felling,feldberg,feign,faunia,fatale,farkus,fallible,faithfulness,factoring,eyeful,extramarital,exterminated,exhume,exasperated,eviscerate,estoy,esmerelda,escapades,epoxy,enticed,enthused,entendre,engrossing,endorphins,emptive,emmys,eminently,embezzler,embarressed,embarrassingly,embalmed,eludes,eling,elated,eirie,egotitis,effecting,eerily,eecom,eczema,earthy,earlobes,eally,dyeing,dwells,duvet,duncans,dulcet,droves,droppin,drools,drey'auc,downriver,domesticity,dollop,doesnt,dobler,divulged,diversionary,distancing,dispensers,disorienting,disneyworld,dismissive,disingenuous,disheveled,disfiguring,dinning,dimming,diligently,dilettante,dilation,dickensian,diaphragms,devastatingly,destabilize,desecrate,deposing,deniece,demony,delving,delicates,deigned,defraud,deflower,defibrillator,defiantly,defenceless,defacing,deconstruction,decompose,deciphering,decibels,deceptively,deceptions,decapitation,debutantes,debonair,deadlier,dawdling,davic,darwinism,darnit,darks,danke,danieljackson,dangled,cytoxan,cutout,cutlery,curveball,curfews,cummerbund,crunches,crouched,crisps,cripples,crilly,cribs,crewman,creepin,creeds,credenza,creak,crawly,crawlin,crawlers,crated,crackheads,coworker,couldn't've,corwins,coriander,copiously,convenes,contraceptives,contingencies,contaminating,conniption,condiment,concocting,comprehending,complacency,commendatore,comebacks,com'on,collarbone,colitis,coldly,coiffure,coffers,coeds,codependent,cocksucking,cockney,cockles,clutched,closeted,cloistered,cleve,cleats,clarifying,clapped,cinnabar,chunnel,chumps,cholinesterase,choirboy,chocolatey,chlamydia,chigliak,cheesie,chauvinistic,chasm,chartreuse,charo,charnier,chapil,chalked,chadway,certifiably,cellulite,celled,cavalcade,cataloging,castrated,cassio,cashews,cartouche,carnivore,carcinogens,capulet,captivated,capt'n,cancellations,campin,callate,callar,caffeinated,cadavers,cacophony,cackle,buzzes,buttoning,busload,burglaries,burbs,buona,bunions,bullheaded,buffs,bucyk,buckling,bruschetta,browbeating,broomsticks,broody,bromly,brolin,briefings,brewskies,breathalyzer,breakups,bratwurst,brania,braiding,brags,braggin,bradywood,bottomed,bossa,bordello,bookshelf,boogida,bondsman,bolder,boggles,bludgeoned,blowtorch,blotter,blips,blemish,bleaching,blainetologists,blading,blabbermouth,birdseed,bimmel,biloxi,biggly,bianchinni,betadine,berenson,belus,belloq,begets,befitting,beepers,beelzebub,beefed,bedridden,bedevere,beckons,beaded,baubles,bauble,battleground,bathrobes,basketballs,basements,barroom,barnacle,barkin,barked,baretta,bangles,bangler,banality,bambang,baltar,ballplayers,bagman,baffles,backroom,babysat,baboons,averse,audiotape,auctioneer,atten,atcha,astonishment,arugula,arroz,antihistamines,annoyances,anesthesiology,anatomically,anachronism,amiable,amaretto,allahu,alight,aimin,ailment,afterglow,affronte,advil,adrenals,actualization,acrost,ached,accursed,accoutrements,absconded,aboveboard,abetted,aargh,aaaahh,zuwicky,zolda,ziploc,zakamatak,youve,yippie,yesterdays,yella,yearns,yearnings,yearned,yawning,yalta,yahtzee,y'mean,y'are,wuthering,wreaks,worrisome,workiiing,wooooooo,wonky,womanizing,wolodarsky,wiwith,withdraws,wishy,wisht,wipers,wiper,winos,windthorne,windsurfing,windermere,wiggled,wiggen,whwhat,whodunit,whoaaa,whittling,whitesnake,whereof,wheezing,wheeze,whatd'ya,whataya,whammo,whackin,wellll,weightless,weevil,wedgies,webbing,weasly,wayside,waxes,waturi,washy,washrooms,wandell,waitaminute,waddya,waaaah,vornac,vishnoor,virulent,vindictiveness,vinceres,villier,vigeous,vestigial,ventilate,vented,venereal,veering,veered,veddy,vaslova,valosky,vailsburg,vaginas,vagas,urethra,upstaged,uploading,unwrapping,unwieldy,untapped,unsatisfied,unquenchable,unnerved,unmentionable,unlovable,unknowns,uninformed,unimpressed,unhappily,unguarded,unexplored,undergarment,undeniably,unclench,unclaimed,uncharacteristically,unbuttoned,unblemished,ululd,uhhhm,tweeze,tutsami,tushy,tuscarora,turkle,turghan,turbinium,tubers,trucoat,troxa,tropicana,triquetra,trimmers,triceps,trespassed,traya,traumatizing,transvestites,trainors,tradin,trackers,townies,tourelles,toucha,tossin,tortious,topshop,topes,tonics,tongs,tomsk,tomorrows,toiling,toddle,tizzy,tippers,timmi,thwap,thusly,ththe,thrusts,throwers,throwed,throughway,thickening,thermonuclear,thelwall,thataway,terrifically,tendons,teleportation,telepathically,telekinetic,teetering,teaspoons,tarantulas,tapas,tanned,tangling,tamales,tailors,tahitian,tactful,tachy,tablespoon,syrah,synchronicity,synch,synapses,swooning,switchman,swimsuits,sweltering,sweetly,suvolte,suslov,surfed,supposition,suppertime,supervillains,superfluous,superego,sunspots,sunning,sunless,sundress,suckah,succotash,sublevel,subbasement,studious,striping,strenuously,straights,stonewalled,stillness,stilettos,stevesy,steno,steenwyck,stargates,stammering,staedert,squiggly,squiggle,squashing,squaring,spreadsheet,spramp,spotters,sporto,spooking,splendido,spittin,spirulina,spiky,spate,spartacus,spacerun,soonest,something'll,someth,somepin,someone'll,sofas,soberly,sobered,snowmen,snowbank,snowballing,snivelling,sniffling,snakeskin,snagging,smush,smooter,smidgen,smackers,slumlord,slossum,slimmer,slighted,sleepwalk,sleazeball,skokie,skeptic,sitarides,sistah,sipped,sindell,simpletons,simony,silkwood,silks,silken,sightless,sideboard,shuttles,shrugging,shrouds,showy,shoveled,shouldn'ta,shoplifters,shitstorm,sheeny,shapetype,shaming,shallows,shackle,shabbily,shabbas,seppuku,senility,semite,semiautomatic,selznick,secretarial,sebacio,scuzzy,scummy,scrutinized,scrunchie,scribbled,scotches,scolded,scissor,schlub,scavenging,scarin,scarfing,scallions,scald,savour,savored,saute,sarcoidosis,sandbar,saluted,salish,saith,sailboats,sagittarius,sacre,saccharine,sacamano,rushdie,rumpled,rumba,rulebook,rubbers,roughage,rotisserie,rootie,roofy,roofie,romanticize,rittle,ristorante,rippin,rinsing,ringin,rincess,rickety,reveling,retest,retaliating,restorative,reston,restaurateur,reshoots,resetting,resentments,reprogramming,repossess,repartee,renzo,remore,remitting,remeber,relaxants,rejuvenate,rejections,regenerated,refocus,referrals,reeno,recycles,recrimination,reclining,recanting,reattach,reassigning,razgul,raved,rattlesnakes,rattles,rashly,raquetball,ransack,raisinettes,raheem,radisson,radishes,raban,quoth,qumari,quints,quilts,quilting,quien,quarreled,purty,purblind,punchbowl,publically,psychotics,psychopaths,psychoanalyze,pruning,provasik,protectin,propping,proportioned,prophylactic,proofed,prompter,procreate,proclivities,prioritizing,prinze,pricked,press'll,presets,prescribes,preocupe,prejudicial,prefex,preconceived,precipice,pralines,pragmatist,powerbar,pottie,pottersville,potsie,potholes,posses,posies,portkey,porterhouse,pornographers,poring,poppycock,poppers,pomponi,pokin,poitier,podiatry,pleeze,pleadings,playbook,platelets,plane'arium,placebos,place'll,pistachios,pirated,pinochle,pineapples,pinafore,pimples,piggly,piddling,picon,pickpockets,picchu,physiologically,physic,phobic,philandering,phenomenally,pheasants,pewter,petticoat,petronis,petitioning,perturbed,perpetuating,permutat,perishable,perimeters,perfumed,percocet,per'sus,pepperjack,penalize,pelting,pellet,peignoir,pedicures,peckers,pecans,pawning,paulsson,pattycake,patrolmen,patois,pathos,pasted,parishioner,parcheesi,parachuting,papayas,pantaloons,palpitations,palantine,paintballing,overtired,overstress,oversensitive,overnights,overexcited,overanxious,overachiever,outwitted,outvoted,outnumber,outlast,outlander,out've,orphey,orchestrating,openers,ooooooo,okies,ohhhhhhhhh,ohhhhhhhh,ogling,offbeat,obsessively,obeyed,o'hana,o'bannon,o'bannion,numpce,nummy,nuked,nuances,nourishing,nosedive,norbu,nomlies,nomine,nixed,nihilist,nightshift,newmeat,neglectful,neediness,needin,naphthalene,nanocytes,nanite,naivete,n'yeah,mystifying,myhnegon,mutating,musing,mulled,muggy,muerto,muckraker,muchachos,mountainside,motherless,mosquitos,morphed,mopped,moodoo,moncho,mollem,moisturiser,mohicans,mocks,mistresses,misspent,misinterpretation,miscarry,minuses,mindee,mimes,millisecond,milked,mightn't,mightier,mierzwiak,microchips,meyerling,mesmerizing,mershaw,meecrob,medicate,meddled,mckinnons,mcgewan,mcdunnough,mcats,mbien,matzah,matriarch,masturbated,masselin,martialed,marlboros,marksmanship,marinate,marchin,manicured,malnourished,malign,majorek,magnon,magnificently,macking,machiavellian,macdougal,macchiato,macaws,macanaw,m'self,lydells,lusts,lucite,lubricants,lopper,lopped,loneliest,lonelier,lomez,lojack,loath,liquefy,lippy,limps,likin,lightness,liesl,liebchen,licious,libris,libation,lhamo,leotards,leanin,laxatives,lavished,latka,lanyard,lanky,landmines,lameness,laddies,lacerated,labored,l'amour,kreskin,kovitch,kournikova,kootchy,konoss,knknow,knickety,knackety,kmart,klicks,kiwanis,kissable,kindergartners,kilter,kidnet,kid'll,kicky,kickbacks,kickback,kholokov,kewpie,kendo,katra,kareoke,kafelnikov,kabob,junjun,jumba,julep,jordie,jondy,jolson,jenoff,jawbone,janitorial,janiro,ipecac,invigorated,intruded,intros,intravenously,interruptus,interrogations,interject,interfacing,interestin,insuring,instilled,insensitivity,inscrutable,inroads,innards,inlaid,injector,ingratitude,infuriates,infra,infliction,indelicate,incubators,incrimination,inconveniencing,inconsolable,incestuous,incas,incarcerate,inbreeding,impudence,impressionists,impeached,impassioned,imipenem,idling,idiosyncrasies,icebergs,hypotensive,hydrochloride,hushed,humus,humph,hummm,hulking,hubcaps,hubald,howya,howbout,how'll,housebroken,hotwire,hotspots,hotheaded,horrace,hopsfield,honto,honkin,honeymoons,homewrecker,hombres,hollers,hollerin,hoedown,hoboes,hobbling,hobble,hoarse,hinky,highlighters,hexes,heru'ur,hernias,heppleman,hell're,heighten,heheheheheh,heheheh,hedging,heckling,heckled,heavyset,heatshield,heathens,heartthrob,headpiece,hayseed,haveo,hauls,hasten,harridan,harpoons,hardens,harcesis,harbouring,hangouts,halkein,haleh,halberstam,hairnet,hairdressers,hacky,haaaa,h'yah,gusta,gushy,gurgling,guilted,gruel,grudging,grrrrrr,grosses,groomsmen,griping,gravest,gratified,grated,goulash,goopy,goona,goodly,godliness,godawful,godamn,glycerin,glutes,glowy,globetrotters,glimpsed,glenville,glaucoma,girlscout,giraffes,gilbey,gigglepuss,ghora,gestating,gelato,geishas,gearshift,gayness,gasped,gaslighting,garretts,garba,gablyczyck,g'head,fumigating,fumbling,fudged,fuckwad,fuck're,fuchsia,fretting,freshest,frenchies,freezers,fredrica,fraziers,fraidy,foxholes,fourty,fossilized,forsake,forfeits,foreclosed,foreal,footsies,florists,flopped,floorshow,floorboard,flinching,flecks,flaubert,flatware,flatulence,flatlined,flashdance,flail,flagging,fiver,fitzy,fishsticks,finetti,finelli,finagle,filko,fieldstone,fibber,ferrini,feedin,feasting,favore,fathering,farrouhk,farmin,fairytale,fairservice,factoid,facedown,fabled,eyeballin,extortionist,exquisitely,expedited,exorcise,existentialist,execs,exculpatory,exacerbate,everthing,eventuality,evander,euphoric,euphemisms,estamos,erred,entitle,enquiries,enormity,enfants,endive,encyclopedias,emulating,embittered,effortless,ectopic,ecirc,easely,earphones,earmarks,dweller,durslar,durned,dunois,dunking,dunked,dumdum,dullard,dudleys,druthers,druggist,drossos,drooled,driveways,drippy,dreamless,drawstring,drang,drainpipe,dozing,dotes,dorkface,doorknobs,doohickey,donnatella,doncha,domicile,dokos,dobermans,dizzying,divola,ditsy,distaste,disservice,dislodged,dislodge,disinherit,disinformation,discounting,dinka,dimly,digesting,diello,diddling,dictatorships,dictators,diagnostician,devours,devilishly,detract,detoxing,detours,detente,destructs,desecrated,derris,deplore,deplete,demure,demolitions,demean,delish,delbruck,delaford,degaulle,deftly,deformity,deflate,definatly,defector,decrypted,decontamination,decapitate,decanter,dardis,dampener,damme,daddy'll,dabbling,dabbled,d'etre,d'argent,d'alene,d'agnasti,czechoslovakian,cymbal,cyberdyne,cutoffs,cuticle,curvaceous,curiousity,crowing,crowed,croutons,cropped,criminy,crescentis,crashers,cranwell,coverin,courtrooms,countenance,cosmically,cosign,corroboration,coroners,cornflakes,copperpot,copperhead,copacetic,coordsize,convulsing,consults,conjures,congenial,concealer,compactor,commercialism,cokey,cognizant,clunkers,clumsily,clucking,cloves,cloven,cloths,clothe,clods,clocking,clings,clavicle,classless,clashing,clanking,clanging,clamping,civvies,citywide,circulatory,circuited,chronisters,chromic,choos,chloroformed,chillun,cheesed,chatterbox,chaperoned,channukah,cerebellum,centerpieces,centerfold,ceecee,ccedil,cavorting,cavemen,cauterized,cauldwell,catting,caterine,cassiopeia,carves,cartwheel,carpeted,carob,caressing,carelessly,careening,capricious,capitalistic,capillaries,candidly,camaraderie,callously,calfskin,caddies,buttholes,busywork,busses,burps,burgomeister,bunkhouse,bungchow,bugler,buffets,buffed,brutish,brusque,bronchitis,bromden,brolly,broached,brewskis,brewin,brean,breadwinner,brana,bountiful,bouncin,bosoms,borgnine,bopping,bootlegs,booing,bombosity,bolting,boilerplate,bluey,blowback,blouses,bloodsuckers,bloodstained,bloat,bleeth,blackface,blackest,blackened,blacken,blackballed,blabs,blabbering,birdbrain,bipartisanship,biodegradable,biltmore,bilked,big'uns,bidet,besotted,bernheim,benegas,bendiga,belushi,bellboys,belittling,behinds,begone,bedsheets,beckoning,beaute,beaudine,beastly,beachfront,bathes,batak,baser,baseballs,barbella,bankrolling,bandaged,baerly,backlog,backin,babying,azkaban,awwwww,aviary,authorizes,austero,aunty,attics,atreus,astounded,astonish,artemus,arses,arintero,appraiser,apathetic,anybody'd,anxieties,anticlimactic,antar,anglos,angleman,anesthetist,androscoggin,andolini,andale,amway,amuck,amniocentesis,amnesiac,americano,amara,alvah,altruism,alternapalooza,alphabetize,alpaca,allus,allergist,alexandros,alaikum,akimbo,agoraphobia,agides,aggrhh,aftertaste,adoptions,adjuster,addictions,adamantium,activator,accomplishes,aberrant,aaaaargh,aaaaaaaaaaaaa,a'ight,zzzzzzz,zucchini,zookeeper,zirconia,zippers,zequiel,zellary,zeitgeist,zanuck,zagat,you'n,ylang,yes'm,yenta,yecchh,yecch,yawns,yankin,yahdah,yaaah,y'got,xeroxed,wwooww,wristwatch,wrangled,wouldst,worthiness,worshiping,wormy,wormtail,wormholes,woosh,wollsten,wolfing,woefully,wobbling,wintry,wingding,windstorm,windowtext,wiluna,wilting,wilted,willick,willenholly,wildflowers,wildebeest,whyyy,whoppers,whoaa,whizzing,whizz,whitest,whistled,whist,whinny,wheelies,whazzup,whatwhatwhaaat,whato,whatdya,what'dya,whacks,wewell,wetsuit,welluh,weeps,waylander,wavin,wassail,wasnt,warneford,warbucks,waltons,wallbanger,waiving,waitwait,vowing,voucher,vornoff,vorhees,voldemort,vivre,vittles,vindaloo,videogames,vichyssoise,vicarious,vesuvius,verguenza,ven't,velveteen,velour,velociraptor,vastness,vasectomies,vapors,vanderhof,valmont,validates,valiantly,vacuums,usurp,usernum,us'll,urinals,unyielding,unvarnished,unturned,untouchables,untangled,unsecured,unscramble,unreturned,unremarkable,unpretentious,unnerstand,unmade,unimpeachable,unfashionable,underwrite,underlining,underling,underestimates,underappreciated,uncouth,uncork,uncommonly,unclog,uncircumcised,unchallenged,uncas,unbuttoning,unapproved,unamerican,unafraid,umpteen,umhmm,uhwhy,ughuh,typewriters,twitches,twitched,twirly,twinkling,twinges,twiddling,turners,turnabout,tumblin,tryed,trowel,trousseau,trivialize,trifles,tribianni,trenchcoat,trembled,traumatize,transitory,transients,transfuse,transcribing,tranq,trampy,traipsed,trainin,trachea,traceable,touristy,toughie,toscanini,tortola,tortilla,torreon,toreador,tommorrow,tollbooth,tollans,toidy,togas,tofurkey,toddling,toddies,toasties,toadstool,to've,tingles,timin,timey,timetables,tightest,thuggee,thrusting,thrombus,throes,thrifty,thornharts,thinnest,thicket,thetas,thesulac,tethered,testaburger,tersenadine,terrif,terdlington,tepui,temping,tector,taxidermy,tastebuds,tartlets,tartabull,tar'd,tantamount,tangy,tangles,tamer,tabula,tabletops,tabithia,szechwan,synthedyne,svenjolly,svengali,survivalists,surmise,surfboards,surefire,suprise,supremacists,suppositories,superstore,supercilious,suntac,sunburned,summercliff,sullied,sugared,suckle,subtleties,substantiated,subsides,subliminal,subhuman,strowman,stroked,stroganoff,streetlight,straying,strainer,straighter,straightener,stoplight,stirrups,stewing,stereotyping,stepmommy,stephano,stashing,starshine,stairwells,squatsie,squandering,squalid,squabbling,squab,sprinkling,spreader,spongy,spokesmen,splintered,spittle,spitter,spiced,spews,spendin,spect,spearchucker,spatulas,southtown,soused,soshi,sorter,sorrowful,sooth,some'in,soliloquy,soiree,sodomized,sobriki,soaping,snows,snowcone,snitching,snitched,sneering,snausages,snaking,smoothed,smoochies,smarten,smallish,slushy,slurring,sluman,slithers,slippin,sleuthing,sleeveless,skinless,skillfully,sketchbook,skagnetti,sista,sinning,singularly,sinewy,silverlake,siguto,signorina,sieve,sidearms,shying,shunning,shtud,shrieks,shorting,shortbread,shopkeepers,shmancy,shizzit,shitheads,shitfaced,shipmates,shiftless,shelving,shedlow,shavings,shatters,sharifa,shampoos,shallots,shafter,sha'nauc,sextant,serviceable,sepsis,senores,sendin,semis,semanski,selflessly,seinfelds,seers,seeps,seductress,secaucus,sealant,scuttling,scusa,scrunched,scissorhands,schreber,schmancy,scamps,scalloped,savoir,savagery,sarong,sarnia,santangel,samool,sallow,salino,safecracker,sadism,sacrilegious,sabrini,sabath,s'aright,ruttheimer,rudest,rubbery,rousting,rotarian,roslin,roomed,romari,romanica,rolltop,rolfski,rockettes,roared,ringleader,riffing,ribcage,rewired,retrial,reting,resuscitated,restock,resale,reprogrammed,replicant,repentant,repellant,repays,repainting,renegotiating,rendez,remem,relived,relinquishes,relearn,relaxant,rekindling,rehydrate,refueled,refreshingly,refilling,reexamine,reeseman,redness,redeemable,redcoats,rectangles,recoup,reciprocated,reassessing,realy,realer,reachin,re'kali,rawlston,ravages,rappaports,ramoray,ramming,raindrops,rahesh,radials,racists,rabartu,quiches,quench,quarreling,quaintly,quadrants,putumayo,put'em,purifier,pureed,punitis,pullout,pukin,pudgy,puddings,puckering,pterodactyl,psychodrama,psats,protestations,protectee,prosaic,propositioned,proclivity,probed,printouts,prevision,pressers,preset,preposition,preempt,preemie,preconceptions,prancan,powerpuff,potties,potpie,poseur,porthole,poops,pooping,pomade,polyps,polymerized,politeness,polisher,polack,pocketknife,poatia,plebeian,playgroup,platonically,platitude,plastering,plasmapheresis,plaids,placemats,pizzazz,pintauro,pinstripes,pinpoints,pinkner,pincer,pimento,pileup,pilates,pigmen,pieeee,phrased,photocopies,phoebes,philistines,philanderer,pheromone,phasers,pfeffernuesse,pervs,perspire,personify,perservere,perplexed,perpetrating,perkiness,perjurer,periodontist,perfunctory,perdido,percodan,pentameter,pentacle,pensive,pensione,pennybaker,pennbrooke,penhall,pengin,penetti,penetrates,pegnoir,peeve,peephole,pectorals,peckin,peaky,peaksville,paxcow,paused,patted,parkishoff,parkers,pardoning,paraplegic,paraphrasing,paperers,papered,pangs,paneling,palooza,palmed,palmdale,palatable,pacify,pacified,owwwww,oversexed,overrides,overpaying,overdrawn,overcompensate,overcomes,overcharged,outmaneuver,outfoxed,oughtn't,ostentatious,oshun,orthopedist,or'derves,ophthalmologist,operagirl,oozes,oooooooh,onesie,omnis,omelets,oktoberfest,okeydoke,ofthe,ofher,obstetrical,obeys,obeah,o'henry,nyquil,nyanyanyanyah,nuttin,nutsy,nutball,nurhachi,numbskull,nullifies,nullification,nucking,nubbin,nourished,nonspecific,noing,noinch,nohoho,nobler,nitwits,newsprint,newspaperman,newscaster,neuropathy,netherworld,neediest,navasky,narcissists,napped,nafta,mache,mykonos,mutilating,mutherfucker,mutha,mutates,mutate,musn't,murchy,multitasking,mujeeb,mudslinging,muckraking,mousetrap,mourns,mournful,motherf,mostro,morphing,morphate,moralistic,moochy,mooching,monotonous,monopolize,monocle,molehill,moland,mofet,mockup,mobilizing,mmmmmmm,mitzvahs,mistreating,misstep,misjudge,misinformation,misdirected,miscarriages,miniskirt,mindwarped,minced,milquetoast,miguelito,mightily,midstream,midriff,mideast,microbe,methuselah,mesdames,mescal,men'll,memma,megaton,megara,megalomaniac,meeee,medulla,medivac,meaninglessness,mcnuggets,mccarthyism,maypole,may've,mauve,mateys,marshack,markles,marketable,mansiere,manservant,manse,manhandling,mallomars,malcontent,malaise,majesties,mainsail,mailmen,mahandra,magnolias,magnified,magev,maelstrom,machu,macado,m'boy,m'appelle,lustrous,lureen,lunges,lumped,lumberyard,lulled,luego,lucks,lubricated,loveseat,loused,lounger,loski,lorre,loora,looong,loonies,loincloth,lofts,lodgers,lobbing,loaner,livered,liqueur,ligourin,lifesaving,lifeguards,lifeblood,liaisons,let'em,lesbianism,lence,lemonlyman,legitimize,leadin,lazars,lazarro,lawyering,laugher,laudanum,latrines,lations,laters,lapels,lakefront,lahit,lafortunata,lachrymose,l'italien,kwaini,kruczynski,kramerica,kowtow,kovinsky,korsekov,kopek,knowakowski,knievel,knacks,kiowas,killington,kickball,keyworth,keymaster,kevie,keveral,kenyons,keggers,keepsakes,kechner,keaty,kavorka,karajan,kamerev,kaggs,jujyfruit,jostled,jonestown,jokey,joists,jocko,jimmied,jiggled,jests,jenzen,jenko,jellyman,jedediah,jealitosis,jaunty,jarmel,jankle,jagoff,jagielski,jackrabbits,jabbing,jabberjaw,izzat,irresponsibly,irrepressible,irregularity,irredeemable,inuvik,intuitions,intubated,intimates,interminable,interloper,intercostal,instyle,instigate,instantaneously,ining,ingrown,ingesting,infusing,infringe,infinitum,infact,inequities,indubitably,indisputable,indescribably,indentation,indefinable,incontrovertible,inconsequential,incompletes,incoherently,inclement,incidentals,inarticulate,inadequacies,imprudent,improprieties,imprison,imprinted,impressively,impostors,importante,imperious,impale,immodest,immobile,imbedded,imbecilic,illegals,idn't,hysteric,hypotenuse,hygienic,hyeah,hushpuppies,hunhh,humpback,humored,hummed,humiliates,humidifier,huggy,huggers,huckster,hotbed,hosing,hosers,horsehair,homebody,homebake,holing,holies,hoisting,hogwallop,hocks,hobbits,hoaxes,hmmmmm,hisses,hippest,hillbillies,hilarity,heurh,herniated,hermaphrodite,hennifer,hemlines,hemline,hemery,helplessness,helmsley,hellhound,heheheheh,heeey,hedda,heartbeats,heaped,healers,headstart,headsets,headlong,hawkland,havta,haulin,harvey'll,hanta,hansom,hangnail,handstand,handrail,handoff,hallucinogen,hallor,halitosis,haberdashery,gypped,guy'll,gumbel,guerillas,guava,guardrail,grunther,grunick,groppi,groomer,grodin,gripes,grinds,grifters,gretch,greevey,greasing,graveyards,grandkid,grainy,gouging,gooney,googly,goldmuff,goldenrod,goingo,godly,gobbledygook,gobbledegook,glues,gloriously,glengarry,glassware,glamor,gimmicks,giggly,giambetti,ghoulish,ghettos,ghali,gether,geriatrics,gerbils,geosynchronous,georgio,gente,gendarme,gelbman,gazillionth,gayest,gauging,gastro,gaslight,gasbag,garters,garish,garas,gantu,gangy,gangly,gangland,galling,gadda,furrowed,funnies,funkytown,fugimotto,fudging,fuckeen,frustrates,froufrou,froot,fromberge,frizzies,fritters,frightfully,friendliest,freeloading,freelancing,freakazoid,fraternization,framers,fornication,fornicating,forethought,footstool,foisting,focussing,focking,flurries,fluffed,flintstones,fledermaus,flayed,flawlessly,flatters,flashbang,flapped,fishies,firmer,fireproof,firebug,fingerpainting,finessed,findin,financials,finality,fillets,fiercest,fiefdom,fibbing,fervor,fentanyl,fenelon,fedorchuk,feckless,feathering,faucets,farewells,fantasyland,fanaticism,faltered,faggy,faberge,extorting,extorted,exterminating,exhumation,exhilaration,exhausts,exfoliate,excels,exasperating,exacting,everybody'd,evasions,espressos,esmail,errrr,erratically,eroding,ernswiler,epcot,enthralled,ensenada,enriching,enrage,enhancer,endear,encrusted,encino,empathic,embezzle,emanates,electricians,eking,egomaniacal,egging,effacing,ectoplasm,eavesdropped,dummkopf,dugray,duchaisne,drunkard,drudge,droop,droids,drips,dripped,dribbles,drazens,downy,downsize,downpour,dosages,doppelganger,dopes,doohicky,dontcha,doneghy,divining,divest,diuretics,diuretic,distrustful,disrupts,dismemberment,dismember,disinfect,disillusionment,disheartening,discourteous,discotheque,discolored,dirtiest,diphtheria,dinks,dimpled,didya,dickwad,diatribes,diathesis,diabetics,deviants,detonates,detests,detestable,detaining,despondent,desecration,derision,derailing,deputized,depressors,dependant,dentures,denominators,demur,demonology,delts,dellarte,delacour,deflated,defib,defaced,decorators,deaqon,davola,datin,darwinian,darklighters,dandelions,dampened,damaskinos,dalrimple,d'peshu,d'hoffryn,d'astier,cynics,cutesy,cutaway,curmudgeon,curdle,culpability,cuisinart,cuffing,crypts,cryptid,crunched,crumblers,crudely,crosscheck,croon,crissake,crevasse,creswood,creepo,creases,creased,creaky,cranks,crabgrass,coveralls,couple'a,coughs,coslaw,corporeal,cornucopia,cornering,corks,cordoned,coolly,coolin,cookbooks,contrite,contented,constrictor,confound,confit,confiscating,condoned,conditioners,concussions,comprendo,comers,combustible,combusted,collingswood,coldness,coitus,codicil,coasting,clydesdale,cluttering,clunker,clunk,clumsiness,clotted,clothesline,clinches,clincher,cleverness,clench,clein,cleanses,claymores,clammed,chugging,chronically,christsakes,choque,chompers,chiseling,chirpy,chirp,chinks,chingachgook,chickenpox,chickadee,chewin,chessboard,chargin,chanteuse,chandeliers,chamdo,chagrined,chaff,certs,certainties,cerreno,cerebrum,censured,cemetary,caterwauling,cataclysmic,casitas,cased,carvel,carting,carrear,carolling,carolers,carnie,cardiogram,carbuncle,capulets,canines,candaules,canape,caldecott,calamitous,cadillacs,cachet,cabeza,cabdriver,buzzards,butai,businesswomen,bungled,bumpkins,bummers,bulldoze,buffybot,bubut,bubbies,brrrrr,brownout,brouhaha,bronzing,bronchial,broiler,briskly,briefcases,bricked,breezing,breeher,breakable,breadstick,bravenet,braved,brandies,brainwaves,brainiest,braggart,bradlee,boys're,boys'll,boys'd,boutonniere,bossed,bosomy,borans,boosts,bookshelves,bookends,boneless,bombarding,bollo,boinked,boink,bluest,bluebells,bloodshot,blockhead,blockbusters,blithely,blather,blankly,bladders,blackbeard,bitte,bippy,biogenetics,bilge,bigglesworth,bicuspids,beususe,betaseron,besmirch,bernece,bereavement,bentonville,benchley,benching,bembe,bellyaching,bellhops,belie,beleaguered,behrle,beginnin,begining,beenie,beefs,beechwood,becau,beaverhausen,beakers,bazillion,baudouin,barrytown,barringtons,barneys,barbs,barbers,barbatus,bankrupted,bailiffs,backslide,baby'd,baaad,b'fore,awwwk,aways,awakes,automatics,authenticate,aught,aubyn,attired,attagirl,atrophied,asystole,astroturf,assertiveness,artichokes,arquillians,aright,archenemy,appraise,appeased,antin,anspaugh,anesthetics,anaphylactic,amscray,ambivalence,amalio,alriiight,alphabetized,alpena,alouette,allora,alliteration,allenwood,allegiances,algerians,alcerro,alastor,ahaha,agitators,aforethought,advertises,admonition,adirondacks,adenoids,acupuncturist,acula,actuarial,activators,actionable,achingly,accusers,acclimated,acclimate,absurdly,absorbent,absolvo,absolutes,absences,abdomenizer,aaaaaaaaah,aaaaaaaaaa,a'right".split(","),
18187male_names:"james,john,robert,michael,william,david,richard,charles,joseph,thomas,christopher,daniel,paul,mark,donald,george,kenneth,steven,edward,brian,ronald,anthony,kevin,jason,matthew,gary,timothy,jose,larry,jeffrey,frank,scott,eric,stephen,andrew,raymond,gregory,joshua,jerry,dennis,walter,patrick,peter,harold,douglas,henry,carl,arthur,ryan,roger,joe,juan,jack,albert,jonathan,justin,terry,gerald,keith,samuel,willie,ralph,lawrence,nicholas,roy,benjamin,bruce,brandon,adam,harry,fred,wayne,billy,steve,louis,jeremy,aaron,randy,eugene,carlos,russell,bobby,victor,ernest,phillip,todd,jesse,craig,alan,shawn,clarence,sean,philip,chris,johnny,earl,jimmy,antonio,danny,bryan,tony,luis,mike,stanley,leonard,nathan,dale,manuel,rodney,curtis,norman,marvin,vincent,glenn,jeffery,travis,jeff,chad,jacob,melvin,alfred,kyle,francis,bradley,jesus,herbert,frederick,ray,joel,edwin,don,eddie,ricky,troy,randall,barry,bernard,mario,leroy,francisco,marcus,micheal,theodore,clifford,miguel,oscar,jay,jim,tom,calvin,alex,jon,ronnie,bill,lloyd,tommy,leon,derek,darrell,jerome,floyd,leo,alvin,tim,wesley,dean,greg,jorge,dustin,pedro,derrick,dan,zachary,corey,herman,maurice,vernon,roberto,clyde,glen,hector,shane,ricardo,sam,rick,lester,brent,ramon,tyler,gilbert,gene,marc,reginald,ruben,brett,nathaniel,rafael,edgar,milton,raul,ben,cecil,duane,andre,elmer,brad,gabriel,ron,roland,jared,adrian,karl,cory,claude,erik,darryl,neil,christian,javier,fernando,clinton,ted,mathew,tyrone,darren,lonnie,lance,cody,julio,kurt,allan,clayton,hugh,max,dwayne,dwight,armando,felix,jimmie,everett,ian,ken,bob,jaime,casey,alfredo,alberto,dave,ivan,johnnie,sidney,byron,julian,isaac,clifton,willard,daryl,virgil,andy,salvador,kirk,sergio,seth,kent,terrance,rene,eduardo,terrence,enrique,freddie,stuart,fredrick,arturo,alejandro,joey,nick,luther,wendell,jeremiah,evan,julius,donnie,otis,trevor,luke,homer,gerard,doug,kenny,hubert,angelo,shaun,lyle,matt,alfonso,orlando,rex,carlton,ernesto,pablo,lorenzo,omar,wilbur,blake,horace,roderick,kerry,abraham,rickey,ira,andres,cesar,johnathan,malcolm,rudolph,damon,kelvin,rudy,preston,alton,archie,marco,pete,randolph,garry,geoffrey,jonathon,felipe,bennie,gerardo,dominic,loren,delbert,colin,guillermo,earnest,benny,noel,rodolfo,myron,edmund,salvatore,cedric,lowell,gregg,sherman,devin,sylvester,roosevelt,israel,jermaine,forrest,wilbert,leland,simon,irving,owen,rufus,woodrow,sammy,kristopher,levi,marcos,gustavo,jake,lionel,marty,gilberto,clint,nicolas,laurence,ismael,orville,drew,ervin,dewey,wilfred,josh,hugo,ignacio,caleb,tomas,sheldon,erick,frankie,darrel,rogelio,terence,alonzo,elias,bert,elbert,ramiro,conrad,noah,grady,phil,cornelius,lamar,rolando,clay,percy,bradford,merle,darin,amos,terrell,moses,irvin,saul,roman,darnell,randal,tommie,timmy,darrin,brendan,toby,van,abel,dominick,emilio,elijah,cary,domingo,aubrey,emmett,marlon,emanuel,jerald,edmond,emil,dewayne,otto,teddy,reynaldo,bret,jess,trent,humberto,emmanuel,stephan,louie,vicente,lamont,garland,micah,efrain,heath,rodger,demetrius,ethan,eldon,rocky,pierre,eli,bryce,antoine,robbie,kendall,royce,sterling,grover,elton,cleveland,dylan,chuck,damian,reuben,stan,leonardo,russel,erwin,benito,hans,monte,blaine,ernie,curt,quentin,agustin,jamal,devon,adolfo,tyson,wilfredo,bart,jarrod,vance,denis,damien,joaquin,harlan,desmond,elliot,darwin,gregorio,kermit,roscoe,esteban,anton,solomon,norbert,elvin,nolan,carey,rod,quinton,hal,brain,rob,elwood,kendrick,darius,moises,marlin,fidel,thaddeus,cliff,marcel,ali,raphael,bryon,armand,alvaro,jeffry,dane,joesph,thurman,ned,sammie,rusty,michel,monty,rory,fabian,reggie,kris,isaiah,gus,avery,loyd,diego,adolph,millard,rocco,gonzalo,derick,rodrigo,gerry,rigoberto,alphonso,rickie,noe,vern,elvis,bernardo,mauricio,hiram,donovan,basil,nickolas,scot,vince,quincy,eddy,sebastian,federico,ulysses,heriberto,donnell,denny,gavin,emery,romeo,jayson,dion,dante,clement,coy,odell,jarvis,bruno,issac,dudley,sanford,colby,carmelo,nestor,hollis,stefan,donny,linwood,beau,weldon,galen,isidro,truman,delmar,johnathon,silas,frederic,irwin,merrill,charley,marcelino,carlo,trenton,kurtis,aurelio,winfred,vito,collin,denver,leonel,emory,pasquale,mohammad,mariano,danial,landon,dirk,branden,adan,numbers,clair,buford,bernie,wilmer,emerson,zachery,jacques,errol,josue,edwardo,wilford,theron,raymundo,daren,tristan,robby,lincoln,jame,genaro,octavio,cornell,hung,arron,antony,herschel,alva,giovanni,garth,cyrus,cyril,ronny,stevie,lon,kennith,carmine,augustine,erich,chadwick,wilburn,russ,myles,jonas,mitchel,mervin,zane,jamel,lazaro,alphonse,randell,johnie,jarrett,ariel,abdul,dusty,luciano,seymour,scottie,eugenio,mohammed,arnulfo,lucien,ferdinand,thad,ezra,aldo,rubin,mitch,earle,abe,marquis,lanny,kareem,jamar,boris,isiah,emile,elmo,aron,leopoldo,everette,josef,eloy,dorian,rodrick,reinaldo,lucio,jerrod,weston,hershel,lemuel,lavern,burt,jules,gil,eliseo,ahmad,nigel,efren,antwan,alden,margarito,refugio,dino,osvaldo,les,deandre,normand,kieth,ivory,trey,norberto,napoleon,jerold,fritz,rosendo,milford,sang,deon,christoper,alfonzo,lyman,josiah,brant,wilton,rico,jamaal,dewitt,brenton,yong,olin,faustino,claudio,judson,gino,edgardo,alec,jarred,donn,trinidad,tad,porfirio,odis,lenard,chauncey,tod,mel,marcelo,kory,augustus,keven,hilario,bud,sal,orval,mauro,dannie,zachariah,olen,anibal,milo,jed,thanh,amado,lenny,tory,richie,horacio,brice,mohamed,delmer,dario,mac,jonah,jerrold,robt,hank,sung,rupert,rolland,kenton,damion,chi,antone,waldo,fredric,bradly,kip,burl,tyree,jefferey,ahmed,willy,stanford,oren,moshe,mikel,enoch,brendon,quintin,jamison,florencio,darrick,tobias,minh,hassan,giuseppe,demarcus,cletus,tyrell,lyndon,keenan,werner,theo,geraldo,columbus,chet,bertram,markus,huey,hilton,dwain,donte,tyron,omer,isaias,hipolito,fermin,chung,adalberto,jamey,teodoro,mckinley,maximo,raleigh,lawerence,abram,rashad,emmitt,daron,chong,samual,otha,miquel,eusebio,dong,domenic,darron,wilber,renato,hoyt,haywood,ezekiel,chas,florentino,elroy,clemente,arden,neville,edison,deshawn,carrol,shayne,nathanial,jordon,danilo,claud,sherwood,raymon,rayford,cristobal,ambrose,titus,hyman,felton,ezequiel,erasmo,lonny,milan,lino,jarod,herb,andreas,rhett,jude,douglass,cordell,oswaldo,ellsworth,virgilio,toney,nathanael,benedict,mose,hong,isreal,garret,fausto,arlen,zack,modesto,francesco,manual,gaylord,gaston,filiberto,deangelo,michale,granville,malik,zackary,tuan,nicky,cristopher,antione,malcom,korey,jospeh,colton,waylon,hosea,shad,santo,rudolf,rolf,renaldo,marcellus,lucius,kristofer,harland,arnoldo,rueben,leandro,kraig,jerrell,jeromy,hobert,cedrick,arlie,winford,wally,luigi,keneth,jacinto,graig,franklyn,edmundo,leif,jeramy,willian,vincenzo,shon,michal,lynwood,jere,elden,darell,broderick,alonso".split(",")},module.exports=frequency_lists;
18188
18189},{}],4:[function(require,module,exports){
18190var feedback,matching,scoring,time,time_estimates,zxcvbn;matching=require("./matching"),scoring=require("./scoring"),time_estimates=require("./time_estimates"),feedback=require("./feedback"),time=function(){return(new Date).getTime()},zxcvbn=function(e,t){var i,n,c,s,a,r,m,o,u,g,_;for(null==t&&(t=[]),g=time(),u=[],c=0,s=t.length;c<s;c++)i=t[c],"string"!=(m=typeof i)&&"number"!==m&&"boolean"!==m||u.push(i.toString().toLowerCase());matching.set_user_input_dictionary(u),a=matching.omnimatch(e),o=scoring.most_guessable_match_sequence(e,a),o.calc_time=time()-g,n=time_estimates.estimate_attack_times(o.guesses);for(r in n)_=n[r],o[r]=_;return o.feedback=feedback.get_feedback(o.score,o.sequence),o},module.exports=zxcvbn;
18191
18192},{"./feedback":2,"./matching":5,"./scoring":6,"./time_estimates":7}],5:[function(require,module,exports){
18193var DATE_MAX_YEAR,DATE_MIN_YEAR,DATE_SPLITS,GRAPHS,L33T_TABLE,RANKED_DICTIONARIES,REGEXEN,adjacency_graphs,build_ranked_dict,frequency_lists,lst,matching,name,scoring;frequency_lists=require("./frequency_lists"),adjacency_graphs=require("./adjacency_graphs"),scoring=require("./scoring"),build_ranked_dict=function(e){var t,n,r,i,a;for(i={},t=1,r=0,n=e.length;r<n;r++)a=e[r],i[a]=t,t+=1;return i},RANKED_DICTIONARIES={};for(name in frequency_lists)lst=frequency_lists[name],RANKED_DICTIONARIES[name]=build_ranked_dict(lst);GRAPHS={qwerty:adjacency_graphs.qwerty,dvorak:adjacency_graphs.dvorak,keypad:adjacency_graphs.keypad,mac_keypad:adjacency_graphs.mac_keypad},L33T_TABLE={a:["4","@"],b:["8"],c:["(","{","[","<"],e:["3"],g:["6","9"],i:["1","!","|"],l:["1","|","7"],o:["0"],s:["$","5"],t:["+","7"],x:["%"],z:["2"]},REGEXEN={recent_year:/19\d\d|200\d|201\d/g},DATE_MAX_YEAR=2050,DATE_MIN_YEAR=1e3,DATE_SPLITS={4:[[1,2],[2,3]],5:[[1,3],[2,3]],6:[[1,2],[2,4],[4,5]],7:[[1,3],[2,3],[4,5],[4,6]],8:[[2,4],[4,6]]},matching={empty:function(e){var t;return 0===function(){var n;n=[];for(t in e)n.push(t);return n}().length},extend:function(e,t){return e.push.apply(e,t)},translate:function(e,t){var n;return function(){var r,i,a,s;for(a=e.split(""),s=[],i=0,r=a.length;i<r;i++)n=a[i],s.push(t[n]||n);return s}().join("")},mod:function(e,t){return(e%t+t)%t},sorted:function(e){return e.sort(function(e,t){return e.i-t.i||e.j-t.j})},omnimatch:function(e){var t,n,r,i,a;for(i=[],r=[this.dictionary_match,this.reverse_dictionary_match,this.l33t_match,this.spatial_match,this.repeat_match,this.sequence_match,this.regex_match,this.date_match],a=0,t=r.length;a<t;a++)n=r[a],this.extend(i,n.call(this,e));return this.sorted(i)},dictionary_match:function(e,t){var n,r,i,a,s,o,h,u,c,l,_,f,d,p;null==t&&(t=RANKED_DICTIONARIES),s=[],a=e.length,u=e.toLowerCase();for(n in t)for(l=t[n],r=o=0,_=a;0<=_?o<_:o>_;r=0<=_?++o:--o)for(i=h=f=r,d=a;f<=d?h<d:h>d;i=f<=d?++h:--h)u.slice(r,+i+1||9e9)in l&&(p=u.slice(r,+i+1||9e9),c=l[p],s.push({pattern:"dictionary",i:r,j:i,token:e.slice(r,+i+1||9e9),matched_word:p,rank:c,dictionary_name:n,reversed:!1,l33t:!1}));return this.sorted(s)},reverse_dictionary_match:function(e,t){var n,r,i,a,s,o;for(null==t&&(t=RANKED_DICTIONARIES),o=e.split("").reverse().join(""),i=this.dictionary_match(o,t),a=0,n=i.length;a<n;a++)r=i[a],r.token=r.token.split("").reverse().join(""),r.reversed=!0,s=[e.length-1-r.j,e.length-1-r.i],r.i=s[0],r.j=s[1];return this.sorted(i)},set_user_input_dictionary:function(e){return RANKED_DICTIONARIES.user_inputs=build_ranked_dict(e.slice())},relevant_l33t_subtable:function(e,t){var n,r,i,a,s,o,h,u,c,l;for(s={},o=e.split(""),a=0,r=o.length;a<r;a++)n=o[a],s[n]=!0;l={};for(i in t)c=t[i],h=function(){var e,t,n;for(n=[],t=0,e=c.length;t<e;t++)u=c[t],u in s&&n.push(u);return n}(),h.length>0&&(l[i]=h);return l},enumerate_l33t_subs:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p;a=function(){var t;t=[];for(i in e)t.push(i);return t}(),p=[[]],n=function(e){var t,n,r,a,s,o,h,u;for(n=[],s={},o=0,a=e.length;o<a;o++)h=e[o],t=function(){var e,t,n;for(n=[],u=t=0,e=h.length;t<e;u=++t)i=h[u],n.push([i,u]);return n}(),t.sort(),r=function(){var e,n,r;for(r=[],u=n=0,e=t.length;n<e;u=++n)i=t[u],r.push(i+","+u);return r}().join("-"),r in s||(s[r]=!0,n.push(h));return n},r=function(t){var i,a,s,o,h,u,c,l,_,f,d,g,m,A,E,y;if(t.length){for(a=t[0],m=t.slice(1),c=[],d=e[a],l=0,h=d.length;l<h;l++)for(o=d[l],_=0,u=p.length;_<u;_++){for(A=p[_],i=-1,s=f=0,g=A.length;0<=g?f<g:f>g;s=0<=g?++f:--f)if(A[s][0]===o){i=s;break}i===-1?(y=A.concat([[o,a]]),c.push(y)):(E=A.slice(0),E.splice(i,1),E.push([o,a]),c.push(A),c.push(E))}return p=n(c),r(m)}},r(a),d=[];for(u=0,o=p.length;u<o;u++){for(_=p[u],f={},c=0,h=_.length;c<h;c++)l=_[c],s=l[0],t=l[1],f[s]=t;d.push(f)}return d},l33t_match:function(e,t,n){var r,i,a,s,o,h,u,c,l,_,f,d,p,g,m,A;for(null==t&&(t=RANKED_DICTIONARIES),null==n&&(n=L33T_TABLE),u=[],_=this.enumerate_l33t_subs(this.relevant_l33t_subtable(e,n)),c=0,a=_.length;c<a&&(d=_[c],!this.empty(d));c++)for(g=this.translate(e,d),f=this.dictionary_match(g,t),l=0,s=f.length;l<s;l++)if(o=f[l],m=e.slice(o.i,+o.j+1||9e9),m.toLowerCase()!==o.matched_word){h={};for(p in d)r=d[p],m.indexOf(p)!==-1&&(h[p]=r);o.l33t=!0,o.token=m,o.sub=h,o.sub_display=function(){var e;e=[];for(i in h)A=h[i],e.push(i+" -> "+A);return e}().join(", "),u.push(o)}return this.sorted(u.filter(function(e){return e.token.length>1}))},spatial_match:function(e,t){var n,r,i;null==t&&(t=GRAPHS),i=[];for(r in t)n=t[r],this.extend(i,this.spatial_match_helper(e,n,r));return this.sorted(i)},SHIFTED_RX:/[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]/,spatial_match_helper:function(e,t,n){var r,i,a,s,o,h,u,c,l,_,f,d,p,g,m;for(f=[],u=0;u<e.length-1;)for(c=u+1,l=null,m=0,g="qwerty"!==n&&"dvorak"!==n||!this.SHIFTED_RX.exec(e.charAt(u))?0:1;;){if(p=e.charAt(c-1),o=!1,h=-1,s=-1,i=t[p]||[],c<e.length)for(a=e.charAt(c),d=0,_=i.length;d<_;d++)if(r=i[d],s+=1,r&&r.indexOf(a)!==-1){o=!0,h=s,1===r.indexOf(a)&&(g+=1),l!==h&&(m+=1,l=h);break}if(!o){c-u>2&&f.push({pattern:"spatial",i:u,j:c-1,token:e.slice(u,c),graph:n,turns:m,shifted_count:g}),u=c;break}c+=1}return f},repeat_match:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p;for(d=[],a=/(.+)\1+/g,c=/(.+?)\1+/g,l=/^(.+?)\1+$/,u=0;u<e.length&&(a.lastIndex=c.lastIndex=u,s=a.exec(e),_=c.exec(e),null!=s);)s[0].length>_[0].length?(f=s,i=l.exec(f[0])[1]):(f=_,i=f[1]),p=[f.index,f.index+f[0].length-1],o=p[0],h=p[1],t=scoring.most_guessable_match_sequence(i,this.omnimatch(i)),r=t.sequence,n=t.guesses,d.push({pattern:"repeat",i:o,j:h,token:f[0],base_token:i,base_guesses:n,base_matches:r,repeat_count:f[0].length/i.length}),u=h+1;return d},MAX_DELTA:5,sequence_match:function(e){var t,n,r,i,a,s,o,h,u;if(1===e.length)return[];for(u=function(t){return function(n,r,i){var a,s,o,u;if((r-n>1||1===Math.abs(i))&&0<(a=Math.abs(i))&&a<=t.MAX_DELTA)return u=e.slice(n,+r+1||9e9),/^[a-z]+$/.test(u)?(s="lower",o=26):/^[A-Z]+$/.test(u)?(s="upper",o=26):/^\d+$/.test(u)?(s="digits",o=10):(s="unicode",o=26),h.push({pattern:"sequence",i:n,j:r,token:e.slice(n,+r+1||9e9),sequence_name:s,sequence_space:o,ascending:i>0})}}(this),h=[],n=0,a=null,i=s=1,o=e.length;1<=o?s<o:s>o;i=1<=o?++s:--s)t=e.charCodeAt(i)-e.charCodeAt(i-1),null==a&&(a=t),t!==a&&(r=i-1,u(n,r,a),n=r,a=t);return u(n,e.length-1,a),h},regex_match:function(e,t){var n,r,i,a;null==t&&(t=REGEXEN),n=[];for(name in t)for(r=t[name],r.lastIndex=0;i=r.exec(e);)a=i[0],n.push({pattern:"regex",token:a,i:i.index,j:i.index+i[0].length-1,regex_name:name,regex_match:i});return this.sorted(n)},date_match:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p,g,m,A,E,y,v,I,R,T,D,k,x,j,b,N,S,q,L,M;for(_=[],f=/^\d{4,8}$/,d=/^(\d{1,4})([\s\/\\_.-])(\d{1,2})\2(\d{1,4})$/,s=m=0,v=e.length-4;0<=v?m<=v:m>=v;s=0<=v?++m:--m)for(o=A=I=s+3,R=s+7;(I<=R?A<=R:A>=R)&&!(o>=e.length);o=I<=R?++A:--A)if(M=e.slice(s,+o+1||9e9),f.exec(M)){for(r=[],T=DATE_SPLITS[M.length],E=0,c=T.length;E<c;E++)D=T[E],h=D[0],u=D[1],a=this.map_ints_to_dmy([parseInt(M.slice(0,h)),parseInt(M.slice(h,u)),parseInt(M.slice(u))]),null!=a&&r.push(a);if(r.length>0){for(t=r[0],p=function(e){return Math.abs(e.year-scoring.REFERENCE_YEAR)},g=p(r[0]),k=r.slice(1),y=0,l=k.length;y<l;y++)n=k[y],i=p(n),i<g&&(x=[n,i],t=x[0],g=x[1]);_.push({pattern:"date",token:M,i:s,j:o,separator:"",year:t.year,month:t.month,day:t.day})}}for(s=q=0,j=e.length-6;0<=j?q<=j:q>=j;s=0<=j?++q:--q)for(o=L=b=s+5,N=s+9;(b<=N?L<=N:L>=N)&&!(o>=e.length);o=b<=N?++L:--L)M=e.slice(s,+o+1||9e9),S=d.exec(M),null!=S&&(a=this.map_ints_to_dmy([parseInt(S[1]),parseInt(S[3]),parseInt(S[4])]),null!=a&&_.push({pattern:"date",token:M,i:s,j:o,separator:S[2],year:a.year,month:a.month,day:a.day}));return this.sorted(_.filter(function(e){var t,n,r,i;for(t=!1,i=0,n=_.length;i<n;i++)if(r=_[i],e!==r&&r.i<=e.i&&r.j>=e.j){t=!0;break}return!t}))},map_ints_to_dmy:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p,g;if(!(e[1]>31||e[1]<=0)){for(o=0,h=0,p=0,s=0,r=e.length;s<r;s++){if(n=e[s],99<n&&n<DATE_MIN_YEAR||n>DATE_MAX_YEAR)return;n>31&&(h+=1),n>12&&(o+=1),n<=0&&(p+=1)}if(!(h>=2||3===o||p>=2)){for(c=[[e[2],e.slice(0,2)],[e[0],e.slice(1,3)]],u=0,i=c.length;u<i;u++)if(_=c[u],g=_[0],d=_[1],DATE_MIN_YEAR<=g&&g<=DATE_MAX_YEAR)return t=this.map_ints_to_dm(d),null!=t?{year:g,month:t.month,day:t.day}:void 0;for(l=0,a=c.length;l<a;l++)if(f=c[l],g=f[0],d=f[1],t=this.map_ints_to_dm(d),null!=t)return g=this.two_to_four_digit_year(g),{year:g,month:t.month,day:t.day}}}},map_ints_to_dm:function(e){var t,n,r,i,a,s;for(a=[e,e.slice().reverse()],i=0,n=a.length;i<n;i++)if(s=a[i],t=s[0],r=s[1],1<=t&&t<=31&&1<=r&&r<=12)return{day:t,month:r}},two_to_four_digit_year:function(e){return e>99?e:e>50?e+1900:e+2e3}},module.exports=matching;
18194
18195},{"./adjacency_graphs":1,"./frequency_lists":3,"./scoring":6}],6:[function(require,module,exports){
18196var BRUTEFORCE_CARDINALITY,MIN_GUESSES_BEFORE_GROWING_SEQUENCE,MIN_SUBMATCH_GUESSES_MULTI_CHAR,MIN_SUBMATCH_GUESSES_SINGLE_CHAR,adjacency_graphs,calc_average_degree,k,scoring,v;adjacency_graphs=require("./adjacency_graphs"),calc_average_degree=function(e){var t,r,n,s,a,u;t=0;for(n in e)a=e[n],t+=function(){var e,t,r;for(r=[],t=0,e=a.length;t<e;t++)s=a[t],s&&r.push(s);return r}().length;return t/=function(){var t;t=[];for(r in e)u=e[r],t.push(r);return t}().length},BRUTEFORCE_CARDINALITY=10,MIN_GUESSES_BEFORE_GROWING_SEQUENCE=1e4,MIN_SUBMATCH_GUESSES_SINGLE_CHAR=10,MIN_SUBMATCH_GUESSES_MULTI_CHAR=50,scoring={nCk:function(e,t){var r,n,s,a;if(t>e)return 0;if(0===t)return 1;for(s=1,r=n=1,a=t;1<=a?n<=a:n>=a;r=1<=a?++n:--n)s*=e,s/=r,e-=1;return s},log10:function(e){return Math.log(e)/Math.log(10)},log2:function(e){return Math.log(e)/Math.log(2)},factorial:function(e){var t,r,n,s;if(e<2)return 1;for(t=1,r=n=2,s=e;2<=s?n<=s:n>=s;r=2<=s?++n:--n)t*=r;return t},most_guessable_match_sequence:function(e,t,r){var n,s,a,u,i,_,o,h,E,c,g,f,l,p,A,S,R,v,I,M,N,C,U,T;for(null==r&&(r=!1),l=e.length,f=function(){var e,t,r;for(r=[],n=e=0,t=l;0<=t?e<t:e>t;n=0<=t?++e:--e)r.push([]);return r}(),p=0,_=t.length;p<_;p++)c=t[p],f[c.j].push(c);for(v=0,o=f.length;v<o;v++)E=f[v],E.sort(function(e,t){return e.i-t.i});for(A={m:function(){var e,t,r;for(t=[],n=r=0,e=l;0<=e?r<e:r>e;n=0<=e?++r:--r)t.push({});return t}(),pi:function(){var e,t,r;for(t=[],n=r=0,e=l;0<=e?r<e:r>e;n=0<=e?++r:--r)t.push({});return t}(),g:function(){var e,t,r;for(t=[],n=r=0,e=l;0<=e?r<e:r>e;n=0<=e?++r:--r)t.push({});return t}()},U=function(t){return function(n,s){var a,u,i,_,o,h;_=n.j,o=t.estimate_guesses(n,e),s>1&&(o*=A.pi[n.i-1][s-1]),i=t.factorial(s)*o,r||(i+=Math.pow(MIN_GUESSES_BEFORE_GROWING_SEQUENCE,s-1)),h=A.g[_];for(u in h)if(a=h[u],!(u>s)&&a<=i)return;return A.g[_][s]=i,A.m[_][s]=n,A.pi[_][s]=o}}(this),s=function(e){return function(e){var t,r,n,s,a,u;for(c=g(0,e),U(c,1),a=[],t=u=1,s=e;1<=s?u<=s:u>=s;t=1<=s?++u:--u)c=g(t,e),a.push(function(){var e,s;e=A.m[t-1],s=[];for(r in e)n=e[r],r=parseInt(r),"bruteforce"!==n.pattern&&s.push(U(c,r+1));return s}());return a}}(this),g=function(t){return function(t,r){return{pattern:"bruteforce",token:e.slice(t,+r+1||9e9),i:t,j:r}}}(this),C=function(e){return function(e){var t,r,n,s,a,u,i;u=[],s=e-1,a=void 0,n=1/0,i=A.g[s];for(r in i)t=i[r],t<n&&(a=r,n=t);for(;s>=0;)c=A.m[s][a],u.unshift(c),s=c.i-1,a--;return u}}(this),u=N=0,I=l;0<=I?N<I:N>I;u=0<=I?++N:--N){for(M=f[u],T=0,h=M.length;T<h;T++)if(c=M[T],c.i>0)for(i in A.m[c.i-1])i=parseInt(i),U(c,i+1);else U(c,1);s(u)}return R=C(l),S=R.length,a=0===e.length?1:A.g[l-1][S],{password:e,guesses:a,guesses_log10:this.log10(a),sequence:R}},estimate_guesses:function(e,t){var r,n,s;return null!=e.guesses?e.guesses:(s=1,e.token.length<t.length&&(s=1===e.token.length?MIN_SUBMATCH_GUESSES_SINGLE_CHAR:MIN_SUBMATCH_GUESSES_MULTI_CHAR),r={bruteforce:this.bruteforce_guesses,dictionary:this.dictionary_guesses,spatial:this.spatial_guesses,repeat:this.repeat_guesses,sequence:this.sequence_guesses,regex:this.regex_guesses,date:this.date_guesses},n=r[e.pattern].call(this,e),e.guesses=Math.max(n,s),e.guesses_log10=this.log10(e.guesses),e.guesses)},bruteforce_guesses:function(e){var t,r;return t=Math.pow(BRUTEFORCE_CARDINALITY,e.token.length),r=1===e.token.length?MIN_SUBMATCH_GUESSES_SINGLE_CHAR+1:MIN_SUBMATCH_GUESSES_MULTI_CHAR+1,Math.max(t,r)},repeat_guesses:function(e){return e.base_guesses*e.repeat_count},sequence_guesses:function(e){var t,r;return r=e.token.charAt(0),t="a"===r||"A"===r||"z"===r||"Z"===r||"0"===r||"1"===r||"9"===r?4:r.match(/\d/)?10:26,e.ascending||(t*=2),t*e.token.length},MIN_YEAR_SPACE:20,REFERENCE_YEAR:2016,regex_guesses:function(e){var t,r;if(t={alpha_lower:26,alpha_upper:26,alpha:52,alphanumeric:62,digits:10,symbols:33},e.regex_name in t)return Math.pow(t[e.regex_name],e.token.length);switch(e.regex_name){case"recent_year":return r=Math.abs(parseInt(e.regex_match[0])-this.REFERENCE_YEAR),r=Math.max(r,this.MIN_YEAR_SPACE)}},date_guesses:function(e){var t,r;return r=Math.max(Math.abs(e.year-this.REFERENCE_YEAR),this.MIN_YEAR_SPACE),t=365*r,e.separator&&(t*=4),t},KEYBOARD_AVERAGE_DEGREE:calc_average_degree(adjacency_graphs.qwerty),KEYPAD_AVERAGE_DEGREE:calc_average_degree(adjacency_graphs.keypad),KEYBOARD_STARTING_POSITIONS:function(){var e,t;e=adjacency_graphs.qwerty,t=[];for(k in e)v=e[k],t.push(k);return t}().length,KEYPAD_STARTING_POSITIONS:function(){var e,t;e=adjacency_graphs.keypad,t=[];for(k in e)v=e[k],t.push(k);return t}().length,spatial_guesses:function(e){var t,r,n,s,a,u,i,_,o,h,E,c,g,f,l,p,A,S;for("qwerty"===(E=e.graph)||"dvorak"===E?(l=this.KEYBOARD_STARTING_POSITIONS,s=this.KEYBOARD_AVERAGE_DEGREE):(l=this.KEYPAD_STARTING_POSITIONS,s=this.KEYPAD_AVERAGE_DEGREE),a=0,t=e.token.length,A=e.turns,u=_=2,c=t;2<=c?_<=c:_>=c;u=2<=c?++_:--_)for(o=Math.min(A,u-1),i=h=1,g=o;1<=g?h<=g:h>=g;i=1<=g?++h:--h)a+=this.nCk(u-1,i-1)*l*Math.pow(s,i);if(e.shifted_count)if(r=e.shifted_count,n=e.token.length-e.shifted_count,0===r||0===n)a*=2;else{for(p=0,u=S=1,f=Math.min(r,n);1<=f?S<=f:S>=f;u=1<=f?++S:--S)p+=this.nCk(r+n,u);a*=p}return a},dictionary_guesses:function(e){var t;return e.base_guesses=e.rank,e.uppercase_variations=this.uppercase_variations(e),e.l33t_variations=this.l33t_variations(e),t=e.reversed&&2||1,e.base_guesses*e.uppercase_variations*e.l33t_variations*t},START_UPPER:/^[A-Z][^A-Z]+$/,END_UPPER:/^[^A-Z]+[A-Z]$/,ALL_UPPER:/^[^a-z]+$/,ALL_LOWER:/^[^A-Z]+$/,uppercase_variations:function(e){var t,r,n,s,a,u,i,_,o,h,E,c;if(c=e.token,c.match(this.ALL_LOWER)||c.toLowerCase()===c)return 1;for(_=[this.START_UPPER,this.END_UPPER,this.ALL_UPPER],u=0,a=_.length;u<a;u++)if(h=_[u],c.match(h))return 2;for(r=function(){var e,t,r,s;for(r=c.split(""),s=[],t=0,e=r.length;t<e;t++)n=r[t],n.match(/[A-Z]/)&&s.push(n);return s}().length,t=function(){var e,t,r,s;for(r=c.split(""),s=[],t=0,e=r.length;t<e;t++)n=r[t],n.match(/[a-z]/)&&s.push(n);return s}().length,E=0,s=i=1,o=Math.min(r,t);1<=o?i<=o:i>=o;s=1<=o?++i:--i)E+=this.nCk(r+t,s);return E},l33t_variations:function(e){var t,r,n,s,a,u,i,_,o,h,E,c,g;if(!e.l33t)return 1;g=1,o=e.sub;for(E in o)if(c=o[E],s=e.token.toLowerCase().split(""),t=function(){var e,t,r;for(r=[],t=0,e=s.length;t<e;t++)n=s[t],n===E&&r.push(n);return r}().length,r=function(){var e,t,r;for(r=[],t=0,e=s.length;t<e;t++)n=s[t],n===c&&r.push(n);return r}().length,0===t||0===r)g*=2;else{for(i=Math.min(r,t),_=0,a=u=1,h=i;1<=h?u<=h:u>=h;a=1<=h?++u:--u)_+=this.nCk(r+t,a);g*=_}return g}},module.exports=scoring;
18197
18198},{"./adjacency_graphs":1}],7:[function(require,module,exports){
18199var time_estimates;time_estimates={estimate_attack_times:function(e){var t,n,s,o;n={online_throttling_100_per_hour:e/(100/3600),online_no_throttling_10_per_second:e/10,offline_slow_hashing_1e4_per_second:e/1e4,offline_fast_hashing_1e10_per_second:e/1e10},t={};for(s in n)o=n[s],t[s]=this.display_time(o);return{crack_times_seconds:n,crack_times_display:t,score:this.guesses_to_score(e)}},guesses_to_score:function(e){var t;return t=5,e<1e3+t?0:e<1e6+t?1:e<1e8+t?2:e<1e10+t?3:4},display_time:function(e){var t,n,s,o,_,r,i,a,u,c;return i=60,r=60*i,s=24*r,a=31*s,c=12*a,n=100*c,u=e<1?[null,"less than a second"]:e<i?(t=Math.round(e),[t,t+" second"]):e<r?(t=Math.round(e/i),[t,t+" minute"]):e<s?(t=Math.round(e/r),[t,t+" hour"]):e<a?(t=Math.round(e/s),[t,t+" day"]):e<c?(t=Math.round(e/a),[t,t+" month"]):e<n?(t=Math.round(e/c),[t,t+" year"]):[null,"centuries"],o=u[0],_=u[1],null!=o&&1!==o&&(_+="s"),_}},module.exports=time_estimates;
18200
18201},{}]},{},[4])(4)
18202});
18203//# sourceMappingURL=zxcvbn.js.map
18204</script>
18205 <script>/*
18206 * Detects entropy from a string.
18207 *
18208 * Formats include:
18209 * binary [0-1]
18210 * base 6 [0-5]
18211 * dice 6 [1-6]
18212 * decimal [0-9]
18213 * hexadecimal [0-9A-F]
9e97eb76 18214 * card [A2-9TJQK][CDHS]
95f04905
IC
18215 *
18216 * Automatically uses lowest entropy to avoid issues such as interpretting 0101
18217 * as hexadecimal which would be 16 bits when really it's only 4 bits of binary
18218 * entropy.
18219 */
18220
18221window.Entropy = new (function() {
18222
78b8d604
IC
18223 var TWO = new BigInteger(2);
18224
95f04905
IC
18225 // matchers returns an array of the matched events for each type of entropy.
18226 // eg
18227 // matchers.binary("010") returns ["0", "1", "0"]
18228 // matchers.binary("a10") returns ["1", "0"]
18229 // matchers.hex("a10") returns ["a", "1", "0"]
18230 var matchers = {
18231 binary: function(str) {
18232 return str.match(/[0-1]/gi) || [];
18233 },
18234 base6: function(str) {
18235 return str.match(/[0-5]/gi) || [];
18236 },
18237 dice: function(str) {
18238 return str.match(/[1-6]/gi) || []; // ie dice numbers
18239 },
18240 base10: function(str) {
18241 return str.match(/[0-9]/gi) || [];
18242 },
18243 hex: function(str) {
18244 return str.match(/[0-9A-F]/gi) || [];
18245 },
18246 card: function(str) {
18247 // Format is NumberSuit, eg
18248 // AH ace of hearts
18249 // 8C eight of clubs
18250 // TD ten of diamonds
18251 // JS jack of spades
18252 // QH queen of hearts
18253 // KC king of clubs
18254 return str.match(/([A2-9TJQK][CDHS])/gi) || [];
18255 }
18256 }
18257
18258 // Convert array of cards from ["ac", "4d", "ks"]
18259 // to numbers between 0 and 51 [0, 16, 51]
18260 function convertCardsToInts(cards) {
18261 var ints = [];
18262 var values = "a23456789tjqk";
18263 var suits = "cdhs";
18264 for (var i=0; i<cards.length; i++) {
18265 var card = cards[i].toLowerCase();
18266 var value = card[0];
18267 var suit = card[1];
18268 var asInt = 13 * suits.indexOf(suit) + values.indexOf(value);
18269 ints.push(asInt);
18270 }
18271 return ints;
18272 }
18273
18274 this.fromString = function(rawEntropyStr) {
18275 // Find type of entropy being used (binary, hex, dice etc)
18276 var base = getBase(rawEntropyStr);
18277 // Convert dice to base6 entropy (ie 1-6 to 0-5)
18278 // This is done by changing all 6s to 0s
18279 if (base.str == "dice") {
18280 var newParts = [];
18281 var newInts = [];
18282 for (var i=0; i<base.parts.length; i++) {
18283 var c = base.parts[i];
18284 if ("12345".indexOf(c) > -1) {
18285 newParts[i] = base.parts[i];
18286 newInts[i] = base.ints[i];
18287 }
18288 else {
18289 newParts[i] = "0";
18290 newInts[i] = 0;
18291 }
18292 }
18293 base.str = "base 6 (dice)";
18294 base.ints = newInts;
18295 base.parts = newParts;
18296 base.matcher = matchers.base6;
18297 }
18298 // Detect empty entropy
18299 if (base.parts.length == 0) {
18300 return {
18301 binaryStr: "",
18302 cleanStr: "",
18303 cleanHtml: "",
18304 base: base,
18305 };
18306 }
18307 // Convert base.ints to BigInteger.
18308 // Due to using unusual bases, eg cards of base52, this is not as simple as
18309 // using BigInteger.parse()
18310 var entropyInt = BigInteger.ZERO;
18311 for (var i=base.ints.length-1; i>=0; i--) {
18312 var thisInt = BigInteger.parse(base.ints[i]);
18313 var power = (base.ints.length - 1) - i;
18314 var additionalEntropy = BigInteger.parse(base.asInt).pow(power).multiply(thisInt);
18315 entropyInt = entropyInt.add(additionalEntropy);
18316 }
18317 // Convert entropy to binary
18318 var entropyBin = entropyInt.toString(2);
18319 // If the first integer is small, it must be padded with zeros.
18320 // Otherwise the chance of the first bit being 1 is 100%, which is
18321 // obviously incorrect.
18322 // This is not perfect for non-2^n bases.
18323 var expectedBits = Math.floor(base.parts.length * Math.log2(base.asInt));
18324 while (entropyBin.length < expectedBits) {
18325 entropyBin = "0" + entropyBin;
18326 }
94959756
IC
18327 // Calculate the number of bits per event
18328 var bitsPerEvent = Math.log2(base.asInt);
ea87f1d3 18329 // Cards binary must be handled differently, since they're not replaced
9e97eb76 18330 if (base.asInt == 52) {
94959756
IC
18331 var cardEntropy = processCardEntropy(base.parts);
18332 entropyBin = cardEntropy.binaryStr;
18333 bitsPerEvent = cardEntropy.bitsPerEvent;
9e97eb76 18334 }
95f04905
IC
18335 // Supply a 'filtered' entropy string for display purposes
18336 var entropyClean = base.parts.join("");
18337 var entropyHtml = base.parts.join("");
18338 if (base.asInt == 52) {
18339 entropyClean = base.parts.join(" ").toUpperCase();
18340 entropyClean = entropyClean.replace(/C/g, "\u2663");
18341 entropyClean = entropyClean.replace(/D/g, "\u2666");
18342 entropyClean = entropyClean.replace(/H/g, "\u2665");
18343 entropyClean = entropyClean.replace(/S/g, "\u2660");
18344 entropyHtml = base.parts.join(" ").toUpperCase();
18345 entropyHtml = entropyHtml.replace(/C/g, "<span class='card-suit club'>\u2663</span>");
18346 entropyHtml = entropyHtml.replace(/D/g, "<span class='card-suit diamond'>\u2666</span>");
18347 entropyHtml = entropyHtml.replace(/H/g, "<span class='card-suit heart'>\u2665</span>");
18348 entropyHtml = entropyHtml.replace(/S/g, "<span class='card-suit spade'>\u2660</span>");
18349 }
9e97eb76 18350 // Return the result
95f04905
IC
18351 var e = {
18352 binaryStr: entropyBin,
18353 cleanStr: entropyClean,
18354 cleanHtml: entropyHtml,
94959756 18355 bitsPerEvent: bitsPerEvent,
95f04905
IC
18356 base: base,
18357 }
18358 return e;
18359 }
18360
78b8d604
IC
18361 function getSortedDeck() {
18362 var s = [];
18363 var suits = "CDHS";
18364 var values = "A23456789TJQK";
18365 for (var i=0; i<suits.length; i++) {
18366 for (var j=0; j<values.length; j++) {
18367 s.push(values[j]+suits[i]);
18368 }
18369 }
18370 return s;
18371 }
18372
95f04905
IC
18373 function getBase(str) {
18374 // Need to get the lowest base for the supplied entropy.
18375 // This prevents interpreting, say, dice rolls as hexadecimal.
18376 var binaryMatches = matchers.binary(str);
18377 var hexMatches = matchers.hex(str);
18378 // Find the lowest base that can be used, whilst ignoring any irrelevant chars
18379 if (binaryMatches.length == hexMatches.length && hexMatches.length > 0) {
18380 var ints = binaryMatches.map(function(i) { return parseInt(i, 2) });
18381 return {
18382 ints: ints,
18383 parts: binaryMatches,
18384 matcher: matchers.binary,
18385 asInt: 2,
18386 str: "binary",
18387 }
18388 }
18389 var cardMatches = matchers.card(str);
18390 if (cardMatches.length >= hexMatches.length / 2) {
18391 var ints = convertCardsToInts(cardMatches);
18392 return {
18393 ints: ints,
18394 parts: cardMatches,
18395 matcher: matchers.card,
18396 asInt: 52,
18397 str: "card",
18398 }
18399 }
18400 var diceMatches = matchers.dice(str);
18401 if (diceMatches.length == hexMatches.length && hexMatches.length > 0) {
18402 var ints = diceMatches.map(function(i) { return parseInt(i) });
18403 return {
18404 ints: ints,
18405 parts: diceMatches,
18406 matcher: matchers.dice,
18407 asInt: 6,
18408 str: "dice",
18409 }
18410 }
18411 var base6Matches = matchers.base6(str);
18412 if (base6Matches.length == hexMatches.length && hexMatches.length > 0) {
18413 var ints = base6Matches.map(function(i) { return parseInt(i) });
18414 return {
18415 ints: ints,
18416 parts: base6Matches,
18417 matcher: matchers.base6,
18418 asInt: 6,
18419 str: "base 6",
18420 }
18421 }
18422 var base10Matches = matchers.base10(str);
18423 if (base10Matches.length == hexMatches.length && hexMatches.length > 0) {
18424 var ints = base10Matches.map(function(i) { return parseInt(i) });
18425 return {
18426 ints: ints,
18427 parts: base10Matches,
18428 matcher: matchers.base10,
18429 asInt: 10,
18430 str: "base 10",
18431 }
18432 }
18433 var ints = hexMatches.map(function(i) { return parseInt(i, 16) });
18434 return {
18435 ints: ints,
18436 parts: hexMatches,
18437 matcher: matchers.hex,
18438 asInt: 16,
18439 str: "hexadecimal",
18440 }
18441 }
18442
ea87f1d3
IC
18443 // Assume cards are NOT replaced.
18444 // Additional entropy decreases as more cards are used. This means
18445 // total possible entropy is measured using n!, not base^n.
18446 // eg the second last card can be only one of two, not one of fifty two
18447 // so the added entropy for that card is only one bit at most
94959756 18448 function processCardEntropy(cards) {
ea87f1d3
IC
18449 // Track how many instances of each card have been used, and thus
18450 // how many decks are in use.
18451 var cardCounts = {};
18452 var numberOfDecks = 0;
18453 // Work out number of decks by max(duplicates)
18454 for (var i=0; i<cards.length; i++) {
18455 // Get the card that was drawn
18456 var cardLower = cards[i];
18457 var card = cardLower.toUpperCase();
18458 // Initialize the count for this card if needed
18459 if (!(card in cardCounts)) {
18460 cardCounts[card] = 0;
18461 }
18462 cardCounts[card] += 1;
18463 // See if this is max(duplicates)
18464 if (cardCounts[card] > numberOfDecks) {
18465 numberOfDecks = cardCounts[card];
18466 }
18467 }
18468 // Work out the total number of bits for this many decks
18469 // See http://crypto.stackexchange.com/q/41886
18470 var gainedBits = Math.log2(factorial(52 * numberOfDecks));
18471 var lostBits = 52 * Math.log2(factorial(numberOfDecks));
18472 var maxBits = gainedBits - lostBits;
18473 // Convert the drawn cards to a binary representation.
18474 // The exact technique for doing this is unclear.
18475 // See
18476 // http://crypto.stackexchange.com/a/41896
18477 // "I even doubt that this is well defined (only the average entropy
18478 // is, I believe)."
18479 // See
18480 // https://github.com/iancoleman/bip39/issues/33#issuecomment-263021856
18481 // "The binary representation can be the first log(permutations,2) bits
18482 // of the sha-2 hash of the normalized deck string."
18483 //
18484 // In this specific implementation, the first N bits of the hash of the
18485 // normalized cards string is being used. Uppercase, no spaces; eg
18486 // sha256("AH8DQSTC2H")
18487 var totalCards = numberOfDecks * 52;
18488 var percentUsed = cards.length / totalCards;
18489 // Calculate the average number of bits of entropy for the number of
18490 // cards drawn.
18491 var numberOfBits = Math.floor(maxBits * percentUsed);
18492 // Create a normalized string of the selected cards
18493 var normalizedCards = cards.join("").toUpperCase();
18494 // Convert to binary using the SHA256 hash of the normalized cards.
18495 // If the number of bits is more than 256, multiple rounds of hashing
18496 // are used until the required number of bits is reached.
18497 var entropyBin = "";
18498 var iterations = 0;
18499 while (entropyBin.length < numberOfBits) {
18500 var hashedCards = sjcl.hash.sha256.hash(normalizedCards);
18501 for (var j=0; j<iterations; j++) {
18502 hashedCards = sjcl.hash.sha256.hash(hashedCards);
18503 }
18504 var hashHex = sjcl.codec.hex.fromBits(hashedCards);
18505 for (var i=0; i<hashHex.length; i++) {
18506 var decimal = parseInt(hashHex[i], 16);
18507 var binary = decimal.toString(2);
18508 while (binary.length < 4) {
18509 binary = "0" + binary;
18510 }
18511 entropyBin = entropyBin + binary;
18512 }
18513 iterations = iterations + 1;
18514 }
18515 // Truncate to the appropriate number of bits.
18516 entropyBin = entropyBin.substring(0, numberOfBits);
94959756
IC
18517 // Get the number of bits per event
18518 bitsPerEvent = maxBits / totalCards;
18519 return {
18520 binaryStr: entropyBin,
18521 bitsPerEvent: bitsPerEvent,
18522 }
ea87f1d3
IC
18523 }
18524
95f04905
IC
18525 // Polyfill for Math.log2
18526 // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log2#Polyfill
18527 Math.log2 = Math.log2 || function(x) {
18528 // The polyfill isn't good enough because of the poor accuracy of
18529 // Math.LOG2E
18530 // log2(8) gave 2.9999999999999996 which when floored causes issues.
18531 // So instead use the BigInteger library to get it right.
18532 return BigInteger.log(x) / BigInteger.log(2);
18533 };
18534
9e97eb76
IC
18535 // Depends on BigInteger
18536 function factorial(n) {
18537 if (n == 0) {
18538 return 1;
18539 }
18540 f = BigInteger.ONE;
18541 for (var i=1; i<=n; i++) {
18542 f = f.multiply(new BigInteger(i));
18543 }
18544 return f;
18545 }
18546
95f04905 18547})();
c6624d51
IC
18548</script>
18549 <script>(function() {
18550
18551 // mnemonics is populated as required by getLanguage
18552 var mnemonics = { "english": new Mnemonic("english") };
18553 var mnemonic = mnemonics["english"];
18554 var seed = null
18555 var bip32RootKey = null;
18556 var bip32ExtendedKey = null;
18557 var network = bitcoin.networks.bitcoin;
18558 var addressRowTemplate = $("#address-row-template");
18559
18560 var showIndex = true;
18561 var showAddress = true;
18562 var showPubKey = true;
18563 var showPrivKey = true;
18564
18565 var entropyChangeTimeoutEvent = null;
18566 var phraseChangeTimeoutEvent = null;
18567 var rootKeyChangedTimeoutEvent = null;
18568
18569 var DOM = {};
18570 DOM.network = $(".network");
18571 DOM.phraseNetwork = $("#network-phrase");
18572 DOM.useEntropy = $(".use-entropy");
18573 DOM.entropyContainer = $(".entropy-container");
18574 DOM.entropy = $(".entropy");
2a6dd137
IC
18575 DOM.entropyFiltered = DOM.entropyContainer.find(".filtered");
18576 DOM.entropyType = DOM.entropyContainer.find(".type");
18577 DOM.entropyStrength = DOM.entropyContainer.find(".strength");
18578 DOM.entropyEventCount = DOM.entropyContainer.find(".event-count");
18579 DOM.entropyBits = DOM.entropyContainer.find(".bits");
18580 DOM.entropyBitsPerEvent = DOM.entropyContainer.find(".bits-per-event");
18581 DOM.entropyWordCount = DOM.entropyContainer.find(".word-count");
18582 DOM.entropyBinary = DOM.entropyContainer.find(".binary");
18583 DOM.entropyMnemonicLength = DOM.entropyContainer.find(".mnemonic-length");
c6624d51
IC
18584 DOM.phrase = $(".phrase");
18585 DOM.passphrase = $(".passphrase");
18586 DOM.generateContainer = $(".generate-container");
18587 DOM.generate = $(".generate");
18588 DOM.seed = $(".seed");
18589 DOM.rootKey = $(".root-key");
18590 DOM.extendedPrivKey = $(".extended-priv-key");
18591 DOM.extendedPubKey = $(".extended-pub-key");
18592 DOM.bip32tab = $("#bip32-tab");
18593 DOM.bip44tab = $("#bip44-tab");
18594 DOM.bip32panel = $("#bip32");
18595 DOM.bip44panel = $("#bip44");
18596 DOM.bip32path = $("#bip32-path");
18597 DOM.bip44path = $("#bip44-path");
18598 DOM.bip44purpose = $("#bip44 .purpose");
18599 DOM.bip44coin = $("#bip44 .coin");
18600 DOM.bip44account = $("#bip44 .account");
18601 DOM.bip44change = $("#bip44 .change");
18abe53b 18602 DOM.generatedStrength = $(".generate-container .strength");
c6624d51
IC
18603 DOM.hardenedAddresses = $(".hardened-addresses");
18604 DOM.addresses = $(".addresses");
18605 DOM.rowsToAdd = $(".rows-to-add");
18606 DOM.more = $(".more");
18607 DOM.feedback = $(".feedback");
18608 DOM.tab = $(".derivation-type a");
18609 DOM.indexToggle = $(".index-toggle");
18610 DOM.addressToggle = $(".address-toggle");
18611 DOM.publicKeyToggle = $(".public-key-toggle");
18612 DOM.privateKeyToggle = $(".private-key-toggle");
18613 DOM.languages = $(".languages a");
18614
18615 function init() {
18616 // Events
18617 DOM.network.on("change", networkChanged);
18618 DOM.useEntropy.on("change", setEntropyVisibility);
18619 DOM.entropy.on("input", delayedEntropyChanged);
18abe53b 18620 DOM.entropyMnemonicLength.on("change", entropyChanged);
c6624d51
IC
18621 DOM.phrase.on("input", delayedPhraseChanged);
18622 DOM.passphrase.on("input", delayedPhraseChanged);
18623 DOM.generate.on("click", generateClicked);
18624 DOM.more.on("click", showMore);
18625 DOM.rootKey.on("input", delayedRootKeyChanged);
18626 DOM.bip32path.on("input", calcForDerivationPath);
18627 DOM.bip44purpose.on("input", calcForDerivationPath);
18628 DOM.bip44coin.on("input", calcForDerivationPath);
18629 DOM.bip44account.on("input", calcForDerivationPath);
18630 DOM.bip44change.on("input", calcForDerivationPath);
18631 DOM.tab.on("shown.bs.tab", calcForDerivationPath);
18632 DOM.hardenedAddresses.on("change", calcForDerivationPath);
18633 DOM.indexToggle.on("click", toggleIndexes);
18634 DOM.addressToggle.on("click", toggleAddresses);
18635 DOM.publicKeyToggle.on("click", togglePublicKeys);
18636 DOM.privateKeyToggle.on("click", togglePrivateKeys);
18637 DOM.languages.on("click", languageChanged);
18638 disableForms();
18639 hidePending();
18640 hideValidationError();
18641 populateNetworkSelect();
18642 }
18643
18644 // Event handlers
18645
18646 function networkChanged(e) {
18647 var networkIndex = e.target.value;
18648 networks[networkIndex].onSelect();
18649 if (seed != null) {
18650 phraseChanged();
18651 }
18652 else {
18653 rootKeyChanged();
18654 }
18655 }
18656
18657 function setEntropyVisibility() {
18658 if (isUsingOwnEntropy()) {
18659 DOM.entropyContainer.removeClass("hidden");
18660 DOM.generateContainer.addClass("hidden");
18661 DOM.phrase.prop("readonly", true);
18662 DOM.entropy.focus();
18663 entropyChanged();
18664 }
18665 else {
18666 DOM.entropyContainer.addClass("hidden");
18667 DOM.generateContainer.removeClass("hidden");
18668 DOM.phrase.prop("readonly", false);
18abe53b 18669 hidePending();
c6624d51
IC
18670 }
18671 }
18672
18673 function delayedPhraseChanged() {
18674 hideValidationError();
18675 showPending();
18676 if (phraseChangeTimeoutEvent != null) {
18677 clearTimeout(phraseChangeTimeoutEvent);
18678 }
18679 phraseChangeTimeoutEvent = setTimeout(phraseChanged, 400);
18680 }
18681
18682 function phraseChanged() {
18683 showPending();
18684 hideValidationError();
18685 setMnemonicLanguage();
18686 // Get the mnemonic phrase
18687 var phrase = DOM.phrase.val();
18688 var errorText = findPhraseErrors(phrase);
18689 if (errorText) {
18690 showValidationError(errorText);
18691 return;
18692 }
18693 // Calculate and display
18694 var passphrase = DOM.passphrase.val();
18695 calcBip32RootKeyFromSeed(phrase, passphrase);
18696 calcForDerivationPath();
18697 hidePending();
18698 }
18699
18700 function delayedEntropyChanged() {
18701 hideValidationError();
18702 showPending();
18703 if (entropyChangeTimeoutEvent != null) {
18704 clearTimeout(entropyChangeTimeoutEvent);
18705 }
18706 entropyChangeTimeoutEvent = setTimeout(entropyChanged, 400);
18707 }
18708
18709 function entropyChanged() {
18abe53b
IC
18710 // If blank entropy, clear mnemonic, addresses, errors
18711 if (DOM.entropy.val().trim().length == 0) {
18712 clearDisplay();
2a6dd137 18713 clearEntropyFeedback();
18abe53b
IC
18714 DOM.phrase.val("");
18715 showValidationError("Blank entropy");
18716 return;
18717 }
18718 // Get the current phrase to detect changes
18719 var phrase = DOM.phrase.val();
18720 // Set the phrase from the entropy
c6624d51 18721 setMnemonicFromEntropy();
18abe53b
IC
18722 // Recalc addresses if the phrase has changed
18723 var newPhrase = DOM.phrase.val();
18724 if (newPhrase != phrase) {
18725 if (newPhrase.length == 0) {
18726 clearDisplay();
18727 }
18728 else {
18729 phraseChanged();
18730 }
18731 }
18732 else {
18733 hidePending();
18734 }
c6624d51
IC
18735 }
18736
18737 function delayedRootKeyChanged() {
18738 // Warn if there is an existing mnemonic or passphrase.
18739 if (DOM.phrase.val().length > 0 || DOM.passphrase.val().length > 0) {
18740 if (!confirm("This will clear existing mnemonic and passphrase")) {
18741 DOM.rootKey.val(bip32RootKey);
18742 return
18743 }
18744 }
18745 hideValidationError();
18746 showPending();
18747 // Clear existing mnemonic and passphrase
18748 DOM.phrase.val("");
18749 DOM.passphrase.val("");
18750 seed = null;
18751 if (rootKeyChangedTimeoutEvent != null) {
18752 clearTimeout(rootKeyChangedTimeoutEvent);
18753 }
18754 rootKeyChangedTimeoutEvent = setTimeout(rootKeyChanged, 400);
18755 }
18756
18757 function rootKeyChanged() {
18758 showPending();
18759 hideValidationError();
18760 // Validate the root key TODO
18761 var rootKeyBase58 = DOM.rootKey.val();
18762 var errorText = validateRootKey(rootKeyBase58);
18763 if (errorText) {
18764 showValidationError(errorText);
18765 return;
18766 }
18767 // Calculate and display
18768 calcBip32RootKeyFromBase58(rootKeyBase58);
18769 calcForDerivationPath();
18770 hidePending();
18771 }
18772
18773 function calcForDerivationPath() {
18774 showPending();
18775 hideValidationError();
18776 // Get the derivation path
18777 var derivationPath = getDerivationPath();
18778 var errorText = findDerivationPathErrors(derivationPath);
18779 if (errorText) {
18780 showValidationError(errorText);
18781 return;
18782 }
18783 calcBip32ExtendedKey(derivationPath);
18784 displayBip32Info();
18785 hidePending();
18786 }
18787
18788 function generateClicked() {
18789 if (isUsingOwnEntropy()) {
18790 return;
18791 }
18792 clearDisplay();
18793 showPending();
18794 setTimeout(function() {
18795 setMnemonicLanguage();
18796 var phrase = generateRandomPhrase();
18797 if (!phrase) {
18798 return;
18799 }
18800 phraseChanged();
18801 }, 50);
18802 }
18803
18804 function languageChanged() {
18805 setTimeout(function() {
18806 setMnemonicLanguage();
18807 if (DOM.phrase.val().length > 0) {
18808 var newPhrase = convertPhraseToNewLanguage();
18809 DOM.phrase.val(newPhrase);
18810 phraseChanged();
18811 }
18812 else {
18813 DOM.generate.trigger("click");
18814 }
18815 }, 50);
18816 }
18817
18818 function toggleIndexes() {
18819 showIndex = !showIndex;
18820 $("td.index span").toggleClass("invisible");
18821 }
18822
18823 function toggleAddresses() {
18824 showAddress = !showAddress;
18825 $("td.address span").toggleClass("invisible");
18826 }
18827
18828 function togglePublicKeys() {
18829 showPubKey = !showPubKey;
18830 $("td.pubkey span").toggleClass("invisible");
18831 }
18832
18833 function togglePrivateKeys() {
18834 showPrivKey = !showPrivKey;
18835 $("td.privkey span").toggleClass("invisible");
18836 }
18837
18838 // Private methods
18839
18840 function generateRandomPhrase() {
18841 if (!hasStrongRandom()) {
18842 var errorText = "This browser does not support strong randomness";
18843 showValidationError(errorText);
18844 return;
18845 }
18abe53b 18846 var numWords = parseInt(DOM.generatedStrength.val());
c6624d51
IC
18847 var strength = numWords / 3 * 32;
18848 var words = mnemonic.generate(strength);
18849 DOM.phrase.val(words);
18850 return words;
18851 }
18852
18853 function calcBip32RootKeyFromSeed(phrase, passphrase) {
18854 seed = mnemonic.toSeed(phrase, passphrase);
18855 bip32RootKey = bitcoin.HDNode.fromSeedHex(seed, network);
18856 }
18857
18858 function calcBip32RootKeyFromBase58(rootKeyBase58) {
18859 bip32RootKey = bitcoin.HDNode.fromBase58(rootKeyBase58, network);
18860 }
18861
18862 function calcBip32ExtendedKey(path) {
18863 bip32ExtendedKey = bip32RootKey;
18864 // Derive the key from the path
18865 var pathBits = path.split("/");
ebd8d4e8
IC
18866 for (var i=0; i<pathBits.length; i++) {
18867 var bit = pathBits[i];
18868 var index = parseInt(bit);
18869 if (isNaN(index)) {
18870 continue;
18871 }
18872 var hardened = bit[bit.length-1] == "'";
18873 if (hardened) {
18874 bip32ExtendedKey = bip32ExtendedKey.deriveHardened(index);
18875 }
18876 else {
18877 bip32ExtendedKey = bip32ExtendedKey.derive(index);
18878 }
18879 }
18880 }
18881
18882 function showValidationError(errorText) {
18883 DOM.feedback
18884 .text(errorText)
18885 .show();
18886 }
18887
18888 function hideValidationError() {
18889 DOM.feedback
18890 .text("")
18891 .hide();
18892 }
18893
18894 function findPhraseErrors(phrase) {
ebd8d4e8 18895 // Preprocess the words
783981de 18896 phrase = mnemonic.normalizeString(phrase);
0515eeec 18897 var words = phraseToWordArray(phrase);
18abe53b
IC
18898 // Detect blank phrase
18899 if (words.length == 0) {
18900 return "Blank mnemonic";
18901 }
563e401a 18902 // Check each word
0515eeec
IC
18903 for (var i=0; i<words.length; i++) {
18904 var word = words[i];
18905 var language = getLanguage();
18906 if (WORDLISTS[language].indexOf(word) == -1) {
563e401a
IC
18907 console.log("Finding closest match to " + word);
18908 var nearestWord = findNearestWord(word);
18909 return word + " not in wordlist, did you mean " + nearestWord + "?";
18910 }
18911 }
ebd8d4e8 18912 // Check the words are valid
0515eeec 18913 var properPhrase = wordArrayToPhrase(words);
ebd8d4e8
IC
18914 var isValid = mnemonic.check(properPhrase);
18915 if (!isValid) {
18916 return "Invalid mnemonic";
18917 }
18918 return false;
18919 }
18920
efe41586
IC
18921 function validateRootKey(rootKeyBase58) {
18922 try {
18923 bitcoin.HDNode.fromBase58(rootKeyBase58);
18924 }
18925 catch (e) {
18926 return "Invalid root key";
18927 }
18928 return "";
18929 }
18930
38523d36
IC
18931 function getDerivationPath() {
18932 if (DOM.bip44tab.hasClass("active")) {
18933 var purpose = parseIntNoNaN(DOM.bip44purpose.val(), 44);
18934 var coin = parseIntNoNaN(DOM.bip44coin.val(), 0);
18935 var account = parseIntNoNaN(DOM.bip44account.val(), 0);
18936 var change = parseIntNoNaN(DOM.bip44change.val(), 0);
18937 var path = "m/";
18938 path += purpose + "'/";
18939 path += coin + "'/";
18940 path += account + "'/";
18941 path += change;
18942 DOM.bip44path.val(path);
18943 var derivationPath = DOM.bip44path.val();
18944 console.log("Using derivation path from BIP44 tab: " + derivationPath);
18945 return derivationPath;
18946 }
18947 else if (DOM.bip32tab.hasClass("active")) {
18948 var derivationPath = DOM.bip32path.val();
18949 console.log("Using derivation path from BIP32 tab: " + derivationPath);
18950 return derivationPath;
18951 }
18952 else {
18953 console.log("Unknown derivation path");
18954 }
18955 }
18956
ebd8d4e8 18957 function findDerivationPathErrors(path) {
30c9e79d
IC
18958 // TODO is not perfect but is better than nothing
18959 // Inspired by
18960 // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#test-vectors
18961 // and
18962 // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#extended-keys
18963 var maxDepth = 255; // TODO verify this!!
18964 var maxIndexValue = Math.pow(2, 31); // TODO verify this!!
18965 if (path[0] != "m") {
18966 return "First character must be 'm'";
18967 }
18968 if (path.length > 1) {
18969 if (path[1] != "/") {
18970 return "Separator must be '/'";
18971 }
18972 var indexes = path.split("/");
18973 if (indexes.length > maxDepth) {
18974 return "Derivation depth is " + indexes.length + ", must be less than " + maxDepth;
18975 }
18976 for (var depth = 1; depth<indexes.length; depth++) {
18977 var index = indexes[depth];
18978 var invalidChars = index.replace(/^[0-9]+'?$/g, "")
18979 if (invalidChars.length > 0) {
18980 return "Invalid characters " + invalidChars + " found at depth " + depth;
18981 }
18982 var indexValue = parseInt(index.replace("'", ""));
18983 if (isNaN(depth)) {
18984 return "Invalid number at depth " + depth;
18985 }
18986 if (indexValue > maxIndexValue) {
18987 return "Value of " + indexValue + " at depth " + depth + " must be less than " + maxIndexValue;
18988 }
18989 }
18990 }
ebd8d4e8
IC
18991 return false;
18992 }
18993
18994 function displayBip32Info() {
18995 // Display the key
73161a92 18996 DOM.seed.val(seed);
ebd8d4e8
IC
18997 var rootKey = bip32RootKey.toBase58();
18998 DOM.rootKey.val(rootKey);
18999 var extendedPrivKey = bip32ExtendedKey.toBase58();
19000 DOM.extendedPrivKey.val(extendedPrivKey);
19001 var extendedPubKey = bip32ExtendedKey.toBase58(false);
19002 DOM.extendedPubKey.val(extendedPubKey);
19003 // Display the addresses and privkeys
19004 clearAddressesList();
19005 displayAddresses(0, 20);
19006 }
19007
19008 function displayAddresses(start, total) {
19009 for (var i=0; i<total; i++) {
80c4dd2a
IC
19010 var index = i + start;
19011 new TableRow(index);
19012 }
19013 }
19014
19015 function TableRow(index) {
19016
1975bfbc
IC
19017 var useHardenedAddresses = DOM.hardenedAddresses.prop("checked");
19018
80c4dd2a
IC
19019 function init() {
19020 calculateValues();
19021 }
19022
19023 function calculateValues() {
19024 setTimeout(function() {
1975bfbc
IC
19025 var key = "";
19026 if (useHardenedAddresses) {
19027 key = bip32ExtendedKey.deriveHardened(index);
19028 }
19029 else {
19030 key = bip32ExtendedKey.derive(index);
19031 }
80c4dd2a
IC
19032 var address = key.getAddress().toString();
19033 var privkey = key.privKey.toWIF(network);
1b12b2f5 19034 var pubkey = key.pubKey.toHex();
38523d36 19035 var indexText = getDerivationPath() + "/" + index;
1975bfbc
IC
19036 if (useHardenedAddresses) {
19037 indexText = indexText + "'";
19038 }
1b12b2f5 19039 addAddressToList(indexText, address, pubkey, privkey);
80c4dd2a 19040 }, 50)
ebd8d4e8 19041 }
80c4dd2a
IC
19042
19043 init();
19044
ebd8d4e8
IC
19045 }
19046
19047 function showMore() {
19048 var start = DOM.addresses.children().length;
19049 var rowsToAdd = parseInt(DOM.rowsToAdd.val());
19050 if (isNaN(rowsToAdd)) {
19051 rowsToAdd = 20;
19052 DOM.rowsToAdd.val("20");
19053 }
19054 if (rowsToAdd > 200) {
19055 var msg = "Generating " + rowsToAdd + " rows could take a while. ";
19056 msg += "Do you want to continue?";
19057 if (!confirm(msg)) {
19058 return;
19059 }
19060 }
ebd8d4e8 19061 displayAddresses(start, rowsToAdd);
ebd8d4e8
IC
19062 }
19063
19064 function clearDisplay() {
19065 clearAddressesList();
19066 clearKey();
19067 hideValidationError();
19068 }
19069
19070 function clearAddressesList() {
19071 DOM.addresses.empty();
19072 }
19073
19074 function clearKey() {
19075 DOM.rootKey.val("");
19076 DOM.extendedPrivKey.val("");
19077 DOM.extendedPubKey.val("");
19078 }
19079
1b12b2f5 19080 function addAddressToList(indexText, address, pubkey, privkey) {
ebd8d4e8 19081 var row = $(addressRowTemplate.html());
80c4dd2a
IC
19082 // Elements
19083 var indexCell = row.find(".index span");
19084 var addressCell = row.find(".address span");
1b12b2f5 19085 var pubkeyCell = row.find(".pubkey span");
80c4dd2a
IC
19086 var privkeyCell = row.find(".privkey span");
19087 // Content
ae30fed8 19088 indexCell.text(indexText);
80c4dd2a 19089 addressCell.text(address);
1b12b2f5 19090 pubkeyCell.text(pubkey);
80c4dd2a
IC
19091 privkeyCell.text(privkey);
19092 // Visibility
19093 if (!showIndex) {
19094 indexCell.addClass("invisible");
19095 }
19096 if (!showAddress) {
19097 addressCell.addClass("invisible");
19098 }
1b12b2f5
IC
19099 if (!showPubKey) {
19100 pubkeyCell.addClass("invisible");
19101 }
80c4dd2a 19102 if (!showPrivKey) {
6d628db7 19103 privkeyCell.addClass("invisible");
80c4dd2a 19104 }
ebd8d4e8
IC
19105 DOM.addresses.append(row);
19106 }
19107
19108 function hasStrongRandom() {
19109 return 'crypto' in window && window['crypto'] !== null;
19110 }
19111
19112 function disableForms() {
19113 $("form").on("submit", function(e) {
19114 e.preventDefault();
19115 });
19116 }
19117
ebd8d4e8
IC
19118 function parseIntNoNaN(val, defaultVal) {
19119 var v = parseInt(val);
19120 if (isNaN(v)) {
19121 return defaultVal;
19122 }
19123 return v;
19124 }
19125
19126 function showPending() {
19127 DOM.feedback
19128 .text("Calculating...")
19129 .show();
19130 }
19131
563e401a 19132 function findNearestWord(word) {
0515eeec
IC
19133 var language = getLanguage();
19134 var words = WORDLISTS[language];
563e401a
IC
19135 var minDistance = 99;
19136 var closestWord = words[0];
19137 for (var i=0; i<words.length; i++) {
19138 var comparedTo = words[i];
19139 var distance = Levenshtein.get(word, comparedTo);
19140 if (distance < minDistance) {
19141 closestWord = comparedTo;
19142 minDistance = distance;
19143 }
19144 }
19145 return closestWord;
19146 }
19147
ebd8d4e8
IC
19148 function hidePending() {
19149 DOM.feedback
19150 .text("")
19151 .hide();
19152 }
19153
ab78acc6
IC
19154 function populateNetworkSelect() {
19155 for (var i=0; i<networks.length; i++) {
19156 var network = networks[i];
19157 var option = $("<option>");
19158 option.attr("value", i);
19159 option.text(network.name);
19160 DOM.phraseNetwork.append(option);
19161 }
19162 }
19163
0515eeec
IC
19164 function getLanguage() {
19165 var defaultLanguage = "english";
19166 // Try to get from existing phrase
19167 var language = getLanguageFromPhrase();
19168 // Try to get from url if not from phrase
19169 if (language.length == 0) {
19170 language = getLanguageFromUrl();
19171 }
19172 // Default to English if no other option
19173 if (language.length == 0) {
19174 language = defaultLanguage;
19175 }
19176 return language;
19177 }
19178
19179 function getLanguageFromPhrase(phrase) {
19180 // Check if how many words from existing phrase match a language.
19181 var language = "";
19182 if (!phrase) {
19183 phrase = DOM.phrase.val();
19184 }
19185 if (phrase.length > 0) {
19186 var words = phraseToWordArray(phrase);
19187 var languageMatches = {};
19188 for (l in WORDLISTS) {
19189 // Track how many words match in this language
19190 languageMatches[l] = 0;
19191 for (var i=0; i<words.length; i++) {
19192 var wordInLanguage = WORDLISTS[l].indexOf(words[i]) > -1;
19193 if (wordInLanguage) {
19194 languageMatches[l]++;
19195 }
19196 }
19197 // Find languages with most word matches.
19198 // This is made difficult due to commonalities between Chinese
19199 // simplified vs traditional.
19200 var mostMatches = 0;
19201 var mostMatchedLanguages = [];
19202 for (var l in languageMatches) {
19203 var numMatches = languageMatches[l];
19204 if (numMatches > mostMatches) {
19205 mostMatches = numMatches;
19206 mostMatchedLanguages = [l];
19207 }
19208 else if (numMatches == mostMatches) {
19209 mostMatchedLanguages.push(l);
19210 }
19211 }
19212 }
19213 if (mostMatchedLanguages.length > 0) {
19214 // Use first language and warn if multiple detected
19215 language = mostMatchedLanguages[0];
19216 if (mostMatchedLanguages.length > 1) {
19217 console.warn("Multiple possible languages");
19218 console.warn(mostMatchedLanguages);
19219 }
19220 }
19221 }
19222 return language;
19223 }
19224
19225 function getLanguageFromUrl() {
c6624d51
IC
19226 for (var language in WORDLISTS) {
19227 if (window.location.hash.indexOf(language) > -1) {
19228 return language;
19229 }
19230 }
19231 return "";
0515eeec
IC
19232 }
19233
19234 function setMnemonicLanguage() {
19235 var language = getLanguage();
19236 // Load the bip39 mnemonic generator for this language if required
19237 if (!(language in mnemonics)) {
19238 mnemonics[language] = new Mnemonic(language);
19239 }
19240 mnemonic = mnemonics[language];
19241 }
19242
19243 function convertPhraseToNewLanguage() {
19244 var oldLanguage = getLanguageFromPhrase();
19245 var newLanguage = getLanguageFromUrl();
19246 var oldPhrase = DOM.phrase.val();
19247 var oldWords = phraseToWordArray(oldPhrase);
19248 var newWords = [];
19249 for (var i=0; i<oldWords.length; i++) {
19250 var oldWord = oldWords[i];
19251 var index = WORDLISTS[oldLanguage].indexOf(oldWord);
19252 var newWord = WORDLISTS[newLanguage][index];
19253 newWords.push(newWord);
19254 }
19255 newPhrase = wordArrayToPhrase(newWords);
19256 return newPhrase;
19257 }
19258
19259 // TODO look at jsbip39 - mnemonic.splitWords
19260 function phraseToWordArray(phrase) {
19261 var words = phrase.split(/\s/g);
19262 var noBlanks = [];
19263 for (var i=0; i<words.length; i++) {
19264 var word = words[i];
19265 if (word.length > 0) {
19266 noBlanks.push(word);
19267 }
19268 }
19269 return noBlanks;
19270 }
19271
19272 // TODO look at jsbip39 - mnemonic.joinWords
19273 function wordArrayToPhrase(words) {
19274 var phrase = words.join(" ");
19275 var language = getLanguageFromPhrase(phrase);
19276 if (language == "japanese") {
19277 phrase = words.join("\u3000");
19278 }
19279 return phrase;
19280 }
19281
c6624d51
IC
19282 function isUsingOwnEntropy() {
19283 return DOM.useEntropy.prop("checked");
19284 }
19285
19286 function setMnemonicFromEntropy() {
2a6dd137 19287 clearEntropyFeedback();
18abe53b 19288 // Get entropy value
c6624d51 19289 var entropyStr = DOM.entropy.val();
18abe53b 19290 // Work out minimum base for entropy
c6624d51 19291 var entropy = Entropy.fromString(entropyStr);
18abe53b 19292 if (entropy.binaryStr.length == 0) {
c6624d51
IC
19293 return;
19294 }
19295 // Show entropy details
18abe53b
IC
19296 showEntropyFeedback(entropy);
19297 // Use entropy hash if not using raw entropy
19298 var bits = entropy.binaryStr;
19299 var mnemonicLength = DOM.entropyMnemonicLength.val();
19300 if (mnemonicLength != "raw") {
19301 // Get bits by hashing entropy with SHA256
19302 var hash = sjcl.hash.sha256.hash(entropy.cleanStr);
19303 var hex = sjcl.codec.hex.fromBits(hash);
19304 bits = BigInteger.parse(hex, 16).toString(2);
19305 for (var i=0; i<256-bits.length; i++) {
19306 bits = "0" + bits;
19307 }
19308 // Truncate hash to suit number of words
19309 mnemonicLength = parseInt(mnemonicLength);
19310 var numberOfBits = 32 * mnemonicLength / 3;
19311 bits = bits.substring(0, numberOfBits);
c6624d51 19312 }
c6624d51 19313 // Discard trailing entropy
18abe53b 19314 var bitsToUse = Math.floor(bits.length / 32) * 32;
2a6dd137
IC
19315 var start = bits.length - bitsToUse;
19316 var binaryStr = bits.substring(start);
c6624d51
IC
19317 // Convert entropy string to numeric array
19318 var entropyArr = [];
18abe53b
IC
19319 for (var i=0; i<binaryStr.length / 8; i++) {
19320 var byteAsBits = binaryStr.substring(i*8, i*8+8);
19321 var entropyByte = parseInt(byteAsBits, 2);
c6624d51
IC
19322 entropyArr.push(entropyByte)
19323 }
19324 // Convert entropy array to mnemonic
19325 var phrase = mnemonic.toMnemonic(entropyArr);
19326 // Set the mnemonic in the UI
19327 DOM.phrase.val(phrase);
19328 }
19329
2a6dd137
IC
19330 function clearEntropyFeedback() {
19331 DOM.entropyStrength.text("...");
18abe53b 19332 DOM.entropyType.text("");
2a6dd137
IC
19333 DOM.entropyWordCount.text("0");
19334 DOM.entropyEventCount.text("0");
19335 DOM.entropyBitsPerEvent.text("0");
19336 DOM.entropyBits.text("0");
19337 DOM.entropyFiltered.html("&nbsp;");
19338 DOM.entropyBinary.html("&nbsp;");
c6624d51
IC
19339 }
19340
18abe53b 19341 function showEntropyFeedback(entropy) {
9e97eb76 19342 var numberOfBits = entropy.binaryStr.length;
18abe53b 19343 var strength = "extremely weak";
9e97eb76 19344 if (numberOfBits >= 64) {
18abe53b
IC
19345 strength = "very weak";
19346 }
9e97eb76 19347 if (numberOfBits >= 96) {
18abe53b
IC
19348 strength = "weak";
19349 }
9e97eb76 19350 if (numberOfBits >= 128) {
18abe53b
IC
19351 strength = "strong";
19352 }
9e97eb76 19353 if (numberOfBits >= 160) {
18abe53b
IC
19354 strength = "very strong";
19355 }
9e97eb76 19356 if (numberOfBits >= 192) {
18abe53b
IC
19357 strength = "extremely strong";
19358 }
19359 // If time to crack is less than one day, and password is considered
19360 // strong or better based on the number of bits, rename strength to
19361 // 'easily cracked'.
95f04905
IC
19362 try {
19363 var z = zxcvbn(entropy.base.parts.join(""));
19364 var timeToCrack = z.crack_times_seconds.offline_fast_hashing_1e10_per_second;
19365 if (timeToCrack < 86400 && entropy.binaryStr.length >= 128) {
19366 strength = "easily cracked";
19367 if (z.feedback.warning != "") {
19368 strength = strength + " - " + z.feedback.warning;
19369 };
19370 }
18abe53b 19371 }
95f04905
IC
19372 catch (e) {
19373 strength = "unknown";
19374 console.log("Error detecting entropy strength with zxcvbn:");
19375 console.log(e);
19376 }
95f04905 19377 var entropyTypeStr = getEntropyTypeStr(entropy);
9e97eb76 19378 var wordCount = Math.floor(numberOfBits / 32) * 3;
94959756 19379 var bitsPerEvent = entropy.bitsPerEvent.toFixed(2);
2a6dd137 19380 DOM.entropyFiltered.html(entropy.cleanHtml);
95f04905 19381 DOM.entropyType.text(entropyTypeStr);
18abe53b
IC
19382 DOM.entropyStrength.text(strength);
19383 DOM.entropyEventCount.text(entropy.base.ints.length);
9e97eb76 19384 DOM.entropyBits.text(numberOfBits);
2a6dd137
IC
19385 DOM.entropyWordCount.text(wordCount);
19386 DOM.entropyBinary.text(entropy.binaryStr);
9e97eb76 19387 DOM.entropyBitsPerEvent.text(bitsPerEvent);
95f04905
IC
19388 }
19389
19390 function getEntropyTypeStr(entropy) {
19391 var typeStr = entropy.base.str;
19392 // Add some detail if these are cards
19393 if (entropy.base.asInt == 52) {
19394 var cardDetail = []; // array of message strings
19395 // Detect duplicates
19396 var dupes = [];
19397 var dupeTracker = {};
19398 for (var i=0; i<entropy.base.parts.length; i++) {
19399 var card = entropy.base.parts[i];
9e97eb76
IC
19400 var cardUpper = card.toUpperCase();
19401 if (cardUpper in dupeTracker) {
95f04905
IC
19402 dupes.push(card);
19403 }
9e97eb76 19404 dupeTracker[cardUpper] = true;
95f04905
IC
19405 }
19406 if (dupes.length > 0) {
19407 var dupeWord = "duplicates";
19408 if (dupes.length == 1) {
19409 dupeWord = "duplicate";
19410 }
19411 var msg = dupes.length + " " + dupeWord + ": " + dupes.slice(0,3).join(" ");
19412 if (dupes.length > 3) {
19413 msg += "...";
19414 }
19415 cardDetail.push(msg);
19416 }
19417 // Detect full deck
19418 var uniqueCards = [];
19419 for (var uniqueCard in dupeTracker) {
19420 uniqueCards.push(uniqueCard);
19421 }
19422 if (uniqueCards.length == 52) {
19423 cardDetail.unshift("full deck");
19424 }
9e97eb76
IC
19425 // Detect missing cards
19426 var values = "A23456789TJQK";
19427 var suits = "CDHS";
19428 var missingCards = [];
19429 for (var i=0; i<suits.length; i++) {
19430 for (var j=0; j<values.length; j++) {
19431 var card = values[j] + suits[i];
19432 if (!(card in dupeTracker)) {
19433 missingCards.push(card);
19434 }
19435 }
19436 }
19437 // Display missing cards if six or less, ie clearly going for full deck
19438 if (missingCards.length > 0 && missingCards.length <= 6) {
19439 var msg = missingCards.length + " missing: " + missingCards.slice(0,3).join(" ");
19440 if (missingCards.length > 3) {
19441 msg += "...";
19442 }
19443 cardDetail.push(msg);
19444 }
95f04905
IC
19445 // Add card details to typeStr
19446 if (cardDetail.length > 0) {
19447 typeStr += " (" + cardDetail.join(", ") + ")";
19448 }
19449 }
19450 return typeStr;
19451 }
19452
ab78acc6
IC
19453 var networks = [
19454 {
19455 name: "Bitcoin",
19456 onSelect: function() {
19457 network = bitcoin.networks.bitcoin;
19458 DOM.bip44coin.val(0);
ab78acc6
IC
19459 },
19460 },
19461 {
19462 name: "Bitcoin Testnet",
19463 onSelect: function() {
19464 network = bitcoin.networks.testnet;
19465 DOM.bip44coin.val(1);
ab78acc6
IC
19466 },
19467 },
19468 {
19469 name: "Litecoin",
19470 onSelect: function() {
19471 network = bitcoin.networks.litecoin;
19472 DOM.bip44coin.val(2);
19473 },
19474 },
19475 {
19476 name: "Dogecoin",
19477 onSelect: function() {
19478 network = bitcoin.networks.dogecoin;
19479 DOM.bip44coin.val(3);
19480 },
19481 },
d5dc92fd
IC
19482 {
19483 name: "ShadowCash",
19484 onSelect: function() {
19485 network = bitcoin.networks.shadow;
19486 DOM.bip44coin.val(35);
19487 },
19488 },
19489 {
19490 name: "ShadowCash Testnet",
19491 onSelect: function() {
19492 network = bitcoin.networks.shadowtn;
19493 DOM.bip44coin.val(1);
19494 },
19495 },
a3baa26e
IC
19496 {
19497 name: "Viacoin",
19498 onSelect: function() {
19499 network = bitcoin.networks.viacoin;
19500 DOM.bip44coin.val(14);
19501 },
19502 },
19503 {
19504 name: "Viacoin Testnet",
19505 onSelect: function() {
19506 network = bitcoin.networks.viacointestnet;
19507 DOM.bip44coin.val(1);
19508 },
19509 },
19510 {
19511 name: "Jumbucks",
19512 onSelect: function() {
19513 network = bitcoin.networks.jumbucks;
19514 DOM.bip44coin.val(26);
19515 },
19516 },
5c434a8a
CM
19517 {
19518 name: "CLAM",
19519 onSelect: function() {
19520 network = bitcoin.networks.clam;
19521 DOM.bip44coin.val(23);
19522 },
19523 },
5493efc3 19524 {
19525 name: "DASH",
19526 onSelect: function() {
19527 network = bitcoin.networks.dash;
19528 DOM.bip44coin.val(5);
19529 },
19530 },
07ac4350 19531 {
19532 name: "Namecoin",
19533 onSelect: function() {
19534 network = bitcoin.networks.namecoin;
19535 DOM.bip44coin.val(7);
19536 },
19537 },
19538 {
19539 name: "Peercoin",
19540 onSelect: function() {
19541 network = bitcoin.networks.peercoin;
19542 DOM.bip44coin.val(6);
19543 },
19544 },
ab78acc6
IC
19545 ]
19546
ebd8d4e8
IC
19547 init();
19548
19549})();
dc55c6b0 19550</script>
ebd8d4e8
IC
19551 </body>
19552</html>