]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blame - bip39-standalone.html
QR code shown on hover for certain bits of data
[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 }
e00964cc
IC
88 .qr-container {
89 position: fixed;
90 top: 0;
91 right: 0;
92 text-align: center;
93 background-color: #FFF;
94 border: 1px solid #CCC;
95 }
96 .qr-image {
97 margin: 5px;
98 }
99 .qr-hint {
100 padding: 2px;
101 }
ab78acc6
IC
102 </style>
103 </head>
104 <body>
105 <div class="container">
3af2954a 106
ab78acc6
IC
107 <h1 class="text-center">Mnemonic Code Converter</h1>
108 <hr>
109 <div class="row">
110 <div class="col-md-12">
111 <h2>Mnemonic</h2>
112 <form class="form-horizontal" role="form">
ab78acc6 113 <div class="form-group">
c6624d51
IC
114 <div class="col-sm-2"></div>
115 <div class="col-sm-10">
ea87f1d3
IC
116 <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>
117 <p data-translate-html>
118 For more info see the
119 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki" target="_blank">BIP39 spec</a>.
120 </p>
c6624d51
IC
121 </div>
122 </div>
123 <div class="form-group generate-container">
b0818b31 124 <label class="col-sm-2 control-label"></label>
ab78acc6 125 <div class="col-sm-10">
b0818b31
IC
126 <div class="form-inline">
127 <div class="input-group-inline">
ea87f1d3 128 <span data-translate>Generate a random mnemonic, or enter your own below</span>:
b0818b31 129 <button class="btn generate">Generate</button>
b0818b31
IC
130 <select id="strength" class="strength form-control">
131 <option value="3">3</option>
132 <option value="6">6</option>
133 <option value="9">9</option>
134 <option value="12">12</option>
135 <option value="15" selected>15</option>
136 <option value="18">18</option>
137 <option value="21">21</option>
138 <option value="24">24</option>
139 </select>
ea87f1d3 140 <span data-translate>words</span>
b0818b31
IC
141 </div>
142 </div>
ab78acc6 143 </div>
0515eeec 144 </div>
c6624d51 145 <div class="entropy-container hidden">
2a6dd137 146 <div class="form-group text-danger">
ea87f1d3 147 <label class="col-sm-2 control-label" data-translate>Warning</label>
2a6dd137 148 <div class="col-sm-10 form-control-static">
ea87f1d3
IC
149 <span data-translate>Entropy is an advanced feature. Your mnemonic may be insecure if this feature is used incorrectly.</span>
150 <a href="#entropy-notes" data-translate>Read more</a>
18abe53b
IC
151 </div>
152 </div>
2a6dd137 153 <div class="form-group">
ea87f1d3 154 <label for="entropy" class="col-sm-2 control-label" data-translate>Entropy</label>
2a6dd137 155 <div class="col-sm-7">
ea87f1d3 156 <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 157 <div class="row">
ea87f1d3 158 <label class="col-sm-3 control-label" data-translate>Strength</label>
95f04905 159 <div class="strength col-sm-3 form-control-static"></div>
ea87f1d3 160 <label class="col-sm-3 control-label" data-translate>Event Count</label>
95f04905
IC
161 <div class="event-count col-sm-3 form-control-static"></div>
162 </div>
163 <div class="row">
ea87f1d3 164 <label class="col-sm-3 control-label" data-translate>Entropy Type</label>
95f04905 165 <div class="type col-sm-3 form-control-static"></div>
ea87f1d3 166 <label class="col-sm-3 control-label" data-translate>Bits Per Event</label>
95f04905
IC
167 <div class="bits-per-event col-sm-3 form-control-static"></div>
168 </div>
169 <div class="row">
ea87f1d3 170 <label class="col-sm-3 control-label" data-translate>Word Count</label>
95f04905 171 <div class="word-count col-sm-3 form-control-static"></div>
ea87f1d3 172 <label class="col-sm-3 control-label" data-translate>Total Bits</label>
95f04905
IC
173 <div class="bits col-sm-3 form-control-static"></div>
174 </div>
ea87f1d3 175 <label class="col-sm-3 control-label" data-translate>Filtered Entropy</label>
2a6dd137 176 <div class="filtered col-sm-9 form-control-static"></div>
ea87f1d3 177 <label class="col-sm-3 control-label" data-translate>Raw Binary</label>
2a6dd137 178 <div class="binary col-sm-9 form-control-static"></div>
ea87f1d3 179 <label class="col-sm-3 control-label" data-translate>Mnemonic Length</label>
2a6dd137 180 <div class="col-sm-9">
18abe53b 181 <select class="mnemonic-length form-control">
ea87f1d3
IC
182 <option value="raw" data-translate>From entropy length (3 words per 32 bits)</option>
183 <option value="12">12 <span data-translate>Words</span></option>
184 <option value="15" selected>15 <span data-translate>Words</option>
185 <option value="18">18 <span data-translate>Words</span></option>
186 <option value="21">21 <span data-translate>Words</span></option>
187 <option value="24">24 <span data-translate>Words</span></option>
18abe53b 188 </select>
c6624d51 189 </div>
18abe53b 190 </div>
2a6dd137 191 <div class="col-sm-3">
ea87f1d3 192 <p data-translate>Valid entropy values include:</p>
2a6dd137 193 <ul>
ea87f1d3
IC
194 <li><strong data-translate>Binary</strong> [0-1]<br>101010011</li>
195 <li><strong data-translate>Base 6</strong> [0-5]<br>123434014</li>
196 <li><strong data-translate>Dice</strong> [1-6]<br>62535634</li>
197 <li><strong data-translate>Base 10</strong> [0-9]<br>90834528</li>
198 <li><strong data-translate>Hex</strong> [0-9A-F]<br>4187a8bfd9</li>
199 <li><strong data-translate>Card</strong> [A2-9TJQK][CDHS]<br>ahqs9dtc</li>
2a6dd137
IC
200 </ul>
201 </div>
c6624d51
IC
202 </div>
203 </div>
204 <div class="form-group">
205 <div class="col-sm-2"></div>
206 <div class="col-sm-10 checkbox">
207 <label>
208 <input type="checkbox" class="use-entropy">
ea87f1d3 209 <span data-translate>Supply my own source of entropy</span>
c6624d51
IC
210 </label>
211 </div>
212 </div>
213 <div class="form-group">
ea87f1d3 214 <label class="col-sm-2 control-label" data-translate>Mnemonic Language</label>
0515eeec 215 <div class="col-sm-10 languages">
ea87f1d3
IC
216 <div class="form-control no-border">
217 <a href="#english">English</a>
218 <a href="#japanese" title="Japanese">日本語</a>
219 <a href="#spanish" title="Spanish">Español</a>
220 <a href="#chinese_simplified" title="Chinese (Simplified)">中文(简体)</a>
221 <a href="#chinese_traditional" title="Chinese (Traditional)">中文(繁體)</a>
222 <a href="#french" title="French">Français</a>
223 <a href="#italian" title="Italian">Italiano</a>
224 </div>
0515eeec 225 </div>
ab78acc6
IC
226 </div>
227 <div class="form-group">
ea87f1d3 228 <label for="phrase" class="col-sm-2 control-label" data-translate>BIP39 Mnemonic</label>
ab78acc6 229 <div class="col-sm-10">
e00964cc 230 <textarea id="phrase" class="phrase form-control" data-show-qr></textarea>
ab78acc6
IC
231 </div>
232 </div>
233 <div class="form-group">
ea87f1d3 234 <label for="passphrase" class="col-sm-2 control-label" data-translate>BIP39 Passphrase (optional)</label>
ab78acc6
IC
235 <div class="col-sm-10">
236 <textarea id="passphrase" class="passphrase form-control"></textarea>
237 </div>
238 </div>
73161a92 239 <div class="form-group">
ea87f1d3 240 <label for="seed" class="col-sm-2 control-label" data-translate>BIP39 Seed</label>
73161a92 241 <div class="col-sm-10">
e00964cc 242 <textarea id="seed" class="seed form-control" readonly="readonly" data-show-qr></textarea>
73161a92
IC
243 </div>
244 </div>
ab78acc6 245 <div class="form-group">
ea87f1d3 246 <label for="network-phrase" class="col-sm-2 control-label" data-translate>Coin</label>
ab78acc6
IC
247 <div class="col-sm-10">
248 <select id="network-phrase" class="network form-control">
249 <!-- populated by javascript -->
250 </select>
251 </div>
252 </div>
253 <div class="form-group">
ea87f1d3 254 <label for="root-key" class="col-sm-2 control-label" data-translate>BIP32 Root Key</label>
ab78acc6 255 <div class="col-sm-10">
e00964cc 256 <textarea id="root-key" class="root-key form-control" data-show-qr></textarea>
ab78acc6
IC
257 </div>
258 </div>
259 </form>
260 </div>
261 </div>
3af2954a 262
ab78acc6 263 <hr>
3af2954a 264
ab78acc6
IC
265 <div class="row">
266 <div class="col-md-12">
267 <h2>Derivation Path</h2>
268 <ul class="derivation-type nav nav-tabs" role="tablist">
d5dc92fd 269 <li id="bip44-tab" class="active">
ab78acc6
IC
270 <a href="#bip44" role="tab" data-toggle="tab">BIP44</a>
271 </li>
272 <li id="bip32-tab">
273 <a href="#bip32" role="tab" data-toggle="tab">BIP32</a>
274 </li>
275 </ul>
276 <div class="derivation-type tab-content">
d5dc92fd 277 <div id="bip44" class="tab-pane active">
ab78acc6
IC
278 <form class="form-horizontal" role="form">
279 <br>
280 <div class="col-sm-2"></div>
281 <div class="col-sm-10">
ea87f1d3
IC
282 <p data-translate-html>
283 For more info see the
284 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">BIP44 spec</a>.
285 </p>
ab78acc6
IC
286 </div>
287 <div class="form-group">
288 <label for="purpose" class="col-sm-2 control-label">
ea87f1d3 289 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank" data-translate>Purpose</a>
ab78acc6
IC
290 </label>
291 <div class="col-sm-10">
292 <input id="purpose" type="text" class="purpose form-control" value="44">
293 </div>
294 </div>
295 <div class="form-group">
296 <label for="coin" class="col-sm-2 control-label">
ea87f1d3 297 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank" data-translate>Coin</a>
ab78acc6
IC
298 </label>
299 <div class="col-sm-10">
300 <input id="coin" type="text" class="coin form-control" value="0">
301 </div>
302 </div>
303 <div class="form-group">
304 <label for="account" class="col-sm-2 control-label">
ea87f1d3 305 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank" data-translate>Account</a>
ab78acc6
IC
306 </label>
307 <div class="col-sm-10">
308 <input id="account" type="text" class="account form-control" value="0">
309 </div>
310 </div>
311 <div class="form-group">
312 <label for="change" class="col-sm-2 control-label">
ea87f1d3 313 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank" data-translate>External / Internal</a>
ab78acc6
IC
314 </label>
315 <div class="col-sm-10">
316 <input id="change" type="text" class="change form-control" value="0">
317 </div>
318 </div>
319 <div class="form-group">
ea87f1d3 320 <label for="bip44-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label>
ab78acc6
IC
321 <div class="col-sm-10">
322 <input id="bip44-path" type="text" class="path form-control" value="m/44'/0'/0'/0" readonly="readonly">
323 </div>
324 </div>
325 </form>
326 </div>
327 <div id="bip32" class="tab-pane">
328 <form class="form-horizontal" role="form">
329 <br>
330 <div class="col-sm-2"></div>
331 <div class="col-sm-10">
ea87f1d3
IC
332 <p data-translate>
333 For more info see the
334 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">BIP32 spec</a>
335 </p>
ab78acc6
IC
336 </div>
337 <div class="form-group">
ea87f1d3 338 <label for="bip32-path" class="col-sm-2 control-label" data-translate>BIP32 Derivation Path</label>
ab78acc6
IC
339 <div class="col-sm-10">
340 <input id="bip32-path" type="text" class="path form-control" value="m/0">
341 </div>
342 </div>
1975bfbc
IC
343 <div class="form-group">
344 <div class="col-sm-2"></div>
345 <label class="col-sm-10">
346 <input class="hardened-addresses" type="checkbox">
ea87f1d3 347 <span data-translate>Use hardened addresses</span>
1975bfbc
IC
348 </label>
349 </div>
d5dc92fd 350 <div class="form-group">
ea87f1d3 351 <label for="mycelium-path" class="col-sm-2 control-label" data-translate>Mycelium Wallet</label>
d5dc92fd 352 <div class="col-sm-10">
ea87f1d3
IC
353 <p class="form-control no-border" data-translate-html>
354 <code>m/44'/0'/0'</code> generates extended keys for import / export
c866242d 355 </p>
ea87f1d3
IC
356 <p class="form-control no-border" data-translate-html>
357 <code>m/44'/0'/1'</code> for the next account. Continue incrementing for more accounts (most use a single account).
c866242d 358 </p>
ea87f1d3
IC
359 <p class="form-control no-border" data-translate-html>
360 <code>m/44'/0'/0'/0</code> generates public addresses
c866242d 361 </p>
ea87f1d3
IC
362 <p class="form-control no-border" data-translate-html>
363 <code>m/44'/0'/0'/1</code> generates change addresses
d5dc92fd 364 </p>
ea87f1d3
IC
365 <p class="form-control no-border" data-translate-html>
366 For more info see the
367 <a href="http://www.mycelium.com/" target="_blank">Mycelium Wallet homepage</a>
d5dc92fd
IC
368 </p>
369 </div>
370 </div>
1975bfbc 371 <div class="form-group">
ea87f1d3 372 <label for="core-path" class="col-sm-2 control-label" data-translate>Bitcoin Core</label>
1975bfbc 373 <div class="col-sm-10">
ea87f1d3 374 <p class="form-control no-border" data-translate-html>
1975bfbc 375 Use path <code>m/0'/0'</code> with hardened addresses.
c866242d 376 </p>
ea87f1d3
IC
377 <p class="form-control no-border" data-translate-html>
378 For more info see the
379 <a href="https://github.com/bitcoin/bitcoin/pull/8035" target="_blank">Bitcoin Core BIP32 implementation</a>
1975bfbc
IC
380 </p>
381 </div>
382 </div>
aa51da11 383 <div class="form-group">
ea87f1d3 384 <label class="col-sm-2 control-label" data-translate>Block Explorers</label>
aa51da11
IC
385 <div class="col-sm-10">
386 <p class="form-control no-border">
ea87f1d3
IC
387 <span data-translate-html>Use path <code>m/44'/0'/0'</code>.</span>
388 <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
389 </p>
390 <p class="form-control no-border">
ea87f1d3
IC
391 <span data-translate>Can be used with</span>:
392 <a href="https://blockchain.info/" target="_blank">blockchain.info</a>
aa51da11
IC
393 </p>
394 </div>
395 </div>
ab78acc6
IC
396 </form>
397 </div>
398 </div>
399 <form class="form-horizontal" role="form">
400 <div class="form-group">
ea87f1d3 401 <label for="extended-priv-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Key</label>
ab78acc6 402 <div class="col-sm-10">
e00964cc 403 <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly" data-show-qr></textarea>
ab78acc6
IC
404 </div>
405 </div>
406 <div class="form-group">
ea87f1d3 407 <label for="extended-pub-key" class="col-sm-2 control-label" data-translate>BIP32 Extended Key (addresses only)</label>
ab78acc6 408 <div class="col-sm-10">
e00964cc 409 <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly" data-show-qr></textarea>
ab78acc6
IC
410 </div>
411 </div>
412 </form>
413 </div>
414 </div>
3af2954a 415
ab78acc6 416 <hr>
3af2954a 417
ab78acc6
IC
418 <div class="row">
419 <div class="col-md-12">
420 <h2>Derived Addresses</h2>
ea87f1d3 421 <p data-translate>Note these addreses are derived from the BIP32 Extended Key</p>
ab78acc6
IC
422 <table class="table table-striped">
423 <thead>
424 <th>
425 <div class="input-group">
ea87f1d3
IC
426 <span data-translate>Path</span>&nbsp;&nbsp;
427 <button class="index-toggle" data-translate>Toggle</button>
ab78acc6
IC
428 </div>
429 </th>
430 <th>
431 <div class="input-group">
ea87f1d3
IC
432 <span data-translate>Address</span>&nbsp;&nbsp;
433 <button class="address-toggle" data-translate>Toggle</button>
ab78acc6
IC
434 </div>
435 </th>
1b12b2f5
IC
436 <th>
437 <div class="input-group">
ea87f1d3
IC
438 <span data-translate>Public Key</span>&nbsp;&nbsp;
439 <button class="public-key-toggle" data-translate>Toggle</button>
1b12b2f5
IC
440 </div>
441 </th>
ab78acc6
IC
442 <th>
443 <div class="input-group">
ea87f1d3
IC
444 <span data-translate>Private Key</span>&nbsp;&nbsp;
445 <button class="private-key-toggle" data-translate>Toggle</button>
ab78acc6
IC
446 </div>
447 </th>
448 </thead>
d737abf6 449 <tbody class="addresses monospace">
c866242d
IC
450 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
451 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
452 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
453 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
454 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
ab78acc6
IC
455 </tbody>
456 </table>
457 </div>
458 </div>
ea87f1d3 459 <span data-translate>Show more rows</span>:
ab78acc6 460 <input type="number" class="rows-to-add" value="20">
ea87f1d3 461 <button class="more" data-translate>Show</button>
3af2954a 462
ab78acc6 463 <hr>
3af2954a 464
ab78acc6
IC
465 <div class="row">
466 <div class="col-md-12">
ea87f1d3
IC
467 <h2 data-translate>More info</h2>
468 <h3>BIP39 <span class="small" data-translate>Mnemonic code for generating deterministic keys</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-0039.mediawiki">official BIP39 spec</a>
472 </p>
ea87f1d3
IC
473 <h3>BIP32 <span class="small" data-translate>Hierarchical Deterministic Wallets</span></h3>
474 <p data-translate-html>
ab78acc6
IC
475 Read more at the
476 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">official BIP32 spec</a>
ea87f1d3
IC
477 </p>
478 <p data-translate-html>
479 See the demo at
ab78acc6
IC
480 <a href="http://bip32.org/" target="_blank">bip32.org</a>
481 </p>
ea87f1d3
IC
482 <h3>BIP44 <span class="small" data-translate>Multi-Account Hierarchy for Deterministic Wallets</span></h3>
483 <p data-translate-html>
ab78acc6
IC
484 Read more at the
485 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">official BIP44 spec</a>
486 </p>
ea87f1d3 487 <h3 data-translate>Private Keys</h3>
ab78acc6 488 <p>
ea87f1d3
IC
489 <span data-translate-html>
490 Use private keys at
491 <a href="https://web.archive.org/web/20150707020924/https://brainwallet.org/" target="_blank">brainwallet.org</a>.
492 </span>
493 <span data-translate>Be careful - it can be easy to make mistakes if you don't know what you're doing.</span>
ab78acc6 494 </p>
ea87f1d3 495 <h3 id="entropy-notes" data-translate>Entropy</h3>
c6624d51 496 <p>
ea87f1d3
IC
497 <span data-translate-html>
498 Entropy values must be sourced from a
499 <a href="https://en.wikipedia.org/wiki/Random_number_generation" target="_blank">strong source of randomness</a>.
500 </span>
501 <span data-translate>This means flipping a fair coin, rolling a fair dice, noise measurements etc.</span>
502 <span data-translate-html>
503 Do <strong>NOT</strong> use phrases from books, lyrics from songs, your birthday or steet address,
504 keyboard mashing, or anything you <i>think</i> is random, because chances are overwhelming it isn't
505 random enough for the needs of this tool.
506 </span>
c6624d51
IC
507 </p>
508 <p>
ea87f1d3
IC
509 <span data-translate-html>
510 The random mnemonic generator on this page uses a
511 <a href="https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues" target="_blank">cryptographically secure random number generator</a>.
512 </span>
513 <span data-translate>The built in random generator can generally be trusted more than your own intuition about randomness.</span>
514 <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>
515 <span data-translate>In that case you might choose to use your own source of entropy.</span>
c6624d51
IC
516 </p>
517 <p>
ea87f1d3 518 <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 519 </p>
ab78acc6
IC
520 </div>
521 </div>
3af2954a 522
ab78acc6 523 <hr>
3af2954a 524
ab78acc6
IC
525 <div class="row">
526 <div class="col-md-12">
3af2954a 527
ea87f1d3 528 <h2 data-translate>Offline Usage</h2>
3af2954a 529
ea87f1d3 530 <p data-translate>
ab78acc6
IC
531 You can use this tool without having to be online.
532 </p>
ea87f1d3 533 <p data-translate>
ab78acc6
IC
534 In your browser, select file save-as, and save this page
535 as a file.
536 </p>
ea87f1d3 537 <p data-translate>
ab78acc6
IC
538 Double-click that file to open it in a browser
539 on any offline computer.
540 </p>
541 <p>
ea87f1d3
IC
542 <span data-translate>Alternatively, download the file from the repository</span>
543 -
544 <a href="https://github.com/iancoleman/bip39">https://github.com/iancoleman/bip39</a>
545 </p>
3af2954a 546
ab78acc6
IC
547 </div>
548 </div>
3af2954a 549
ab78acc6 550 <hr>
3af2954a 551
ab78acc6
IC
552 <div class="row">
553 <div class="col-md-12">
3af2954a 554
ea87f1d3 555 <h2 data-translate>This project is 100% open-source code</h2>
3af2954a 556
ab78acc6 557 <p>
ea87f1d3
IC
558 <span data-translate>Get the source code from the repository</span>
559 -
b630f83d
IC
560 <a href="https://github.com/iancoleman/bip39" target="_blank">
561 https://github.com/iancoleman/bip39
ab78acc6
IC
562 </a>
563 </p>
3af2954a 564
ea87f1d3 565 <h3 data-translate>Libraries</h3>
3af2954a 566
ab78acc6
IC
567 <p>
568 <span>BitcoinJS - </span>
569 <a href="https://github.com/bitcoinjs/bitcoinjs-lib" target="_blank">
570 https://github.com/bitcoinjs/bitcoinjs-lib
571 </a>
572 </p>
3af2954a 573
ab78acc6
IC
574 <p>
575 <span>jsBIP39 - </span>
576 <a href="https://github.com/iancoleman/jsbip39" target="_blank">
577 https://github.com/iancoleman/jsbip39
578 </a>
579 </p>
3af2954a 580
ab78acc6
IC
581 <p>
582 <span>sjcl - </span>
583 <a href="https://github.com/bitwiseshiftleft/sjcl" target="_blank">
584 https://github.com/bitwiseshiftleft/sjcl
585 </a>
586 </p>
3af2954a 587
ab78acc6
IC
588 <p>
589 <span>jQuery - </span>
590 <a href="https://jquery.com/" target="_blank">
591 https://jquery.com/
592 </a>
593 </p>
3af2954a 594
ab78acc6
IC
595 <p>
596 <span>Twitter Bootstrap - </span>
597 <a href="http://getbootstrap.com/" target="_blank">
598 http://getbootstrap.com/
599 </a>
600 </p>
3af2954a 601
ab78acc6
IC
602 </div>
603 </div>
3af2954a 604
ab78acc6 605 </div>
3af2954a 606
e00964cc
IC
607 <div class="qr-container hidden">
608 <div class="qr-hint bg-primary" data-translate>Click field to hide QR</div>
609 <div class="qr-hint bg-primary hidden" data-translate>Click field to show QR</div>
610 <div class="qr-image"></div>
611 </div>
612
ab78acc6
IC
613 <div class="feedback-container">
614 <div class="feedback">Loading...</div>
615 </div>
3af2954a 616
ab78acc6
IC
617 <script type="text/template" id="address-row-template">
618 <tr>
619 <td class="index"><span></span></td>
e00964cc
IC
620 <td class="address"><span data-show-qr></span></td>
621 <td class="pubkey"><span data-show-qr></span></td>
622 <td class="privkey"><span data-show-qr></span></td>
ab78acc6
IC
623 </tr>
624 </script>
625 <script>/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
626!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)
627},_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))
628},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});
629</script>
630 <script>/*!
631 * Bootstrap v3.2.0 (http://getbootstrap.com)
3af2954a
IC
632 * Copyright 2011-2014 Twitter, Inc.
633 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
ab78acc6
IC
634 */
635if("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
636 <script>(function() {
637 'use strict';
638
639 /**
640 * Extend an Object with another Object's properties.
641 *
642 * The source objects are specified as additional arguments.
643 *
644 * @param dst Object the object to extend.
645 *
646 * @return Object the final object.
647 */
648 var _extend = function(dst) {
649 var sources = Array.prototype.slice.call(arguments, 1);
650 for (var i=0; i<sources.length; ++i) {
651 var src = sources[i];
652 for (var p in src) {
653 if (src.hasOwnProperty(p)) dst[p] = src[p];
654 }
655 }
656 return dst;
657 };
658
659
660 /**
661 * Defer execution of given function.
662 * @param {Function} func
663 */
664 var _defer = function(func) {
665 if (typeof setImmediate === 'function') {
666 return setImmediate(func);
667 } else {
668 return setTimeout(func, 0);
669 }
670 };
671
672 /**
673 * Based on the algorithm at http://en.wikipedia.org/wiki/Levenshtein_distance.
674 */
675 var Levenshtein = {
676 /**
677 * Calculate levenshtein distance of the two strings.
678 *
679 * @param str1 String the first string.
680 * @param str2 String the second string.
681 * @return Integer the levenshtein distance (0 and above).
682 */
683 get: function(str1, str2) {
684 // base cases
685 if (str1 === str2) return 0;
686 if (str1.length === 0) return str2.length;
687 if (str2.length === 0) return str1.length;
688
689 // two rows
690 var prevRow = new Array(str2.length + 1),
691 curCol, nextCol, i, j, tmp;
692
693 // initialise previous row
694 for (i=0; i<prevRow.length; ++i) {
695 prevRow[i] = i;
696 }
697
698 // calculate current row distance from previous row
699 for (i=0; i<str1.length; ++i) {
700 nextCol = i + 1;
701
702 for (j=0; j<str2.length; ++j) {
703 curCol = nextCol;
704
705 // substution
706 nextCol = prevRow[j] + ( (str1.charAt(i) === str2.charAt(j)) ? 0 : 1 );
707 // insertion
708 tmp = curCol + 1;
709 if (nextCol > tmp) {
710 nextCol = tmp;
711 }
712 // deletion
713 tmp = prevRow[j + 1] + 1;
714 if (nextCol > tmp) {
715 nextCol = tmp;
716 }
717
718 // copy current col value into previous (in preparation for next iteration)
719 prevRow[j] = curCol;
720 }
721
722 // copy last col value into previous (in preparation for next iteration)
723 prevRow[j] = nextCol;
724 }
725
726 return nextCol;
727 },
728
729 /**
730 * Asynchronously calculate levenshtein distance of the two strings.
731 *
732 * @param str1 String the first string.
733 * @param str2 String the second string.
734 * @param cb Function callback function with signature: function(Error err, int distance)
735 * @param [options] Object additional options.
736 * @param [options.progress] Function progress callback with signature: function(percentComplete)
737 */
738 getAsync: function(str1, str2, cb, options) {
739 options = _extend({}, {
740 progress: null
741 }, options);
742
743 // base cases
744 if (str1 === str2) return cb(null, 0);
745 if (str1.length === 0) return cb(null, str2.length);
746 if (str2.length === 0) return cb(null, str1.length);
747
748 // two rows
749 var prevRow = new Array(str2.length + 1),
750 curCol, nextCol,
751 i, j, tmp,
752 startTime, currentTime;
753
754 // initialise previous row
755 for (i=0; i<prevRow.length; ++i) {
756 prevRow[i] = i;
757 }
758
759 nextCol = 1;
760 i = 0;
761 j = -1;
762
763 var __calculate = function() {
764 // reset timer
765 startTime = new Date().valueOf();
766 currentTime = startTime;
767
768 // keep going until one second has elapsed
769 while (currentTime - startTime < 1000) {
770 // reached end of current row?
771 if (str2.length <= (++j)) {
772 // copy current into previous (in preparation for next iteration)
773 prevRow[j] = nextCol;
774
775 // if already done all chars
776 if (str1.length <= (++i)) {
777 return cb(null, nextCol);
778 }
779 // else if we have more left to do
780 else {
781 nextCol = i + 1;
782 j = 0;
783 }
784 }
785
786 // calculation
787 curCol = nextCol;
788
789 // substution
790 nextCol = prevRow[j] + ( (str1.charAt(i) === str2.charAt(j)) ? 0 : 1 );
791 // insertion
792 tmp = curCol + 1;
793 if (nextCol > tmp) {
794 nextCol = tmp;
795 }
796 // deletion
797 tmp = prevRow[j + 1] + 1;
798 if (nextCol > tmp) {
799 nextCol = tmp;
800 }
801
802 // copy current into previous (in preparation for next iteration)
803 prevRow[j] = curCol;
804
805 // get current time
806 currentTime = new Date().valueOf();
807 }
808
809 // send a progress update?
810 if (null !== options.progress) {
811 try {
812 options.progress.call(null, (i * 100.0/ str1.length));
813 } catch (err) {
814 return cb('Progress callback: ' + err.toString());
815 }
816 }
817
818 // next iteration
819 _defer(__calculate);
820 };
821
822 __calculate();
823 }
824
825 };
826
827 // amd
828 if (typeof define !== "undefined" && define !== null && define.amd) {
829 define(function() {
830 return Levenshtein;
831 });
832 }
833 // commonjs
834 else if (typeof module !== "undefined" && module !== null && typeof exports !== "undefined" && module.exports === exports) {
835 module.exports = Levenshtein;
836 }
837 // web worker
838 else if (typeof self !== "undefined" && typeof self.postMessage === 'function' && typeof self.importScripts === 'function') {
839 self.Levenshtein = Levenshtein;
840 }
841 // browser main thread
842 else if (typeof window !== "undefined" && window !== null) {
843 window.Levenshtein = Levenshtein;
844 }
845}());
846
e00964cc
IC
847</script>
848 <script>(function(r){r.fn.qrcode=function(h){var s;function u(a){this.mode=s;this.data=a}function o(a,c){this.typeNumber=a;this.errorCorrectLevel=c;this.modules=null;this.moduleCount=0;this.dataCache=null;this.dataList=[]}function q(a,c){if(void 0==a.length)throw Error(a.length+"/"+c);for(var d=0;d<a.length&&0==a[d];)d++;this.num=Array(a.length-d+c);for(var b=0;b<a.length-d;b++)this.num[b]=a[b+d]}function p(a,c){this.totalCount=a;this.dataCount=c}function t(){this.buffer=[];this.length=0}u.prototype={getLength:function(){return this.data.length},
849write:function(a){for(var c=0;c<this.data.length;c++)a.put(this.data.charCodeAt(c),8)}};o.prototype={addData:function(a){this.dataList.push(new u(a));this.dataCache=null},isDark:function(a,c){if(0>a||this.moduleCount<=a||0>c||this.moduleCount<=c)throw Error(a+","+c);return this.modules[a][c]},getModuleCount:function(){return this.moduleCount},make:function(){if(1>this.typeNumber){for(var a=1,a=1;40>a;a++){for(var c=p.getRSBlocks(a,this.errorCorrectLevel),d=new t,b=0,e=0;e<c.length;e++)b+=c[e].dataCount;
850for(e=0;e<this.dataList.length;e++)c=this.dataList[e],d.put(c.mode,4),d.put(c.getLength(),j.getLengthInBits(c.mode,a)),c.write(d);if(d.getLengthInBits()<=8*b)break}this.typeNumber=a}this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(a,c){this.moduleCount=4*this.typeNumber+17;this.modules=Array(this.moduleCount);for(var d=0;d<this.moduleCount;d++){this.modules[d]=Array(this.moduleCount);for(var b=0;b<this.moduleCount;b++)this.modules[d][b]=null}this.setupPositionProbePattern(0,0);this.setupPositionProbePattern(this.moduleCount-
8517,0);this.setupPositionProbePattern(0,this.moduleCount-7);this.setupPositionAdjustPattern();this.setupTimingPattern();this.setupTypeInfo(a,c);7<=this.typeNumber&&this.setupTypeNumber(a);null==this.dataCache&&(this.dataCache=o.createData(this.typeNumber,this.errorCorrectLevel,this.dataList));this.mapData(this.dataCache,c)},setupPositionProbePattern:function(a,c){for(var d=-1;7>=d;d++)if(!(-1>=a+d||this.moduleCount<=a+d))for(var b=-1;7>=b;b++)-1>=c+b||this.moduleCount<=c+b||(this.modules[a+d][c+b]=
8520<=d&&6>=d&&(0==b||6==b)||0<=b&&6>=b&&(0==d||6==d)||2<=d&&4>=d&&2<=b&&4>=b?!0:!1)},getBestMaskPattern:function(){for(var a=0,c=0,d=0;8>d;d++){this.makeImpl(!0,d);var b=j.getLostPoint(this);if(0==d||a>b)a=b,c=d}return c},createMovieClip:function(a,c,d){a=a.createEmptyMovieClip(c,d);this.make();for(c=0;c<this.modules.length;c++)for(var d=1*c,b=0;b<this.modules[c].length;b++){var e=1*b;this.modules[c][b]&&(a.beginFill(0,100),a.moveTo(e,d),a.lineTo(e+1,d),a.lineTo(e+1,d+1),a.lineTo(e,d+1),a.endFill())}return a},
853setupTimingPattern:function(){for(var a=8;a<this.moduleCount-8;a++)null==this.modules[a][6]&&(this.modules[a][6]=0==a%2);for(a=8;a<this.moduleCount-8;a++)null==this.modules[6][a]&&(this.modules[6][a]=0==a%2)},setupPositionAdjustPattern:function(){for(var a=j.getPatternPosition(this.typeNumber),c=0;c<a.length;c++)for(var d=0;d<a.length;d++){var b=a[c],e=a[d];if(null==this.modules[b][e])for(var f=-2;2>=f;f++)for(var i=-2;2>=i;i++)this.modules[b+f][e+i]=-2==f||2==f||-2==i||2==i||0==f&&0==i?!0:!1}},setupTypeNumber:function(a){for(var c=
854j.getBCHTypeNumber(this.typeNumber),d=0;18>d;d++){var b=!a&&1==(c>>d&1);this.modules[Math.floor(d/3)][d%3+this.moduleCount-8-3]=b}for(d=0;18>d;d++)b=!a&&1==(c>>d&1),this.modules[d%3+this.moduleCount-8-3][Math.floor(d/3)]=b},setupTypeInfo:function(a,c){for(var d=j.getBCHTypeInfo(this.errorCorrectLevel<<3|c),b=0;15>b;b++){var e=!a&&1==(d>>b&1);6>b?this.modules[b][8]=e:8>b?this.modules[b+1][8]=e:this.modules[this.moduleCount-15+b][8]=e}for(b=0;15>b;b++)e=!a&&1==(d>>b&1),8>b?this.modules[8][this.moduleCount-
855b-1]=e:9>b?this.modules[8][15-b-1+1]=e:this.modules[8][15-b-1]=e;this.modules[this.moduleCount-8][8]=!a},mapData:function(a,c){for(var d=-1,b=this.moduleCount-1,e=7,f=0,i=this.moduleCount-1;0<i;i-=2)for(6==i&&i--;;){for(var g=0;2>g;g++)if(null==this.modules[b][i-g]){var n=!1;f<a.length&&(n=1==(a[f]>>>e&1));j.getMask(c,b,i-g)&&(n=!n);this.modules[b][i-g]=n;e--; -1==e&&(f++,e=7)}b+=d;if(0>b||this.moduleCount<=b){b-=d;d=-d;break}}}};o.PAD0=236;o.PAD1=17;o.createData=function(a,c,d){for(var c=p.getRSBlocks(a,
856c),b=new t,e=0;e<d.length;e++){var f=d[e];b.put(f.mode,4);b.put(f.getLength(),j.getLengthInBits(f.mode,a));f.write(b)}for(e=a=0;e<c.length;e++)a+=c[e].dataCount;if(b.getLengthInBits()>8*a)throw Error("code length overflow. ("+b.getLengthInBits()+">"+8*a+")");for(b.getLengthInBits()+4<=8*a&&b.put(0,4);0!=b.getLengthInBits()%8;)b.putBit(!1);for(;!(b.getLengthInBits()>=8*a);){b.put(o.PAD0,8);if(b.getLengthInBits()>=8*a)break;b.put(o.PAD1,8)}return o.createBytes(b,c)};o.createBytes=function(a,c){for(var d=
8570,b=0,e=0,f=Array(c.length),i=Array(c.length),g=0;g<c.length;g++){var n=c[g].dataCount,h=c[g].totalCount-n,b=Math.max(b,n),e=Math.max(e,h);f[g]=Array(n);for(var k=0;k<f[g].length;k++)f[g][k]=255&a.buffer[k+d];d+=n;k=j.getErrorCorrectPolynomial(h);n=(new q(f[g],k.getLength()-1)).mod(k);i[g]=Array(k.getLength()-1);for(k=0;k<i[g].length;k++)h=k+n.getLength()-i[g].length,i[g][k]=0<=h?n.get(h):0}for(k=g=0;k<c.length;k++)g+=c[k].totalCount;d=Array(g);for(k=n=0;k<b;k++)for(g=0;g<c.length;g++)k<f[g].length&&
858(d[n++]=f[g][k]);for(k=0;k<e;k++)for(g=0;g<c.length;g++)k<i[g].length&&(d[n++]=i[g][k]);return d};s=4;for(var j={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,
85978,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(a){for(var c=a<<10;0<=j.getBCHDigit(c)-j.getBCHDigit(j.G15);)c^=j.G15<<j.getBCHDigit(c)-j.getBCHDigit(j.G15);return(a<<10|c)^j.G15_MASK},getBCHTypeNumber:function(a){for(var c=a<<12;0<=j.getBCHDigit(c)-
860j.getBCHDigit(j.G18);)c^=j.G18<<j.getBCHDigit(c)-j.getBCHDigit(j.G18);return a<<12|c},getBCHDigit:function(a){for(var c=0;0!=a;)c++,a>>>=1;return c},getPatternPosition:function(a){return j.PATTERN_POSITION_TABLE[a-1]},getMask:function(a,c,d){switch(a){case 0:return 0==(c+d)%2;case 1:return 0==c%2;case 2:return 0==d%3;case 3:return 0==(c+d)%3;case 4:return 0==(Math.floor(c/2)+Math.floor(d/3))%2;case 5:return 0==c*d%2+c*d%3;case 6:return 0==(c*d%2+c*d%3)%2;case 7:return 0==(c*d%3+(c+d)%2)%2;default:throw Error("bad maskPattern:"+
861a);}},getErrorCorrectPolynomial:function(a){for(var c=new q([1],0),d=0;d<a;d++)c=c.multiply(new q([1,l.gexp(d)],0));return c},getLengthInBits:function(a,c){if(1<=c&&10>c)switch(a){case 1:return 10;case 2:return 9;case s:return 8;case 8:return 8;default:throw Error("mode:"+a);}else if(27>c)switch(a){case 1:return 12;case 2:return 11;case s:return 16;case 8:return 10;default:throw Error("mode:"+a);}else if(41>c)switch(a){case 1:return 14;case 2:return 13;case s:return 16;case 8:return 12;default:throw Error("mode:"+
862a);}else throw Error("type:"+c);},getLostPoint:function(a){for(var c=a.getModuleCount(),d=0,b=0;b<c;b++)for(var e=0;e<c;e++){for(var f=0,i=a.isDark(b,e),g=-1;1>=g;g++)if(!(0>b+g||c<=b+g))for(var h=-1;1>=h;h++)0>e+h||c<=e+h||0==g&&0==h||i==a.isDark(b+g,e+h)&&f++;5<f&&(d+=3+f-5)}for(b=0;b<c-1;b++)for(e=0;e<c-1;e++)if(f=0,a.isDark(b,e)&&f++,a.isDark(b+1,e)&&f++,a.isDark(b,e+1)&&f++,a.isDark(b+1,e+1)&&f++,0==f||4==f)d+=3;for(b=0;b<c;b++)for(e=0;e<c-6;e++)a.isDark(b,e)&&!a.isDark(b,e+1)&&a.isDark(b,e+
8632)&&a.isDark(b,e+3)&&a.isDark(b,e+4)&&!a.isDark(b,e+5)&&a.isDark(b,e+6)&&(d+=40);for(e=0;e<c;e++)for(b=0;b<c-6;b++)a.isDark(b,e)&&!a.isDark(b+1,e)&&a.isDark(b+2,e)&&a.isDark(b+3,e)&&a.isDark(b+4,e)&&!a.isDark(b+5,e)&&a.isDark(b+6,e)&&(d+=40);for(e=f=0;e<c;e++)for(b=0;b<c;b++)a.isDark(b,e)&&f++;a=Math.abs(100*f/c/c-50)/5;return d+10*a}},l={glog:function(a){if(1>a)throw Error("glog("+a+")");return l.LOG_TABLE[a]},gexp:function(a){for(;0>a;)a+=255;for(;256<=a;)a-=255;return l.EXP_TABLE[a]},EXP_TABLE:Array(256),
864LOG_TABLE:Array(256)},m=0;8>m;m++)l.EXP_TABLE[m]=1<<m;for(m=8;256>m;m++)l.EXP_TABLE[m]=l.EXP_TABLE[m-4]^l.EXP_TABLE[m-5]^l.EXP_TABLE[m-6]^l.EXP_TABLE[m-8];for(m=0;255>m;m++)l.LOG_TABLE[l.EXP_TABLE[m]]=m;q.prototype={get:function(a){return this.num[a]},getLength:function(){return this.num.length},multiply:function(a){for(var c=Array(this.getLength()+a.getLength()-1),d=0;d<this.getLength();d++)for(var b=0;b<a.getLength();b++)c[d+b]^=l.gexp(l.glog(this.get(d))+l.glog(a.get(b)));return new q(c,0)},mod:function(a){if(0>
865this.getLength()-a.getLength())return this;for(var c=l.glog(this.get(0))-l.glog(a.get(0)),d=Array(this.getLength()),b=0;b<this.getLength();b++)d[b]=this.get(b);for(b=0;b<a.getLength();b++)d[b]^=l.gexp(l.glog(a.get(b))+c);return(new q(d,0)).mod(a)}};p.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],
866[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,
867116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,
86843,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,
8693,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,
87055,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,
87145,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];p.getRSBlocks=function(a,c){var d=p.getRsBlockTable(a,c);if(void 0==d)throw Error("bad rs block @ typeNumber:"+a+"/errorCorrectLevel:"+c);for(var b=d.length/3,e=[],f=0;f<b;f++)for(var h=d[3*f+0],g=d[3*f+1],j=d[3*f+2],l=0;l<h;l++)e.push(new p(g,j));return e};p.getRsBlockTable=function(a,c){switch(c){case 1:return p.RS_BLOCK_TABLE[4*(a-1)+0];case 0:return p.RS_BLOCK_TABLE[4*(a-1)+1];case 3:return p.RS_BLOCK_TABLE[4*
872(a-1)+2];case 2:return p.RS_BLOCK_TABLE[4*(a-1)+3]}};t.prototype={get:function(a){return 1==(this.buffer[Math.floor(a/8)]>>>7-a%8&1)},put:function(a,c){for(var d=0;d<c;d++)this.putBit(1==(a>>>c-d-1&1))},getLengthInBits:function(){return this.length},putBit:function(a){var c=Math.floor(this.length/8);this.buffer.length<=c&&this.buffer.push(0);a&&(this.buffer[c]|=128>>>this.length%8);this.length++}};"string"===typeof h&&(h={text:h});h=r.extend({},{render:"canvas",width:256,height:256,typeNumber:-1,
873correctLevel:2,background:"#ffffff",foreground:"#000000"},h);return this.each(function(){var a;if("canvas"==h.render){a=new o(h.typeNumber,h.correctLevel);a.addData(h.text);a.make();var c=document.createElement("canvas");c.width=h.width;c.height=h.height;for(var d=c.getContext("2d"),b=h.width/a.getModuleCount(),e=h.height/a.getModuleCount(),f=0;f<a.getModuleCount();f++)for(var i=0;i<a.getModuleCount();i++){d.fillStyle=a.isDark(f,i)?h.foreground:h.background;var g=Math.ceil((i+1)*b)-Math.floor(i*b),
874j=Math.ceil((f+1)*b)-Math.floor(f*b);d.fillRect(Math.round(i*b),Math.round(f*e),g,j)}}else{a=new o(h.typeNumber,h.correctLevel);a.addData(h.text);a.make();c=r("<table></table>").css("width",h.width+"px").css("height",h.height+"px").css("border","0px").css("border-collapse","collapse").css("background-color",h.background);d=h.width/a.getModuleCount();b=h.height/a.getModuleCount();for(e=0;e<a.getModuleCount();e++){f=r("<tr></tr>").css("height",b+"px").appendTo(c);for(i=0;i<a.getModuleCount();i++)r("<td></td>").css("width",
875d+"px").css("background-color",a.isDark(e,i)?h.foreground:h.background).appendTo(f)}}a=c;$(a).appendTo(this)})}})($);
563e401a 876</script>
ab78acc6
IC
877 <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){
878// (public) Constructor
879function BigInteger(a, b, c) {
880 if (!(this instanceof BigInteger))
881 return new BigInteger(a, b, c)
3af2954a 882
ab78acc6
IC
883 if (a != null) {
884 if ("number" == typeof a) this.fromNumber(a, b, c)
885 else if (b == null && "string" != typeof a) this.fromString(a, 256)
886 else this.fromString(a, b)
887 }
888}
3af2954a 889
ab78acc6 890var proto = BigInteger.prototype
3af2954a 891
ab78acc6
IC
892// duck-typed isBigInteger
893proto.__bigi = require('../package.json').version
894BigInteger.isBigInteger = function (obj, check_ver) {
895 return obj && obj.__bigi && (!check_ver || obj.__bigi === proto.__bigi)
896}
3af2954a 897
ab78acc6
IC
898// Bits per digit
899var dbits
3af2954a 900
ab78acc6
IC
901// am: Compute w_j += (x*this_i), propagate carries,
902// c is initial carry, returns final carry.
903// c < 3*dvalue, x < 2*dvalue, this_i < dvalue
904// We need to select the fastest one that works in this environment.
3af2954a 905
ab78acc6
IC
906// am1: use a single mult and divide to get the high bits,
907// max digit bits should be 26 because
908// max internal value = 2*dvalue^2-2*dvalue (< 2^53)
909function am1(i, x, w, j, c, n) {
910 while (--n >= 0) {
911 var v = x * this[i++] + w[j] + c
912 c = Math.floor(v / 0x4000000)
913 w[j++] = v & 0x3ffffff
3af2954a 914 }
ab78acc6
IC
915 return c
916}
917// am2 avoids a big mult-and-extract completely.
918// Max digit bits should be <= 30 because we do bitwise ops
919// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
920function am2(i, x, w, j, c, n) {
921 var xl = x & 0x7fff,
922 xh = x >> 15
923 while (--n >= 0) {
924 var l = this[i] & 0x7fff
925 var h = this[i++] >> 15
926 var m = xh * l + h * xl
927 l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff)
928 c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30)
929 w[j++] = l & 0x3fffffff
930 }
931 return c
932}
933// Alternately, set max digit bits to 28 since some
934// browsers slow down when dealing with 32-bit numbers.
935function am3(i, x, w, j, c, n) {
936 var xl = x & 0x3fff,
937 xh = x >> 14
938 while (--n >= 0) {
939 var l = this[i] & 0x3fff
940 var h = this[i++] >> 14
941 var m = xh * l + h * xl
942 l = xl * l + ((m & 0x3fff) << 14) + w[j] + c
943 c = (l >> 28) + (m >> 14) + xh * h
944 w[j++] = l & 0xfffffff
3af2954a 945 }
ab78acc6
IC
946 return c
947}
3af2954a 948
ab78acc6
IC
949// wtf?
950BigInteger.prototype.am = am1
951dbits = 26
3af2954a 952
ab78acc6
IC
953BigInteger.prototype.DB = dbits
954BigInteger.prototype.DM = ((1 << dbits) - 1)
955var DV = BigInteger.prototype.DV = (1 << dbits)
3af2954a 956
ab78acc6
IC
957var BI_FP = 52
958BigInteger.prototype.FV = Math.pow(2, BI_FP)
959BigInteger.prototype.F1 = BI_FP - dbits
960BigInteger.prototype.F2 = 2 * dbits - BI_FP
3af2954a 961
ab78acc6
IC
962// Digit conversions
963var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz"
964var BI_RC = new Array()
965var rr, vv
966rr = "0".charCodeAt(0)
967for (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv
968rr = "a".charCodeAt(0)
969for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv
970rr = "A".charCodeAt(0)
971for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv
3af2954a 972
ab78acc6
IC
973function int2char(n) {
974 return BI_RM.charAt(n)
975}
3af2954a 976
ab78acc6
IC
977function intAt(s, i) {
978 var c = BI_RC[s.charCodeAt(i)]
979 return (c == null) ? -1 : c
980}
3af2954a 981
ab78acc6
IC
982// (protected) copy this to r
983function bnpCopyTo(r) {
984 for (var i = this.t - 1; i >= 0; --i) r[i] = this[i]
985 r.t = this.t
986 r.s = this.s
987}
3af2954a 988
ab78acc6
IC
989// (protected) set from integer value x, -DV <= x < DV
990function bnpFromInt(x) {
991 this.t = 1
992 this.s = (x < 0) ? -1 : 0
993 if (x > 0) this[0] = x
994 else if (x < -1) this[0] = x + DV
995 else this.t = 0
996}
3af2954a 997
ab78acc6
IC
998// return bigint initialized to value
999function nbv(i) {
1000 var r = new BigInteger()
1001 r.fromInt(i)
1002 return r
1003}
3af2954a 1004
ab78acc6
IC
1005// (protected) set from string and radix
1006function bnpFromString(s, b) {
1007 var self = this
3af2954a 1008
ab78acc6
IC
1009 var k
1010 if (b == 16) k = 4
1011 else if (b == 8) k = 3
1012 else if (b == 256) k = 8; // byte array
1013 else if (b == 2) k = 1
1014 else if (b == 32) k = 5
1015 else if (b == 4) k = 2
1016 else {
1017 self.fromRadix(s, b)
1018 return
1019 }
1020 self.t = 0
1021 self.s = 0
1022 var i = s.length,
1023 mi = false,
1024 sh = 0
1025 while (--i >= 0) {
1026 var x = (k == 8) ? s[i] & 0xff : intAt(s, i)
1027 if (x < 0) {
1028 if (s.charAt(i) == "-") mi = true
1029 continue
1030 }
1031 mi = false
1032 if (sh == 0)
1033 self[self.t++] = x
1034 else if (sh + k > self.DB) {
1035 self[self.t - 1] |= (x & ((1 << (self.DB - sh)) - 1)) << sh
1036 self[self.t++] = (x >> (self.DB - sh))
1037 } else
1038 self[self.t - 1] |= x << sh
1039 sh += k
1040 if (sh >= self.DB) sh -= self.DB
1041 }
1042 if (k == 8 && (s[0] & 0x80) != 0) {
1043 self.s = -1
1044 if (sh > 0) self[self.t - 1] |= ((1 << (self.DB - sh)) - 1) << sh
1045 }
1046 self.clamp()
1047 if (mi) BigInteger.ZERO.subTo(self, self)
1048}
3af2954a 1049
ab78acc6
IC
1050// (protected) clamp off excess high words
1051function bnpClamp() {
1052 var c = this.s & this.DM
1053 while (this.t > 0 && this[this.t - 1] == c)--this.t
1054}
3af2954a 1055
ab78acc6
IC
1056// (public) return string representation in given radix
1057function bnToString(b) {
1058 var self = this
1059 if (self.s < 0) return "-" + self.negate()
1060 .toString(b)
1061 var k
1062 if (b == 16) k = 4
1063 else if (b == 8) k = 3
1064 else if (b == 2) k = 1
1065 else if (b == 32) k = 5
1066 else if (b == 4) k = 2
1067 else return self.toRadix(b)
1068 var km = (1 << k) - 1,
1069 d, m = false,
1070 r = "",
1071 i = self.t
1072 var p = self.DB - (i * self.DB) % k
1073 if (i-- > 0) {
1074 if (p < self.DB && (d = self[i] >> p) > 0) {
1075 m = true
1076 r = int2char(d)
1077 }
1078 while (i >= 0) {
1079 if (p < k) {
1080 d = (self[i] & ((1 << p) - 1)) << (k - p)
1081 d |= self[--i] >> (p += self.DB - k)
1082 } else {
1083 d = (self[i] >> (p -= k)) & km
1084 if (p <= 0) {
1085 p += self.DB
1086 --i
1087 }
1088 }
1089 if (d > 0) m = true
1090 if (m) r += int2char(d)
3af2954a 1091 }
3af2954a 1092 }
ab78acc6
IC
1093 return m ? r : "0"
1094}
3af2954a 1095
ab78acc6
IC
1096// (public) -this
1097function bnNegate() {
1098 var r = new BigInteger()
1099 BigInteger.ZERO.subTo(this, r)
1100 return r
1101}
3af2954a 1102
ab78acc6
IC
1103// (public) |this|
1104function bnAbs() {
1105 return (this.s < 0) ? this.negate() : this
1106}
3af2954a 1107
ab78acc6
IC
1108// (public) return + if this > a, - if this < a, 0 if equal
1109function bnCompareTo(a) {
1110 var r = this.s - a.s
1111 if (r != 0) return r
1112 var i = this.t
1113 r = i - a.t
1114 if (r != 0) return (this.s < 0) ? -r : r
1115 while (--i >= 0)
1116 if ((r = this[i] - a[i]) != 0) return r
1117 return 0
1118}
3af2954a 1119
ab78acc6
IC
1120// returns bit length of the integer x
1121function nbits(x) {
1122 var r = 1,
1123 t
1124 if ((t = x >>> 16) != 0) {
1125 x = t
1126 r += 16
1127 }
1128 if ((t = x >> 8) != 0) {
1129 x = t
1130 r += 8
1131 }
1132 if ((t = x >> 4) != 0) {
1133 x = t
1134 r += 4
1135 }
1136 if ((t = x >> 2) != 0) {
1137 x = t
1138 r += 2
3af2954a 1139 }
ab78acc6
IC
1140 if ((t = x >> 1) != 0) {
1141 x = t
1142 r += 1
1143 }
1144 return r
1145}
1146
1147// (public) return the number of bits in "this"
1148function bnBitLength() {
1149 if (this.t <= 0) return 0
1150 return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM))
1151}
3af2954a 1152
ab78acc6
IC
1153// (public) return the number of bytes in "this"
1154function bnByteLength() {
1155 return this.bitLength() >> 3
1156}
3af2954a 1157
ab78acc6
IC
1158// (protected) r = this << n*DB
1159function bnpDLShiftTo(n, r) {
1160 var i
1161 for (i = this.t - 1; i >= 0; --i) r[i + n] = this[i]
1162 for (i = n - 1; i >= 0; --i) r[i] = 0
1163 r.t = this.t + n
1164 r.s = this.s
1165}
3af2954a 1166
ab78acc6
IC
1167// (protected) r = this >> n*DB
1168function bnpDRShiftTo(n, r) {
1169 for (var i = n; i < this.t; ++i) r[i - n] = this[i]
1170 r.t = Math.max(this.t - n, 0)
1171 r.s = this.s
1172}
3af2954a 1173
ab78acc6
IC
1174// (protected) r = this << n
1175function bnpLShiftTo(n, r) {
1176 var self = this
1177 var bs = n % self.DB
1178 var cbs = self.DB - bs
1179 var bm = (1 << cbs) - 1
1180 var ds = Math.floor(n / self.DB),
1181 c = (self.s << bs) & self.DM,
1182 i
1183 for (i = self.t - 1; i >= 0; --i) {
1184 r[i + ds + 1] = (self[i] >> cbs) | c
1185 c = (self[i] & bm) << bs
1186 }
1187 for (i = ds - 1; i >= 0; --i) r[i] = 0
1188 r[ds] = c
1189 r.t = self.t + ds + 1
1190 r.s = self.s
1191 r.clamp()
1192}
3af2954a 1193
ab78acc6
IC
1194// (protected) r = this >> n
1195function bnpRShiftTo(n, r) {
1196 var self = this
1197 r.s = self.s
1198 var ds = Math.floor(n / self.DB)
1199 if (ds >= self.t) {
1200 r.t = 0
1201 return
3af2954a 1202 }
ab78acc6
IC
1203 var bs = n % self.DB
1204 var cbs = self.DB - bs
1205 var bm = (1 << bs) - 1
1206 r[0] = self[ds] >> bs
1207 for (var i = ds + 1; i < self.t; ++i) {
1208 r[i - ds - 1] |= (self[i] & bm) << cbs
1209 r[i - ds] = self[i] >> bs
1210 }
1211 if (bs > 0) r[self.t - ds - 1] |= (self.s & bm) << cbs
1212 r.t = self.t - ds
1213 r.clamp()
1214}
3af2954a 1215
ab78acc6
IC
1216// (protected) r = this - a
1217function bnpSubTo(a, r) {
1218 var self = this
1219 var i = 0,
1220 c = 0,
1221 m = Math.min(a.t, self.t)
1222 while (i < m) {
1223 c += self[i] - a[i]
1224 r[i++] = c & self.DM
1225 c >>= self.DB
1226 }
1227 if (a.t < self.t) {
1228 c -= a.s
1229 while (i < self.t) {
1230 c += self[i]
1231 r[i++] = c & self.DM
1232 c >>= self.DB
1233 }
1234 c += self.s
1235 } else {
1236 c += self.s
1237 while (i < a.t) {
1238 c -= a[i]
1239 r[i++] = c & self.DM
1240 c >>= self.DB
1241 }
1242 c -= a.s
1243 }
1244 r.s = (c < 0) ? -1 : 0
1245 if (c < -1) r[i++] = self.DV + c
1246 else if (c > 0) r[i++] = c
1247 r.t = i
1248 r.clamp()
1249}
3af2954a 1250
ab78acc6
IC
1251// (protected) r = this * a, r != this,a (HAC 14.12)
1252// "this" should be the larger one if appropriate.
1253function bnpMultiplyTo(a, r) {
1254 var x = this.abs(),
1255 y = a.abs()
1256 var i = x.t
1257 r.t = i + y.t
1258 while (--i >= 0) r[i] = 0
1259 for (i = 0; i < y.t; ++i) r[i + x.t] = x.am(0, y[i], r, i, 0, x.t)
1260 r.s = 0
1261 r.clamp()
1262 if (this.s != a.s) BigInteger.ZERO.subTo(r, r)
1263}
3af2954a 1264
ab78acc6
IC
1265// (protected) r = this^2, r != this (HAC 14.16)
1266function bnpSquareTo(r) {
1267 var x = this.abs()
1268 var i = r.t = 2 * x.t
1269 while (--i >= 0) r[i] = 0
1270 for (i = 0; i < x.t - 1; ++i) {
1271 var c = x.am(i, x[i], r, 2 * i, 0, 1)
1272 if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {
1273 r[i + x.t] -= x.DV
1274 r[i + x.t + 1] = 1
1275 }
1276 }
1277 if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1)
1278 r.s = 0
1279 r.clamp()
1280}
3af2954a 1281
ab78acc6
IC
1282// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
1283// r != q, this != m. q or r may be null.
1284function bnpDivRemTo(m, q, r) {
1285 var self = this
1286 var pm = m.abs()
1287 if (pm.t <= 0) return
1288 var pt = self.abs()
1289 if (pt.t < pm.t) {
1290 if (q != null) q.fromInt(0)
1291 if (r != null) self.copyTo(r)
1292 return
1293 }
1294 if (r == null) r = new BigInteger()
1295 var y = new BigInteger(),
1296 ts = self.s,
1297 ms = m.s
1298 var nsh = self.DB - nbits(pm[pm.t - 1]); // normalize modulus
1299 if (nsh > 0) {
1300 pm.lShiftTo(nsh, y)
1301 pt.lShiftTo(nsh, r)
1302 } else {
1303 pm.copyTo(y)
1304 pt.copyTo(r)
1305 }
1306 var ys = y.t
1307 var y0 = y[ys - 1]
1308 if (y0 == 0) return
1309 var yt = y0 * (1 << self.F1) + ((ys > 1) ? y[ys - 2] >> self.F2 : 0)
1310 var d1 = self.FV / yt,
1311 d2 = (1 << self.F1) / yt,
1312 e = 1 << self.F2
1313 var i = r.t,
1314 j = i - ys,
1315 t = (q == null) ? new BigInteger() : q
1316 y.dlShiftTo(j, t)
1317 if (r.compareTo(t) >= 0) {
1318 r[r.t++] = 1
1319 r.subTo(t, r)
1320 }
1321 BigInteger.ONE.dlShiftTo(ys, t)
1322 t.subTo(y, y); // "negative" y so we can replace sub with am later
1323 while (y.t < ys) y[y.t++] = 0
1324 while (--j >= 0) {
1325 // Estimate quotient digit
1326 var qd = (r[--i] == y0) ? self.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2)
1327 if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out
1328 y.dlShiftTo(j, t)
1329 r.subTo(t, r)
1330 while (r[i] < --qd) r.subTo(t, r)
3af2954a 1331 }
ab78acc6
IC
1332 }
1333 if (q != null) {
1334 r.drShiftTo(ys, q)
1335 if (ts != ms) BigInteger.ZERO.subTo(q, q)
1336 }
1337 r.t = ys
1338 r.clamp()
1339 if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder
1340 if (ts < 0) BigInteger.ZERO.subTo(r, r)
1341}
3af2954a 1342
ab78acc6
IC
1343// (public) this mod a
1344function bnMod(a) {
1345 var r = new BigInteger()
1346 this.abs()
1347 .divRemTo(a, null, r)
1348 if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r)
1349 return r
1350}
3af2954a 1351
ab78acc6
IC
1352// Modular reduction using "classic" algorithm
1353function Classic(m) {
1354 this.m = m
1355}
3af2954a 1356
ab78acc6
IC
1357function cConvert(x) {
1358 if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m)
1359 else return x
1360}
1361
1362function cRevert(x) {
1363 return x
1364}
3af2954a 1365
ab78acc6
IC
1366function cReduce(x) {
1367 x.divRemTo(this.m, null, x)
1368}
3af2954a 1369
ab78acc6
IC
1370function cMulTo(x, y, r) {
1371 x.multiplyTo(y, r)
1372 this.reduce(r)
1373}
3af2954a 1374
ab78acc6
IC
1375function cSqrTo(x, r) {
1376 x.squareTo(r)
1377 this.reduce(r)
1378}
3af2954a 1379
ab78acc6
IC
1380Classic.prototype.convert = cConvert
1381Classic.prototype.revert = cRevert
1382Classic.prototype.reduce = cReduce
1383Classic.prototype.mulTo = cMulTo
1384Classic.prototype.sqrTo = cSqrTo
3af2954a 1385
ab78acc6
IC
1386// (protected) return "-1/this % 2^DB"; useful for Mont. reduction
1387// justification:
1388// xy == 1 (mod m)
1389// xy = 1+km
1390// xy(2-xy) = (1+km)(1-km)
1391// x[y(2-xy)] = 1-k^2m^2
1392// x[y(2-xy)] == 1 (mod m^2)
1393// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
1394// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
1395// JS multiply "overflows" differently from C/C++, so care is needed here.
1396function bnpInvDigit() {
1397 if (this.t < 1) return 0
1398 var x = this[0]
1399 if ((x & 1) == 0) return 0
1400 var y = x & 3; // y == 1/x mod 2^2
1401 y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4
1402 y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8
1403 y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16
1404 // last step - calculate inverse mod DV directly
1405 // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
1406 y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits
1407 // we really want the negative inverse, and -DV < y < DV
1408 return (y > 0) ? this.DV - y : -y
1409}
3af2954a 1410
ab78acc6
IC
1411// Montgomery reduction
1412function Montgomery(m) {
1413 this.m = m
1414 this.mp = m.invDigit()
1415 this.mpl = this.mp & 0x7fff
1416 this.mph = this.mp >> 15
1417 this.um = (1 << (m.DB - 15)) - 1
1418 this.mt2 = 2 * m.t
1419}
3af2954a 1420
ab78acc6
IC
1421// xR mod m
1422function montConvert(x) {
1423 var r = new BigInteger()
1424 x.abs()
1425 .dlShiftTo(this.m.t, r)
1426 r.divRemTo(this.m, null, r)
1427 if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r)
1428 return r
1429}
3af2954a 1430
ab78acc6
IC
1431// x/R mod m
1432function montRevert(x) {
1433 var r = new BigInteger()
1434 x.copyTo(r)
1435 this.reduce(r)
1436 return r
1437}
3af2954a 1438
ab78acc6
IC
1439// x = x/R mod m (HAC 14.32)
1440function montReduce(x) {
1441 while (x.t <= this.mt2) // pad x so am has enough room later
1442 x[x.t++] = 0
1443 for (var i = 0; i < this.m.t; ++i) {
1444 // faster way of calculating u0 = x[i]*mp mod DV
1445 var j = x[i] & 0x7fff
1446 var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM
1447 // use am to combine the multiply-shift-add into one call
1448 j = i + this.m.t
1449 x[j] += this.m.am(0, u0, x, i, 0, this.m.t)
1450 // propagate carry
1451 while (x[j] >= x.DV) {
1452 x[j] -= x.DV
1453 x[++j]++
1454 }
1455 }
1456 x.clamp()
1457 x.drShiftTo(this.m.t, x)
1458 if (x.compareTo(this.m) >= 0) x.subTo(this.m, x)
1459}
3af2954a 1460
ab78acc6
IC
1461// r = "x^2/R mod m"; x != r
1462function montSqrTo(x, r) {
1463 x.squareTo(r)
1464 this.reduce(r)
1465}
3af2954a 1466
ab78acc6
IC
1467// r = "xy/R mod m"; x,y != r
1468function montMulTo(x, y, r) {
1469 x.multiplyTo(y, r)
1470 this.reduce(r)
1471}
3af2954a 1472
ab78acc6
IC
1473Montgomery.prototype.convert = montConvert
1474Montgomery.prototype.revert = montRevert
1475Montgomery.prototype.reduce = montReduce
1476Montgomery.prototype.mulTo = montMulTo
1477Montgomery.prototype.sqrTo = montSqrTo
3af2954a 1478
ab78acc6
IC
1479// (protected) true iff this is even
1480function bnpIsEven() {
1481 return ((this.t > 0) ? (this[0] & 1) : this.s) == 0
1482}
3af2954a 1483
ab78acc6
IC
1484// (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
1485function bnpExp(e, z) {
1486 if (e > 0xffffffff || e < 1) return BigInteger.ONE
1487 var r = new BigInteger(),
1488 r2 = new BigInteger(),
1489 g = z.convert(this),
1490 i = nbits(e) - 1
1491 g.copyTo(r)
1492 while (--i >= 0) {
1493 z.sqrTo(r, r2)
1494 if ((e & (1 << i)) > 0) z.mulTo(r2, g, r)
1495 else {
1496 var t = r
1497 r = r2
1498 r2 = t
3af2954a 1499 }
3af2954a 1500 }
ab78acc6
IC
1501 return z.revert(r)
1502}
3af2954a 1503
ab78acc6
IC
1504// (public) this^e % m, 0 <= e < 2^32
1505function bnModPowInt(e, m) {
1506 var z
1507 if (e < 256 || m.isEven()) z = new Classic(m)
1508 else z = new Montgomery(m)
1509 return this.exp(e, z)
1510}
3af2954a 1511
ab78acc6
IC
1512// protected
1513proto.copyTo = bnpCopyTo
1514proto.fromInt = bnpFromInt
1515proto.fromString = bnpFromString
1516proto.clamp = bnpClamp
1517proto.dlShiftTo = bnpDLShiftTo
1518proto.drShiftTo = bnpDRShiftTo
1519proto.lShiftTo = bnpLShiftTo
1520proto.rShiftTo = bnpRShiftTo
1521proto.subTo = bnpSubTo
1522proto.multiplyTo = bnpMultiplyTo
1523proto.squareTo = bnpSquareTo
1524proto.divRemTo = bnpDivRemTo
1525proto.invDigit = bnpInvDigit
1526proto.isEven = bnpIsEven
1527proto.exp = bnpExp
3af2954a 1528
ab78acc6
IC
1529// public
1530proto.toString = bnToString
1531proto.negate = bnNegate
1532proto.abs = bnAbs
1533proto.compareTo = bnCompareTo
1534proto.bitLength = bnBitLength
1535proto.byteLength = bnByteLength
1536proto.mod = bnMod
1537proto.modPowInt = bnModPowInt
3af2954a 1538
ab78acc6
IC
1539// (public)
1540function bnClone() {
1541 var r = new BigInteger()
1542 this.copyTo(r)
1543 return r
1544}
3af2954a 1545
ab78acc6
IC
1546// (public) return value as integer
1547function bnIntValue() {
1548 if (this.s < 0) {
1549 if (this.t == 1) return this[0] - this.DV
1550 else if (this.t == 0) return -1
1551 } else if (this.t == 1) return this[0]
1552 else if (this.t == 0) return 0
1553 // assumes 16 < DB < 32
1554 return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0]
1555}
3af2954a 1556
ab78acc6
IC
1557// (public) return value as byte
1558function bnByteValue() {
1559 return (this.t == 0) ? this.s : (this[0] << 24) >> 24
1560}
3af2954a 1561
ab78acc6
IC
1562// (public) return value as short (assumes DB>=16)
1563function bnShortValue() {
1564 return (this.t == 0) ? this.s : (this[0] << 16) >> 16
1565}
3af2954a 1566
ab78acc6
IC
1567// (protected) return x s.t. r^x < DV
1568function bnpChunkSize(r) {
1569 return Math.floor(Math.LN2 * this.DB / Math.log(r))
1570}
3af2954a 1571
ab78acc6
IC
1572// (public) 0 if this == 0, 1 if this > 0
1573function bnSigNum() {
1574 if (this.s < 0) return -1
1575 else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0
1576 else return 1
1577}
3af2954a 1578
ab78acc6
IC
1579// (protected) convert to radix string
1580function bnpToRadix(b) {
1581 if (b == null) b = 10
1582 if (this.signum() == 0 || b < 2 || b > 36) return "0"
1583 var cs = this.chunkSize(b)
1584 var a = Math.pow(b, cs)
1585 var d = nbv(a),
1586 y = new BigInteger(),
1587 z = new BigInteger(),
1588 r = ""
1589 this.divRemTo(d, y, z)
1590 while (y.signum() > 0) {
1591 r = (a + z.intValue())
1592 .toString(b)
1593 .substr(1) + r
1594 y.divRemTo(d, y, z)
1595 }
1596 return z.intValue()
1597 .toString(b) + r
1598}
3af2954a 1599
ab78acc6
IC
1600// (protected) convert from radix string
1601function bnpFromRadix(s, b) {
1602 var self = this
1603 self.fromInt(0)
1604 if (b == null) b = 10
1605 var cs = self.chunkSize(b)
1606 var d = Math.pow(b, cs),
1607 mi = false,
1608 j = 0,
1609 w = 0
1610 for (var i = 0; i < s.length; ++i) {
1611 var x = intAt(s, i)
1612 if (x < 0) {
1613 if (s.charAt(i) == "-" && self.signum() == 0) mi = true
1614 continue
1615 }
1616 w = b * w + x
1617 if (++j >= cs) {
1618 self.dMultiply(d)
1619 self.dAddOffset(w, 0)
1620 j = 0
1621 w = 0
1622 }
1623 }
1624 if (j > 0) {
1625 self.dMultiply(Math.pow(b, j))
1626 self.dAddOffset(w, 0)
1627 }
1628 if (mi) BigInteger.ZERO.subTo(self, self)
1629}
3af2954a 1630
ab78acc6
IC
1631// (protected) alternate constructor
1632function bnpFromNumber(a, b, c) {
1633 var self = this
1634 if ("number" == typeof b) {
1635 // new BigInteger(int,int,RNG)
1636 if (a < 2) self.fromInt(1)
1637 else {
1638 self.fromNumber(a, c)
1639 if (!self.testBit(a - 1)) // force MSB set
1640 self.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, self)
1641 if (self.isEven()) self.dAddOffset(1, 0); // force odd
1642 while (!self.isProbablePrime(b)) {
1643 self.dAddOffset(2, 0)
1644 if (self.bitLength() > a) self.subTo(BigInteger.ONE.shiftLeft(a - 1), self)
1645 }
1646 }
1647 } else {
1648 // new BigInteger(int,RNG)
1649 var x = new Array(),
1650 t = a & 7
1651 x.length = (a >> 3) + 1
1652 b.nextBytes(x)
1653 if (t > 0) x[0] &= ((1 << t) - 1)
1654 else x[0] = 0
1655 self.fromString(x, 256)
3af2954a 1656 }
ab78acc6 1657}
3af2954a 1658
ab78acc6
IC
1659// (public) convert to bigendian byte array
1660function bnToByteArray() {
1661 var self = this
1662 var i = self.t,
1663 r = new Array()
1664 r[0] = self.s
1665 var p = self.DB - (i * self.DB) % 8,
1666 d, k = 0
1667 if (i-- > 0) {
1668 if (p < self.DB && (d = self[i] >> p) != (self.s & self.DM) >> p)
1669 r[k++] = d | (self.s << (self.DB - p))
1670 while (i >= 0) {
1671 if (p < 8) {
1672 d = (self[i] & ((1 << p) - 1)) << (8 - p)
1673 d |= self[--i] >> (p += self.DB - 8)
1674 } else {
1675 d = (self[i] >> (p -= 8)) & 0xff
1676 if (p <= 0) {
1677 p += self.DB
1678 --i
1679 }
1680 }
1681 if ((d & 0x80) != 0) d |= -256
1682 if (k === 0 && (self.s & 0x80) != (d & 0x80))++k
1683 if (k > 0 || d != self.s) r[k++] = d
3af2954a 1684 }
3af2954a 1685 }
ab78acc6
IC
1686 return r
1687}
3af2954a 1688
ab78acc6
IC
1689function bnEquals(a) {
1690 return (this.compareTo(a) == 0)
1691}
3af2954a 1692
ab78acc6
IC
1693function bnMin(a) {
1694 return (this.compareTo(a) < 0) ? this : a
1695}
3af2954a 1696
ab78acc6
IC
1697function bnMax(a) {
1698 return (this.compareTo(a) > 0) ? this : a
1699}
3af2954a 1700
ab78acc6
IC
1701// (protected) r = this op a (bitwise)
1702function bnpBitwiseTo(a, op, r) {
1703 var self = this
1704 var i, f, m = Math.min(a.t, self.t)
1705 for (i = 0; i < m; ++i) r[i] = op(self[i], a[i])
1706 if (a.t < self.t) {
1707 f = a.s & self.DM
1708 for (i = m; i < self.t; ++i) r[i] = op(self[i], f)
1709 r.t = self.t
1710 } else {
1711 f = self.s & self.DM
1712 for (i = m; i < a.t; ++i) r[i] = op(f, a[i])
1713 r.t = a.t
3af2954a 1714 }
ab78acc6
IC
1715 r.s = op(self.s, a.s)
1716 r.clamp()
1717}
3af2954a 1718
ab78acc6
IC
1719// (public) this & a
1720function op_and(x, y) {
1721 return x & y
1722}
3af2954a 1723
ab78acc6
IC
1724function bnAnd(a) {
1725 var r = new BigInteger()
1726 this.bitwiseTo(a, op_and, r)
1727 return r
1728}
3af2954a 1729
ab78acc6
IC
1730// (public) this | a
1731function op_or(x, y) {
1732 return x | y
1733}
3af2954a 1734
ab78acc6
IC
1735function bnOr(a) {
1736 var r = new BigInteger()
1737 this.bitwiseTo(a, op_or, r)
1738 return r
1739}
3af2954a 1740
ab78acc6
IC
1741// (public) this ^ a
1742function op_xor(x, y) {
1743 return x ^ y
1744}
3af2954a 1745
ab78acc6
IC
1746function bnXor(a) {
1747 var r = new BigInteger()
1748 this.bitwiseTo(a, op_xor, r)
1749 return r
1750}
3af2954a 1751
ab78acc6
IC
1752// (public) this & ~a
1753function op_andnot(x, y) {
1754 return x & ~y
1755}
3af2954a 1756
ab78acc6
IC
1757function bnAndNot(a) {
1758 var r = new BigInteger()
1759 this.bitwiseTo(a, op_andnot, r)
1760 return r
1761}
3af2954a 1762
ab78acc6
IC
1763// (public) ~this
1764function bnNot() {
1765 var r = new BigInteger()
1766 for (var i = 0; i < this.t; ++i) r[i] = this.DM & ~this[i]
1767 r.t = this.t
1768 r.s = ~this.s
1769 return r
1770}
3af2954a 1771
ab78acc6
IC
1772// (public) this << n
1773function bnShiftLeft(n) {
1774 var r = new BigInteger()
1775 if (n < 0) this.rShiftTo(-n, r)
1776 else this.lShiftTo(n, r)
1777 return r
1778}
3af2954a 1779
ab78acc6
IC
1780// (public) this >> n
1781function bnShiftRight(n) {
1782 var r = new BigInteger()
1783 if (n < 0) this.lShiftTo(-n, r)
1784 else this.rShiftTo(n, r)
1785 return r
1786}
3af2954a 1787
ab78acc6
IC
1788// return index of lowest 1-bit in x, x < 2^31
1789function lbit(x) {
1790 if (x == 0) return -1
1791 var r = 0
1792 if ((x & 0xffff) == 0) {
1793 x >>= 16
1794 r += 16
3af2954a 1795 }
ab78acc6
IC
1796 if ((x & 0xff) == 0) {
1797 x >>= 8
1798 r += 8
1799 }
1800 if ((x & 0xf) == 0) {
1801 x >>= 4
1802 r += 4
1803 }
1804 if ((x & 3) == 0) {
1805 x >>= 2
1806 r += 2
1807 }
1808 if ((x & 1) == 0)++r
1809 return r
1810}
3af2954a 1811
ab78acc6
IC
1812// (public) returns index of lowest 1-bit (or -1 if none)
1813function bnGetLowestSetBit() {
1814 for (var i = 0; i < this.t; ++i)
1815 if (this[i] != 0) return i * this.DB + lbit(this[i])
1816 if (this.s < 0) return this.t * this.DB
1817 return -1
1818}
3af2954a 1819
ab78acc6
IC
1820// return number of 1 bits in x
1821function cbit(x) {
1822 var r = 0
1823 while (x != 0) {
1824 x &= x - 1
1825 ++r
3af2954a 1826 }
ab78acc6
IC
1827 return r
1828}
3af2954a 1829
ab78acc6
IC
1830// (public) return number of set bits
1831function bnBitCount() {
1832 var r = 0,
1833 x = this.s & this.DM
1834 for (var i = 0; i < this.t; ++i) r += cbit(this[i] ^ x)
1835 return r
1836}
1837
1838// (public) true iff nth bit is set
1839function bnTestBit(n) {
1840 var j = Math.floor(n / this.DB)
1841 if (j >= this.t) return (this.s != 0)
1842 return ((this[j] & (1 << (n % this.DB))) != 0)
1843}
3af2954a 1844
ab78acc6
IC
1845// (protected) this op (1<<n)
1846function bnpChangeBit(n, op) {
1847 var r = BigInteger.ONE.shiftLeft(n)
1848 this.bitwiseTo(r, op, r)
1849 return r
1850}
3af2954a 1851
ab78acc6
IC
1852// (public) this | (1<<n)
1853function bnSetBit(n) {
1854 return this.changeBit(n, op_or)
1855}
3af2954a 1856
ab78acc6
IC
1857// (public) this & ~(1<<n)
1858function bnClearBit(n) {
1859 return this.changeBit(n, op_andnot)
1860}
3af2954a 1861
ab78acc6
IC
1862// (public) this ^ (1<<n)
1863function bnFlipBit(n) {
1864 return this.changeBit(n, op_xor)
1865}
3af2954a 1866
ab78acc6
IC
1867// (protected) r = this + a
1868function bnpAddTo(a, r) {
1869 var self = this
3af2954a 1870
ab78acc6
IC
1871 var i = 0,
1872 c = 0,
1873 m = Math.min(a.t, self.t)
1874 while (i < m) {
1875 c += self[i] + a[i]
1876 r[i++] = c & self.DM
1877 c >>= self.DB
1878 }
1879 if (a.t < self.t) {
1880 c += a.s
1881 while (i < self.t) {
1882 c += self[i]
1883 r[i++] = c & self.DM
1884 c >>= self.DB
1885 }
1886 c += self.s
1887 } else {
1888 c += self.s
1889 while (i < a.t) {
1890 c += a[i]
1891 r[i++] = c & self.DM
1892 c >>= self.DB
1893 }
1894 c += a.s
1895 }
1896 r.s = (c < 0) ? -1 : 0
1897 if (c > 0) r[i++] = c
1898 else if (c < -1) r[i++] = self.DV + c
1899 r.t = i
1900 r.clamp()
1901}
3af2954a 1902
ab78acc6
IC
1903// (public) this + a
1904function bnAdd(a) {
1905 var r = new BigInteger()
1906 this.addTo(a, r)
1907 return r
1908}
3af2954a 1909
ab78acc6
IC
1910// (public) this - a
1911function bnSubtract(a) {
1912 var r = new BigInteger()
1913 this.subTo(a, r)
1914 return r
1915}
3af2954a 1916
ab78acc6
IC
1917// (public) this * a
1918function bnMultiply(a) {
1919 var r = new BigInteger()
1920 this.multiplyTo(a, r)
1921 return r
1922}
3af2954a 1923
ab78acc6
IC
1924// (public) this^2
1925function bnSquare() {
1926 var r = new BigInteger()
1927 this.squareTo(r)
1928 return r
1929}
3af2954a 1930
ab78acc6
IC
1931// (public) this / a
1932function bnDivide(a) {
1933 var r = new BigInteger()
1934 this.divRemTo(a, r, null)
1935 return r
1936}
3af2954a 1937
ab78acc6
IC
1938// (public) this % a
1939function bnRemainder(a) {
1940 var r = new BigInteger()
1941 this.divRemTo(a, null, r)
1942 return r
1943}
3af2954a 1944
ab78acc6
IC
1945// (public) [this/a,this%a]
1946function bnDivideAndRemainder(a) {
1947 var q = new BigInteger(),
1948 r = new BigInteger()
1949 this.divRemTo(a, q, r)
1950 return new Array(q, r)
1951}
3af2954a 1952
ab78acc6
IC
1953// (protected) this *= n, this >= 0, 1 < n < DV
1954function bnpDMultiply(n) {
1955 this[this.t] = this.am(0, n - 1, this, 0, 0, this.t)
1956 ++this.t
1957 this.clamp()
1958}
3af2954a 1959
ab78acc6
IC
1960// (protected) this += n << w words, this >= 0
1961function bnpDAddOffset(n, w) {
1962 if (n == 0) return
1963 while (this.t <= w) this[this.t++] = 0
1964 this[w] += n
1965 while (this[w] >= this.DV) {
1966 this[w] -= this.DV
1967 if (++w >= this.t) this[this.t++] = 0
1968 ++this[w]
3af2954a 1969 }
ab78acc6 1970}
3af2954a 1971
ab78acc6
IC
1972// A "null" reducer
1973function NullExp() {}
3af2954a 1974
ab78acc6
IC
1975function nNop(x) {
1976 return x
1977}
3af2954a 1978
ab78acc6
IC
1979function nMulTo(x, y, r) {
1980 x.multiplyTo(y, r)
1981}
3af2954a 1982
ab78acc6
IC
1983function nSqrTo(x, r) {
1984 x.squareTo(r)
1985}
3af2954a 1986
ab78acc6
IC
1987NullExp.prototype.convert = nNop
1988NullExp.prototype.revert = nNop
1989NullExp.prototype.mulTo = nMulTo
1990NullExp.prototype.sqrTo = nSqrTo
3af2954a 1991
ab78acc6
IC
1992// (public) this^e
1993function bnPow(e) {
1994 return this.exp(e, new NullExp())
1995}
3af2954a 1996
ab78acc6
IC
1997// (protected) r = lower n words of "this * a", a.t <= n
1998// "this" should be the larger one if appropriate.
1999function bnpMultiplyLowerTo(a, n, r) {
2000 var i = Math.min(this.t + a.t, n)
2001 r.s = 0; // assumes a,this >= 0
2002 r.t = i
2003 while (i > 0) r[--i] = 0
2004 var j
2005 for (j = r.t - this.t; i < j; ++i) r[i + this.t] = this.am(0, a[i], r, i, 0, this.t)
2006 for (j = Math.min(a.t, n); i < j; ++i) this.am(0, a[i], r, i, 0, n - i)
2007 r.clamp()
2008}
3af2954a 2009
ab78acc6
IC
2010// (protected) r = "this * a" without lower n words, n > 0
2011// "this" should be the larger one if appropriate.
2012function bnpMultiplyUpperTo(a, n, r) {
2013 --n
2014 var i = r.t = this.t + a.t - n
2015 r.s = 0; // assumes a,this >= 0
2016 while (--i >= 0) r[i] = 0
2017 for (i = Math.max(n - this.t, 0); i < a.t; ++i)
2018 r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n)
2019 r.clamp()
2020 r.drShiftTo(1, r)
2021}
3af2954a 2022
ab78acc6
IC
2023// Barrett modular reduction
2024function Barrett(m) {
2025 // setup Barrett
2026 this.r2 = new BigInteger()
2027 this.q3 = new BigInteger()
2028 BigInteger.ONE.dlShiftTo(2 * m.t, this.r2)
2029 this.mu = this.r2.divide(m)
2030 this.m = m
2031}
3af2954a 2032
ab78acc6
IC
2033function barrettConvert(x) {
2034 if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m)
2035 else if (x.compareTo(this.m) < 0) return x
2036 else {
2037 var r = new BigInteger()
2038 x.copyTo(r)
2039 this.reduce(r)
2040 return r
3af2954a 2041 }
ab78acc6 2042}
3af2954a 2043
ab78acc6
IC
2044function barrettRevert(x) {
2045 return x
2046}
3af2954a 2047
ab78acc6
IC
2048// x = x mod m (HAC 14.42)
2049function barrettReduce(x) {
2050 var self = this
2051 x.drShiftTo(self.m.t - 1, self.r2)
2052 if (x.t > self.m.t + 1) {
2053 x.t = self.m.t + 1
2054 x.clamp()
3af2954a 2055 }
ab78acc6
IC
2056 self.mu.multiplyUpperTo(self.r2, self.m.t + 1, self.q3)
2057 self.m.multiplyLowerTo(self.q3, self.m.t + 1, self.r2)
2058 while (x.compareTo(self.r2) < 0) x.dAddOffset(1, self.m.t + 1)
2059 x.subTo(self.r2, x)
2060 while (x.compareTo(self.m) >= 0) x.subTo(self.m, x)
2061}
3af2954a 2062
ab78acc6
IC
2063// r = x^2 mod m; x != r
2064function barrettSqrTo(x, r) {
2065 x.squareTo(r)
2066 this.reduce(r)
2067}
3af2954a 2068
ab78acc6
IC
2069// r = x*y mod m; x,y != r
2070function barrettMulTo(x, y, r) {
2071 x.multiplyTo(y, r)
2072 this.reduce(r)
2073}
3af2954a 2074
ab78acc6
IC
2075Barrett.prototype.convert = barrettConvert
2076Barrett.prototype.revert = barrettRevert
2077Barrett.prototype.reduce = barrettReduce
2078Barrett.prototype.mulTo = barrettMulTo
2079Barrett.prototype.sqrTo = barrettSqrTo
3af2954a 2080
ab78acc6
IC
2081// (public) this^e % m (HAC 14.85)
2082function bnModPow(e, m) {
2083 var i = e.bitLength(),
2084 k, r = nbv(1),
2085 z
2086 if (i <= 0) return r
2087 else if (i < 18) k = 1
2088 else if (i < 48) k = 3
2089 else if (i < 144) k = 4
2090 else if (i < 768) k = 5
2091 else k = 6
2092 if (i < 8)
2093 z = new Classic(m)
2094 else if (m.isEven())
2095 z = new Barrett(m)
2096 else
2097 z = new Montgomery(m)
3af2954a 2098
ab78acc6
IC
2099 // precomputation
2100 var g = new Array(),
2101 n = 3,
2102 k1 = k - 1,
2103 km = (1 << k) - 1
2104 g[1] = z.convert(this)
2105 if (k > 1) {
2106 var g2 = new BigInteger()
2107 z.sqrTo(g[1], g2)
2108 while (n <= km) {
2109 g[n] = new BigInteger()
2110 z.mulTo(g2, g[n - 2], g[n])
2111 n += 2
2112 }
2113 }
2114
2115 var j = e.t - 1,
2116 w, is1 = true,
2117 r2 = new BigInteger(),
2118 t
2119 i = nbits(e[j]) - 1
2120 while (j >= 0) {
2121 if (i >= k1) w = (e[j] >> (i - k1)) & km
2122 else {
2123 w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i)
2124 if (j > 0) w |= e[j - 1] >> (this.DB + i - k1)
2125 }
3af2954a 2126
ab78acc6
IC
2127 n = k
2128 while ((w & 1) == 0) {
2129 w >>= 1
2130 --n
2131 }
2132 if ((i -= n) < 0) {
2133 i += this.DB
2134 --j
2135 }
2136 if (is1) { // ret == 1, don't bother squaring or multiplying it
2137 g[w].copyTo(r)
2138 is1 = false
2139 } else {
2140 while (n > 1) {
2141 z.sqrTo(r, r2)
2142 z.sqrTo(r2, r)
2143 n -= 2
2144 }
2145 if (n > 0) z.sqrTo(r, r2)
2146 else {
2147 t = r
2148 r = r2
2149 r2 = t
2150 }
2151 z.mulTo(r2, g[w], r)
2152 }
3af2954a 2153
ab78acc6
IC
2154 while (j >= 0 && (e[j] & (1 << i)) == 0) {
2155 z.sqrTo(r, r2)
2156 t = r
2157 r = r2
2158 r2 = t
2159 if (--i < 0) {
2160 i = this.DB - 1
2161 --j
3af2954a 2162 }
3af2954a
IC
2163 }
2164 }
ab78acc6
IC
2165 return z.revert(r)
2166}
3af2954a 2167
ab78acc6
IC
2168// (public) gcd(this,a) (HAC 14.54)
2169function bnGCD(a) {
2170 var x = (this.s < 0) ? this.negate() : this.clone()
2171 var y = (a.s < 0) ? a.negate() : a.clone()
2172 if (x.compareTo(y) < 0) {
2173 var t = x
2174 x = y
2175 y = t
2176 }
2177 var i = x.getLowestSetBit(),
2178 g = y.getLowestSetBit()
2179 if (g < 0) return x
2180 if (i < g) g = i
2181 if (g > 0) {
2182 x.rShiftTo(g, x)
2183 y.rShiftTo(g, y)
2184 }
2185 while (x.signum() > 0) {
2186 if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x)
2187 if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y)
2188 if (x.compareTo(y) >= 0) {
2189 x.subTo(y, x)
2190 x.rShiftTo(1, x)
2191 } else {
2192 y.subTo(x, y)
2193 y.rShiftTo(1, y)
2194 }
3af2954a 2195 }
ab78acc6
IC
2196 if (g > 0) y.lShiftTo(g, y)
2197 return y
2198}
3af2954a 2199
ab78acc6
IC
2200// (protected) this % n, n < 2^26
2201function bnpModInt(n) {
2202 if (n <= 0) return 0
2203 var d = this.DV % n,
2204 r = (this.s < 0) ? n - 1 : 0
2205 if (this.t > 0)
2206 if (d == 0) r = this[0] % n
2207 else
2208 for (var i = this.t - 1; i >= 0; --i) r = (d * r + this[i]) % n
2209 return r
2210}
3af2954a 2211
ab78acc6
IC
2212// (public) 1/this % m (HAC 14.61)
2213function bnModInverse(m) {
2214 var ac = m.isEven()
2215 if ((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO
2216 var u = m.clone(),
2217 v = this.clone()
2218 var a = nbv(1),
2219 b = nbv(0),
2220 c = nbv(0),
2221 d = nbv(1)
2222 while (u.signum() != 0) {
2223 while (u.isEven()) {
2224 u.rShiftTo(1, u)
2225 if (ac) {
2226 if (!a.isEven() || !b.isEven()) {
2227 a.addTo(this, a)
2228 b.subTo(m, b)
2229 }
2230 a.rShiftTo(1, a)
2231 } else if (!b.isEven()) b.subTo(m, b)
2232 b.rShiftTo(1, b)
2233 }
2234 while (v.isEven()) {
2235 v.rShiftTo(1, v)
2236 if (ac) {
2237 if (!c.isEven() || !d.isEven()) {
2238 c.addTo(this, c)
2239 d.subTo(m, d)
2240 }
2241 c.rShiftTo(1, c)
2242 } else if (!d.isEven()) d.subTo(m, d)
2243 d.rShiftTo(1, d)
2244 }
2245 if (u.compareTo(v) >= 0) {
2246 u.subTo(v, u)
2247 if (ac) a.subTo(c, a)
2248 b.subTo(d, b)
2249 } else {
2250 v.subTo(u, v)
2251 if (ac) c.subTo(a, c)
2252 d.subTo(b, d)
2253 }
2254 }
2255 if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO
2256 if (d.compareTo(m) >= 0) return d.subtract(m)
2257 if (d.signum() < 0) d.addTo(m, d)
2258 else return d
2259 if (d.signum() < 0) return d.add(m)
2260 else return d
2261}
2262
2263var lowprimes = [
2264 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71,
2265 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151,
2266 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233,
2267 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317,
2268 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419,
2269 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,
2270 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607,
2271 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701,
2272 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811,
2273 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911,
2274 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997
2275]
2276
2277var lplim = (1 << 26) / lowprimes[lowprimes.length - 1]
2278
2279// (public) test primality with certainty >= 1-.5^t
2280function bnIsProbablePrime(t) {
2281 var i, x = this.abs()
2282 if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {
2283 for (i = 0; i < lowprimes.length; ++i)
2284 if (x[0] == lowprimes[i]) return true
2285 return false
3af2954a 2286 }
ab78acc6
IC
2287 if (x.isEven()) return false
2288 i = 1
2289 while (i < lowprimes.length) {
2290 var m = lowprimes[i],
2291 j = i + 1
2292 while (j < lowprimes.length && m < lplim) m *= lowprimes[j++]
2293 m = x.modInt(m)
2294 while (i < j) if (m % lowprimes[i++] == 0) return false
2295 }
2296 return x.millerRabin(t)
2297}
2298
2299// (protected) true if probably prime (HAC 4.24, Miller-Rabin)
2300function bnpMillerRabin(t) {
2301 var n1 = this.subtract(BigInteger.ONE)
2302 var k = n1.getLowestSetBit()
2303 if (k <= 0) return false
2304 var r = n1.shiftRight(k)
2305 t = (t + 1) >> 1
2306 if (t > lowprimes.length) t = lowprimes.length
2307 var a = new BigInteger(null)
2308 var j, bases = []
2309 for (var i = 0; i < t; ++i) {
2310 for (;;) {
2311 j = lowprimes[Math.floor(Math.random() * lowprimes.length)]
2312 if (bases.indexOf(j) == -1) break
2313 }
2314 bases.push(j)
2315 a.fromInt(j)
2316 var y = a.modPow(r, this)
2317 if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {
2318 var j = 1
2319 while (j++ < k && y.compareTo(n1) != 0) {
2320 y = y.modPowInt(2, this)
2321 if (y.compareTo(BigInteger.ONE) == 0) return false
2322 }
2323 if (y.compareTo(n1) != 0) return false
2324 }
3af2954a 2325 }
ab78acc6
IC
2326 return true
2327}
3af2954a 2328
ab78acc6
IC
2329// protected
2330proto.chunkSize = bnpChunkSize
2331proto.toRadix = bnpToRadix
2332proto.fromRadix = bnpFromRadix
2333proto.fromNumber = bnpFromNumber
2334proto.bitwiseTo = bnpBitwiseTo
2335proto.changeBit = bnpChangeBit
2336proto.addTo = bnpAddTo
2337proto.dMultiply = bnpDMultiply
2338proto.dAddOffset = bnpDAddOffset
2339proto.multiplyLowerTo = bnpMultiplyLowerTo
2340proto.multiplyUpperTo = bnpMultiplyUpperTo
2341proto.modInt = bnpModInt
2342proto.millerRabin = bnpMillerRabin
3af2954a 2343
ab78acc6
IC
2344// public
2345proto.clone = bnClone
2346proto.intValue = bnIntValue
2347proto.byteValue = bnByteValue
2348proto.shortValue = bnShortValue
2349proto.signum = bnSigNum
2350proto.toByteArray = bnToByteArray
2351proto.equals = bnEquals
2352proto.min = bnMin
2353proto.max = bnMax
2354proto.and = bnAnd
2355proto.or = bnOr
2356proto.xor = bnXor
2357proto.andNot = bnAndNot
2358proto.not = bnNot
2359proto.shiftLeft = bnShiftLeft
2360proto.shiftRight = bnShiftRight
2361proto.getLowestSetBit = bnGetLowestSetBit
2362proto.bitCount = bnBitCount
2363proto.testBit = bnTestBit
2364proto.setBit = bnSetBit
2365proto.clearBit = bnClearBit
2366proto.flipBit = bnFlipBit
2367proto.add = bnAdd
2368proto.subtract = bnSubtract
2369proto.multiply = bnMultiply
2370proto.divide = bnDivide
2371proto.remainder = bnRemainder
2372proto.divideAndRemainder = bnDivideAndRemainder
2373proto.modPow = bnModPow
2374proto.modInverse = bnModInverse
2375proto.pow = bnPow
2376proto.gcd = bnGCD
2377proto.isProbablePrime = bnIsProbablePrime
3af2954a 2378
ab78acc6
IC
2379// JSBN-specific extension
2380proto.square = bnSquare
3af2954a 2381
ab78acc6
IC
2382// constants
2383BigInteger.ZERO = nbv(0)
2384BigInteger.ONE = nbv(1)
2385BigInteger.valueOf = nbv
3af2954a 2386
ab78acc6 2387module.exports = BigInteger
3af2954a 2388
ab78acc6
IC
2389},{"../package.json":4}],2:[function(require,module,exports){
2390(function (Buffer){
2391// FIXME: Kind of a weird way to throw exceptions, consider removing
2392var assert = require('assert')
2393var BigInteger = require('./bigi')
3af2954a 2394
ab78acc6
IC
2395/**
2396 * Turns a byte array into a big integer.
2397 *
2398 * This function will interpret a byte array as a big integer in big
2399 * endian notation.
2400 */
2401BigInteger.fromByteArrayUnsigned = function(byteArray) {
2402 // BigInteger expects a DER integer conformant byte array
2403 if (byteArray[0] & 0x80) {
2404 return new BigInteger([0].concat(byteArray))
3af2954a
IC
2405 }
2406
ab78acc6
IC
2407 return new BigInteger(byteArray)
2408}
3af2954a 2409
ab78acc6
IC
2410/**
2411 * Returns a byte array representation of the big integer.
2412 *
2413 * This returns the absolute of the contained value in big endian
2414 * form. A value of zero results in an empty array.
2415 */
2416BigInteger.prototype.toByteArrayUnsigned = function() {
2417 var byteArray = this.toByteArray()
2418 return byteArray[0] === 0 ? byteArray.slice(1) : byteArray
2419}
3af2954a 2420
ab78acc6
IC
2421BigInteger.fromDERInteger = function(byteArray) {
2422 return new BigInteger(byteArray)
2423}
3af2954a 2424
ab78acc6
IC
2425/*
2426 * Converts BigInteger to a DER integer representation.
2427 *
2428 * The format for this value uses the most significant bit as a sign
2429 * bit. If the most significant bit is already set and the integer is
2430 * positive, a 0x00 is prepended.
2431 *
2432 * Examples:
2433 *
2434 * 0 => 0x00
2435 * 1 => 0x01
2436 * -1 => 0xff
2437 * 127 => 0x7f
2438 * -127 => 0x81
2439 * 128 => 0x0080
2440 * -128 => 0x80
2441 * 255 => 0x00ff
2442 * -255 => 0xff01
2443 * 16300 => 0x3fac
2444 * -16300 => 0xc054
2445 * 62300 => 0x00f35c
2446 * -62300 => 0xff0ca4
2447*/
2448BigInteger.prototype.toDERInteger = BigInteger.prototype.toByteArray
3af2954a 2449
ab78acc6
IC
2450BigInteger.fromBuffer = function(buffer) {
2451 // BigInteger expects a DER integer conformant byte array
2452 if (buffer[0] & 0x80) {
2453 var byteArray = Array.prototype.slice.call(buffer)
3af2954a 2454
ab78acc6 2455 return new BigInteger([0].concat(byteArray))
3af2954a
IC
2456 }
2457
ab78acc6
IC
2458 return new BigInteger(buffer)
2459}
3af2954a 2460
ab78acc6
IC
2461BigInteger.fromHex = function(hex) {
2462 if (hex === '') return BigInteger.ZERO
3af2954a 2463
ab78acc6
IC
2464 assert.equal(hex, hex.match(/^[A-Fa-f0-9]+/), 'Invalid hex string')
2465 assert.equal(hex.length % 2, 0, 'Incomplete hex')
2466 return new BigInteger(hex, 16)
2467}
3af2954a 2468
ab78acc6
IC
2469BigInteger.prototype.toBuffer = function(size) {
2470 var byteArray = this.toByteArrayUnsigned()
2471 var zeros = []
3af2954a 2472
ab78acc6
IC
2473 var padding = size - byteArray.length
2474 while (zeros.length < padding) zeros.push(0)
3af2954a 2475
ab78acc6
IC
2476 return new Buffer(zeros.concat(byteArray))
2477}
3af2954a 2478
ab78acc6
IC
2479BigInteger.prototype.toHex = function(size) {
2480 return this.toBuffer(size).toString('hex')
2481}
3af2954a 2482
ab78acc6
IC
2483}).call(this,require("buffer").Buffer)
2484},{"./bigi":1,"assert":5,"buffer":7}],3:[function(require,module,exports){
2485var BigInteger = require('./bigi')
3af2954a 2486
ab78acc6
IC
2487//addons
2488require('./convert')
3af2954a 2489
ab78acc6
IC
2490module.exports = BigInteger
2491},{"./bigi":1,"./convert":2}],4:[function(require,module,exports){
2492module.exports={
2493 "name": "bigi",
2494 "version": "1.4.0",
2495 "description": "Big integers.",
2496 "keywords": [
2497 "cryptography",
2498 "math",
2499 "bitcoin",
2500 "arbitrary",
2501 "precision",
2502 "arithmetic",
2503 "big",
2504 "integer",
2505 "int",
2506 "number",
2507 "biginteger",
2508 "bigint",
2509 "bignumber",
2510 "decimal",
2511 "float"
2512 ],
2513 "devDependencies": {
2514 "mocha": "^1.20.1",
2515 "jshint": "^2.5.1",
2516 "coveralls": "^2.10.0",
2517 "istanbul": "^0.2.11"
2518 },
2519 "repository": {
2520 "url": "https://github.com/cryptocoinjs/bigi",
2521 "type": "git"
2522 },
2523 "main": "./lib/index.js",
2524 "scripts": {
2525 "test": "_mocha -- test/*.js",
2526 "jshint": "jshint --config jshint.json lib/*.js ; true",
2527 "unit": "mocha",
2528 "coverage": "istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js",
2529 "coveralls": "npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info"
2530 },
2531 "dependencies": {},
2532 "testling": {
2533 "files": "test/*.js",
2534 "harness": "mocha",
2535 "browsers": [
2536 "ie/9..latest",
2537 "firefox/latest",
2538 "chrome/latest",
2539 "safari/6.0..latest",
2540 "iphone/6.0..latest",
2541 "android-browser/4.2..latest"
2542 ]
2543 },
2544 "bugs": {
2545 "url": "https://github.com/cryptocoinjs/bigi/issues"
2546 },
2547 "homepage": "https://github.com/cryptocoinjs/bigi",
2548 "_id": "bigi@1.4.0",
2549 "dist": {
2550 "shasum": "90ac1aeac0a531216463bdb58f42c1e05c8407ac",
2551 "tarball": "http://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz"
2552 },
2553 "_from": "bigi@^1.4.0",
2554 "_npmVersion": "1.4.3",
2555 "_npmUser": {
2556 "name": "jp",
2557 "email": "jprichardson@gmail.com"
2558 },
2559 "maintainers": [
2560 {
2561 "name": "jp",
2562 "email": "jprichardson@gmail.com"
2563 },
2564 {
2565 "name": "midnightlightning",
2566 "email": "boydb@midnightdesign.ws"
2567 },
2568 {
2569 "name": "sidazhang",
2570 "email": "sidazhang89@gmail.com"
2571 },
2572 {
2573 "name": "nadav",
2574 "email": "npm@shesek.info"
3af2954a 2575 }
ab78acc6
IC
2576 ],
2577 "directories": {},
2578 "_shasum": "90ac1aeac0a531216463bdb58f42c1e05c8407ac",
2579 "_resolved": "https://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz"
2580}
3af2954a 2581
ab78acc6
IC
2582},{}],5:[function(require,module,exports){
2583// http://wiki.commonjs.org/wiki/Unit_Testing/1.0
2584//
2585// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!
2586//
2587// Originally from narwhal.js (http://narwhaljs.org)
2588// Copyright (c) 2009 Thomas Robinson <280north.com>
2589//
2590// Permission is hereby granted, free of charge, to any person obtaining a copy
2591// of this software and associated documentation files (the 'Software'), to
2592// deal in the Software without restriction, including without limitation the
2593// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
2594// sell copies of the Software, and to permit persons to whom the Software is
2595// furnished to do so, subject to the following conditions:
2596//
2597// The above copyright notice and this permission notice shall be included in
2598// all copies or substantial portions of the Software.
2599//
2600// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2601// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2602// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2603// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
2604// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
2605// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3af2954a 2606
ab78acc6
IC
2607// when used in node, this will actually load the util module we depend on
2608// versus loading the builtin util module as happens otherwise
2609// this is a bug in node module loading as far as I am concerned
2610var util = require('util/');
3af2954a 2611
ab78acc6
IC
2612var pSlice = Array.prototype.slice;
2613var hasOwn = Object.prototype.hasOwnProperty;
3af2954a 2614
ab78acc6
IC
2615// 1. The assert module provides functions that throw
2616// AssertionError's when particular conditions are not met. The
2617// assert module must conform to the following interface.
3af2954a 2618
ab78acc6 2619var assert = module.exports = ok;
3af2954a 2620
ab78acc6
IC
2621// 2. The AssertionError is defined in assert.
2622// new assert.AssertionError({ message: message,
2623// actual: actual,
2624// expected: expected })
3af2954a 2625
ab78acc6
IC
2626assert.AssertionError = function AssertionError(options) {
2627 this.name = 'AssertionError';
2628 this.actual = options.actual;
2629 this.expected = options.expected;
2630 this.operator = options.operator;
2631 if (options.message) {
2632 this.message = options.message;
2633 this.generatedMessage = false;
2634 } else {
2635 this.message = getMessage(this);
2636 this.generatedMessage = true;
2637 }
2638 var stackStartFunction = options.stackStartFunction || fail;
3af2954a 2639
ab78acc6
IC
2640 if (Error.captureStackTrace) {
2641 Error.captureStackTrace(this, stackStartFunction);
3af2954a 2642 }
ab78acc6
IC
2643 else {
2644 // non v8 browsers so we can have a stacktrace
2645 var err = new Error();
2646 if (err.stack) {
2647 var out = err.stack;
3af2954a 2648
ab78acc6
IC
2649 // try to strip useless frames
2650 var fn_name = stackStartFunction.name;
2651 var idx = out.indexOf('\n' + fn_name);
2652 if (idx >= 0) {
2653 // once we have located the function frame
2654 // we need to strip out everything before it (and its line)
2655 var next_line = out.indexOf('\n', idx + 1);
2656 out = out.substring(next_line + 1);
2657 }
3af2954a 2658
ab78acc6 2659 this.stack = out;
3af2954a 2660 }
3af2954a 2661 }
ab78acc6 2662};
3af2954a 2663
ab78acc6
IC
2664// assert.AssertionError instanceof Error
2665util.inherits(assert.AssertionError, Error);
3af2954a 2666
ab78acc6
IC
2667function replacer(key, value) {
2668 if (util.isUndefined(value)) {
2669 return '' + value;
2670 }
2671 if (util.isNumber(value) && !isFinite(value)) {
2672 return value.toString();
2673 }
2674 if (util.isFunction(value) || util.isRegExp(value)) {
2675 return value.toString();
2676 }
2677 return value;
2678}
3af2954a 2679
ab78acc6
IC
2680function truncate(s, n) {
2681 if (util.isString(s)) {
2682 return s.length < n ? s : s.slice(0, n);
2683 } else {
2684 return s;
2685 }
2686}
3af2954a 2687
ab78acc6
IC
2688function getMessage(self) {
2689 return truncate(JSON.stringify(self.actual, replacer), 128) + ' ' +
2690 self.operator + ' ' +
2691 truncate(JSON.stringify(self.expected, replacer), 128);
2692}
3af2954a 2693
ab78acc6
IC
2694// At present only the three keys mentioned above are used and
2695// understood by the spec. Implementations or sub modules can pass
2696// other keys to the AssertionError's constructor - they will be
2697// ignored.
3af2954a 2698
ab78acc6
IC
2699// 3. All of the following functions must throw an AssertionError
2700// when a corresponding condition is not met, with a message that
2701// may be undefined if not provided. All assertion methods provide
2702// both the actual and expected values to the assertion error for
2703// display purposes.
3af2954a 2704
ab78acc6
IC
2705function fail(actual, expected, message, operator, stackStartFunction) {
2706 throw new assert.AssertionError({
2707 message: message,
2708 actual: actual,
2709 expected: expected,
2710 operator: operator,
2711 stackStartFunction: stackStartFunction
2712 });
2713}
3af2954a 2714
ab78acc6
IC
2715// EXTENSION! allows for well behaved errors defined elsewhere.
2716assert.fail = fail;
ebd8d4e8 2717
ab78acc6
IC
2718// 4. Pure assertion tests whether a value is truthy, as determined
2719// by !!guard.
2720// assert.ok(guard, message_opt);
2721// This statement is equivalent to assert.equal(true, !!guard,
2722// message_opt);. To test strictly for the value true, use
2723// assert.strictEqual(true, guard, message_opt);.
3af2954a 2724
ab78acc6
IC
2725function ok(value, message) {
2726 if (!value) fail(value, true, message, '==', assert.ok);
2727}
2728assert.ok = ok;
3af2954a 2729
ab78acc6
IC
2730// 5. The equality assertion tests shallow, coercive equality with
2731// ==.
2732// assert.equal(actual, expected, message_opt);
3af2954a 2733
ab78acc6
IC
2734assert.equal = function equal(actual, expected, message) {
2735 if (actual != expected) fail(actual, expected, message, '==', assert.equal);
2736};
3af2954a 2737
ab78acc6
IC
2738// 6. The non-equality assertion tests for whether two objects are not equal
2739// with != assert.notEqual(actual, expected, message_opt);
3af2954a 2740
ab78acc6
IC
2741assert.notEqual = function notEqual(actual, expected, message) {
2742 if (actual == expected) {
2743 fail(actual, expected, message, '!=', assert.notEqual);
3af2954a 2744 }
ab78acc6 2745};
3af2954a 2746
ab78acc6
IC
2747// 7. The equivalence assertion tests a deep equality relation.
2748// assert.deepEqual(actual, expected, message_opt);
3af2954a 2749
ab78acc6
IC
2750assert.deepEqual = function deepEqual(actual, expected, message) {
2751 if (!_deepEqual(actual, expected)) {
2752 fail(actual, expected, message, 'deepEqual', assert.deepEqual);
2753 }
2754};
3af2954a 2755
ab78acc6
IC
2756function _deepEqual(actual, expected) {
2757 // 7.1. All identical values are equivalent, as determined by ===.
2758 if (actual === expected) {
2759 return true;
3af2954a 2760
ab78acc6
IC
2761 } else if (util.isBuffer(actual) && util.isBuffer(expected)) {
2762 if (actual.length != expected.length) return false;
3af2954a 2763
ab78acc6
IC
2764 for (var i = 0; i < actual.length; i++) {
2765 if (actual[i] !== expected[i]) return false;
3af2954a
IC
2766 }
2767
ab78acc6 2768 return true;
3af2954a 2769
ab78acc6
IC
2770 // 7.2. If the expected value is a Date object, the actual value is
2771 // equivalent if it is also a Date object that refers to the same time.
2772 } else if (util.isDate(actual) && util.isDate(expected)) {
2773 return actual.getTime() === expected.getTime();
3af2954a 2774
ab78acc6
IC
2775 // 7.3 If the expected value is a RegExp object, the actual value is
2776 // equivalent if it is also a RegExp object with the same source and
2777 // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).
2778 } else if (util.isRegExp(actual) && util.isRegExp(expected)) {
2779 return actual.source === expected.source &&
2780 actual.global === expected.global &&
2781 actual.multiline === expected.multiline &&
2782 actual.lastIndex === expected.lastIndex &&
2783 actual.ignoreCase === expected.ignoreCase;
3af2954a 2784
ab78acc6
IC
2785 // 7.4. Other pairs that do not both pass typeof value == 'object',
2786 // equivalence is determined by ==.
2787 } else if (!util.isObject(actual) && !util.isObject(expected)) {
2788 return actual == expected;
3af2954a 2789
ab78acc6
IC
2790 // 7.5 For all other Object pairs, including Array objects, equivalence is
2791 // determined by having the same number of owned properties (as verified
2792 // with Object.prototype.hasOwnProperty.call), the same set of keys
2793 // (although not necessarily the same order), equivalent values for every
2794 // corresponding key, and an identical 'prototype' property. Note: this
2795 // accounts for both named and indexed properties on Arrays.
2796 } else {
2797 return objEquiv(actual, expected);
3af2954a 2798 }
ab78acc6 2799}
3af2954a 2800
ab78acc6
IC
2801function isArguments(object) {
2802 return Object.prototype.toString.call(object) == '[object Arguments]';
2803}
3af2954a 2804
ab78acc6
IC
2805function objEquiv(a, b) {
2806 if (util.isNullOrUndefined(a) || util.isNullOrUndefined(b))
2807 return false;
2808 // an identical 'prototype' property.
2809 if (a.prototype !== b.prototype) return false;
2810 // if one is a primitive, the other must be same
2811 if (util.isPrimitive(a) || util.isPrimitive(b)) {
2812 return a === b;
3af2954a 2813 }
ab78acc6
IC
2814 var aIsArgs = isArguments(a),
2815 bIsArgs = isArguments(b);
2816 if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))
2817 return false;
2818 if (aIsArgs) {
2819 a = pSlice.call(a);
2820 b = pSlice.call(b);
2821 return _deepEqual(a, b);
3af2954a 2822 }
ab78acc6
IC
2823 var ka = objectKeys(a),
2824 kb = objectKeys(b),
2825 key, i;
2826 // having the same number of owned properties (keys incorporates
2827 // hasOwnProperty)
2828 if (ka.length != kb.length)
2829 return false;
2830 //the same set of keys (although not necessarily the same order),
2831 ka.sort();
2832 kb.sort();
2833 //~~~cheap key test
2834 for (i = ka.length - 1; i >= 0; i--) {
2835 if (ka[i] != kb[i])
2836 return false;
3af2954a 2837 }
ab78acc6
IC
2838 //equivalent values for every corresponding key, and
2839 //~~~possibly expensive deep test
2840 for (i = ka.length - 1; i >= 0; i--) {
2841 key = ka[i];
2842 if (!_deepEqual(a[key], b[key])) return false;
3af2954a 2843 }
ab78acc6
IC
2844 return true;
2845}
2846
2847// 8. The non-equivalence assertion tests for any deep inequality.
2848// assert.notDeepEqual(actual, expected, message_opt);
3af2954a 2849
ab78acc6
IC
2850assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
2851 if (_deepEqual(actual, expected)) {
2852 fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
3af2954a 2853 }
ab78acc6 2854};
3af2954a 2855
ab78acc6
IC
2856// 9. The strict equality assertion tests strict equality, as determined by ===.
2857// assert.strictEqual(actual, expected, message_opt);
3af2954a 2858
ab78acc6
IC
2859assert.strictEqual = function strictEqual(actual, expected, message) {
2860 if (actual !== expected) {
2861 fail(actual, expected, message, '===', assert.strictEqual);
3af2954a 2862 }
ab78acc6 2863};
3af2954a 2864
ab78acc6
IC
2865// 10. The strict non-equality assertion tests for strict inequality, as
2866// determined by !==. assert.notStrictEqual(actual, expected, message_opt);
3af2954a 2867
ab78acc6
IC
2868assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
2869 if (actual === expected) {
2870 fail(actual, expected, message, '!==', assert.notStrictEqual);
2871 }
2872};
3af2954a 2873
ab78acc6
IC
2874function expectedException(actual, expected) {
2875 if (!actual || !expected) {
2876 return false;
2877 }
3af2954a 2878
ab78acc6
IC
2879 if (Object.prototype.toString.call(expected) == '[object RegExp]') {
2880 return expected.test(actual);
2881 } else if (actual instanceof expected) {
2882 return true;
2883 } else if (expected.call({}, actual) === true) {
2884 return true;
3af2954a
IC
2885 }
2886
ab78acc6
IC
2887 return false;
2888}
3af2954a 2889
ab78acc6
IC
2890function _throws(shouldThrow, block, expected, message) {
2891 var actual;
3af2954a 2892
ab78acc6
IC
2893 if (util.isString(expected)) {
2894 message = expected;
2895 expected = null;
3af2954a
IC
2896 }
2897
ab78acc6
IC
2898 try {
2899 block();
2900 } catch (e) {
2901 actual = e;
3af2954a
IC
2902 }
2903
ab78acc6
IC
2904 message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +
2905 (message ? ' ' + message : '.');
3af2954a 2906
ab78acc6
IC
2907 if (shouldThrow && !actual) {
2908 fail(actual, expected, 'Missing expected exception' + message);
3af2954a
IC
2909 }
2910
ab78acc6
IC
2911 if (!shouldThrow && expectedException(actual, expected)) {
2912 fail(actual, expected, 'Got unwanted exception' + message);
3af2954a
IC
2913 }
2914
ab78acc6
IC
2915 if ((shouldThrow && actual && expected &&
2916 !expectedException(actual, expected)) || (!shouldThrow && actual)) {
2917 throw actual;
3af2954a 2918 }
ab78acc6 2919}
3af2954a 2920
ab78acc6
IC
2921// 11. Expected to throw an error:
2922// assert.throws(block, Error_opt, message_opt);
3af2954a 2923
ab78acc6
IC
2924assert.throws = function(block, /*optional*/error, /*optional*/message) {
2925 _throws.apply(this, [true].concat(pSlice.call(arguments)));
2926};
3af2954a 2927
ab78acc6
IC
2928// EXTENSION! This is annoying to write outside this module.
2929assert.doesNotThrow = function(block, /*optional*/message) {
2930 _throws.apply(this, [false].concat(pSlice.call(arguments)));
2931};
3af2954a 2932
ab78acc6 2933assert.ifError = function(err) { if (err) {throw err;}};
3af2954a 2934
ab78acc6
IC
2935var objectKeys = Object.keys || function (obj) {
2936 var keys = [];
2937 for (var key in obj) {
2938 if (hasOwn.call(obj, key)) keys.push(key);
3af2954a 2939 }
ab78acc6
IC
2940 return keys;
2941};
3af2954a 2942
ab78acc6 2943},{"util/":29}],6:[function(require,module,exports){
3af2954a 2944
ab78acc6
IC
2945},{}],7:[function(require,module,exports){
2946/*!
2947 * The buffer module from node.js, for the browser.
2948 *
2949 * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
2950 * @license MIT
2951 */
3af2954a 2952
ab78acc6
IC
2953var base64 = require('base64-js')
2954var ieee754 = require('ieee754')
2955var isArray = require('is-array')
3af2954a 2956
ab78acc6
IC
2957exports.Buffer = Buffer
2958exports.SlowBuffer = SlowBuffer
2959exports.INSPECT_MAX_BYTES = 50
2960Buffer.poolSize = 8192 // not used by this implementation
3af2954a 2961
ab78acc6 2962var rootParent = {}
3af2954a 2963
ab78acc6
IC
2964/**
2965 * If `Buffer.TYPED_ARRAY_SUPPORT`:
2966 * === true Use Uint8Array implementation (fastest)
2967 * === false Use Object implementation (most compatible, even IE6)
2968 *
2969 * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
2970 * Opera 11.6+, iOS 4.2+.
2971 *
2972 * Due to various browser bugs, sometimes the Object implementation will be used even
2973 * when the browser supports typed arrays.
2974 *
2975 * Note:
2976 *
2977 * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
2978 * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
2979 *
2980 * - Safari 5-7 lacks support for changing the `Object.prototype.constructor` property
2981 * on objects.
2982 *
2983 * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
2984 *
2985 * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
2986 * incorrect length in some situations.
3af2954a 2987
ab78acc6
IC
2988 * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
2989 * get the Object implementation, which is slower but behaves correctly.
2990 */
2991Buffer.TYPED_ARRAY_SUPPORT = (function () {
2992 function Bar () {}
2993 try {
2994 var arr = new Uint8Array(1)
2995 arr.foo = function () { return 42 }
2996 arr.constructor = Bar
2997 return arr.foo() === 42 && // typed array instances can be augmented
2998 arr.constructor === Bar && // constructor can be set
2999 typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
3000 arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
3001 } catch (e) {
3002 return false
3003 }
3004})()
3af2954a 3005
ab78acc6
IC
3006function kMaxLength () {
3007 return Buffer.TYPED_ARRAY_SUPPORT
3008 ? 0x7fffffff
3009 : 0x3fffffff
3010}
3af2954a 3011
ab78acc6
IC
3012/**
3013 * Class: Buffer
3014 * =============
3015 *
3016 * The Buffer constructor returns instances of `Uint8Array` that are augmented
3017 * with function properties for all the node `Buffer` API functions. We use
3018 * `Uint8Array` so that square bracket notation works as expected -- it returns
3019 * a single octet.
3020 *
3021 * By augmenting the instances, we can avoid modifying the `Uint8Array`
3022 * prototype.
3023 */
3024function Buffer (arg) {
3025 if (!(this instanceof Buffer)) {
3026 // Avoid going through an ArgumentsAdaptorTrampoline in the common case.
3027 if (arguments.length > 1) return new Buffer(arg, arguments[1])
3028 return new Buffer(arg)
3af2954a
IC
3029 }
3030
ab78acc6
IC
3031 this.length = 0
3032 this.parent = undefined
3af2954a 3033
ab78acc6
IC
3034 // Common case.
3035 if (typeof arg === 'number') {
3036 return fromNumber(this, arg)
3037 }
3af2954a 3038
ab78acc6
IC
3039 // Slightly less common case.
3040 if (typeof arg === 'string') {
3041 return fromString(this, arg, arguments.length > 1 ? arguments[1] : 'utf8')
3042 }
3af2954a 3043
ab78acc6
IC
3044 // Unusual.
3045 return fromObject(this, arg)
3046}
3af2954a 3047
ab78acc6
IC
3048function fromNumber (that, length) {
3049 that = allocate(that, length < 0 ? 0 : checked(length) | 0)
3050 if (!Buffer.TYPED_ARRAY_SUPPORT) {
3051 for (var i = 0; i < length; i++) {
3052 that[i] = 0
3053 }
3af2954a 3054 }
ab78acc6
IC
3055 return that
3056}
3af2954a 3057
ab78acc6
IC
3058function fromString (that, string, encoding) {
3059 if (typeof encoding !== 'string' || encoding === '') encoding = 'utf8'
3af2954a 3060
ab78acc6
IC
3061 // Assumption: byteLength() return value is always < kMaxLength.
3062 var length = byteLength(string, encoding) | 0
3063 that = allocate(that, length)
3af2954a 3064
ab78acc6
IC
3065 that.write(string, encoding)
3066 return that
3067}
3af2954a 3068
ab78acc6
IC
3069function fromObject (that, object) {
3070 if (Buffer.isBuffer(object)) return fromBuffer(that, object)
3af2954a 3071
ab78acc6 3072 if (isArray(object)) return fromArray(that, object)
3af2954a 3073
ab78acc6
IC
3074 if (object == null) {
3075 throw new TypeError('must start with number, buffer, array or string')
3076 }
3af2954a 3077
ab78acc6
IC
3078 if (typeof ArrayBuffer !== 'undefined') {
3079 if (object.buffer instanceof ArrayBuffer) {
3080 return fromTypedArray(that, object)
3081 }
3082 if (object instanceof ArrayBuffer) {
3083 return fromArrayBuffer(that, object)
3084 }
3af2954a
IC
3085 }
3086
ab78acc6 3087 if (object.length) return fromArrayLike(that, object)
3af2954a 3088
ab78acc6
IC
3089 return fromJsonObject(that, object)
3090}
3af2954a 3091
ab78acc6
IC
3092function fromBuffer (that, buffer) {
3093 var length = checked(buffer.length) | 0
3094 that = allocate(that, length)
3095 buffer.copy(that, 0, 0, length)
3096 return that
3097}
3af2954a 3098
ab78acc6
IC
3099function fromArray (that, array) {
3100 var length = checked(array.length) | 0
3101 that = allocate(that, length)
3102 for (var i = 0; i < length; i += 1) {
3103 that[i] = array[i] & 255
3af2954a 3104 }
ab78acc6
IC
3105 return that
3106}
3af2954a 3107
ab78acc6
IC
3108// Duplicate of fromArray() to keep fromArray() monomorphic.
3109function fromTypedArray (that, array) {
3110 var length = checked(array.length) | 0
3111 that = allocate(that, length)
3112 // Truncating the elements is probably not what people expect from typed
3113 // arrays with BYTES_PER_ELEMENT > 1 but it's compatible with the behavior
3114 // of the old Buffer constructor.
3115 for (var i = 0; i < length; i += 1) {
3116 that[i] = array[i] & 255
3af2954a 3117 }
ab78acc6
IC
3118 return that
3119}
3af2954a 3120
ab78acc6
IC
3121function fromArrayBuffer (that, array) {
3122 if (Buffer.TYPED_ARRAY_SUPPORT) {
3123 // Return an augmented `Uint8Array` instance, for best performance
3124 array.byteLength
3125 that = Buffer._augment(new Uint8Array(array))
3126 } else {
3127 // Fallback: Return an object instance of the Buffer class
3128 that = fromTypedArray(that, new Uint8Array(array))
3129 }
3130 return that
3131}
3af2954a 3132
ab78acc6
IC
3133function fromArrayLike (that, array) {
3134 var length = checked(array.length) | 0
3135 that = allocate(that, length)
3136 for (var i = 0; i < length; i += 1) {
3137 that[i] = array[i] & 255
3af2954a 3138 }
ab78acc6
IC
3139 return that
3140}
3af2954a 3141
ab78acc6
IC
3142// Deserialize { type: 'Buffer', data: [1,2,3,...] } into a Buffer object.
3143// Returns a zero-length buffer for inputs that don't conform to the spec.
3144function fromJsonObject (that, object) {
3145 var array
3146 var length = 0
3147
3148 if (object.type === 'Buffer' && isArray(object.data)) {
3149 array = object.data
3150 length = checked(array.length) | 0
3af2954a 3151 }
ab78acc6 3152 that = allocate(that, length)
3af2954a 3153
ab78acc6
IC
3154 for (var i = 0; i < length; i += 1) {
3155 that[i] = array[i] & 255
3af2954a 3156 }
ab78acc6
IC
3157 return that
3158}
3af2954a 3159
ab78acc6
IC
3160function allocate (that, length) {
3161 if (Buffer.TYPED_ARRAY_SUPPORT) {
3162 // Return an augmented `Uint8Array` instance, for best performance
3163 that = Buffer._augment(new Uint8Array(length))
3164 } else {
3165 // Fallback: Return an object instance of the Buffer class
3166 that.length = length
3167 that._isBuffer = true
3168 }
3af2954a 3169
ab78acc6
IC
3170 var fromPool = length !== 0 && length <= Buffer.poolSize >>> 1
3171 if (fromPool) that.parent = rootParent
3af2954a 3172
ab78acc6
IC
3173 return that
3174}
3af2954a 3175
ab78acc6
IC
3176function checked (length) {
3177 // Note: cannot use `length < kMaxLength` here because that fails when
3178 // length is NaN (which is otherwise coerced to zero.)
3179 if (length >= kMaxLength()) {
3180 throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
3181 'size: 0x' + kMaxLength().toString(16) + ' bytes')
3af2954a 3182 }
ab78acc6
IC
3183 return length | 0
3184}
3af2954a 3185
ab78acc6
IC
3186function SlowBuffer (subject, encoding) {
3187 if (!(this instanceof SlowBuffer)) return new SlowBuffer(subject, encoding)
3af2954a 3188
ab78acc6
IC
3189 var buf = new Buffer(subject, encoding)
3190 delete buf.parent
3191 return buf
3192}
3af2954a 3193
ab78acc6
IC
3194Buffer.isBuffer = function isBuffer (b) {
3195 return !!(b != null && b._isBuffer)
3196}
3af2954a 3197
ab78acc6
IC
3198Buffer.compare = function compare (a, b) {
3199 if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
3200 throw new TypeError('Arguments must be Buffers')
3af2954a
IC
3201 }
3202
ab78acc6 3203 if (a === b) return 0
3af2954a 3204
ab78acc6
IC
3205 var x = a.length
3206 var y = b.length
3af2954a 3207
ab78acc6
IC
3208 var i = 0
3209 var len = Math.min(x, y)
3210 while (i < len) {
3211 if (a[i] !== b[i]) break
3af2954a 3212
ab78acc6
IC
3213 ++i
3214 }
3af2954a 3215
ab78acc6
IC
3216 if (i !== len) {
3217 x = a[i]
3218 y = b[i]
3219 }
3af2954a 3220
ab78acc6
IC
3221 if (x < y) return -1
3222 if (y < x) return 1
3223 return 0
3224}
3af2954a 3225
ab78acc6
IC
3226Buffer.isEncoding = function isEncoding (encoding) {
3227 switch (String(encoding).toLowerCase()) {
3228 case 'hex':
3229 case 'utf8':
3230 case 'utf-8':
3231 case 'ascii':
3232 case 'binary':
3233 case 'base64':
3234 case 'raw':
3235 case 'ucs2':
3236 case 'ucs-2':
3237 case 'utf16le':
3238 case 'utf-16le':
3239 return true
3240 default:
3241 return false
3af2954a 3242 }
ab78acc6 3243}
3af2954a 3244
ab78acc6
IC
3245Buffer.concat = function concat (list, length) {
3246 if (!isArray(list)) throw new TypeError('list argument must be an Array of Buffers.')
3af2954a 3247
ab78acc6
IC
3248 if (list.length === 0) {
3249 return new Buffer(0)
3af2954a
IC
3250 }
3251
ab78acc6
IC
3252 var i
3253 if (length === undefined) {
3254 length = 0
3255 for (i = 0; i < list.length; i++) {
3256 length += list[i].length
3257 }
3af2954a
IC
3258 }
3259
ab78acc6
IC
3260 var buf = new Buffer(length)
3261 var pos = 0
3262 for (i = 0; i < list.length; i++) {
3263 var item = list[i]
3264 item.copy(buf, pos)
3265 pos += item.length
3266 }
3267 return buf
3268}
3af2954a 3269
ab78acc6
IC
3270function byteLength (string, encoding) {
3271 if (typeof string !== 'string') string = '' + string
3272
3273 var len = string.length
3274 if (len === 0) return 0
3275
3276 // Use a for loop to avoid recursion
3277 var loweredCase = false
3278 for (;;) {
3279 switch (encoding) {
3280 case 'ascii':
3281 case 'binary':
3282 // Deprecated
3283 case 'raw':
3284 case 'raws':
3285 return len
3286 case 'utf8':
3287 case 'utf-8':
3288 return utf8ToBytes(string).length
3289 case 'ucs2':
3290 case 'ucs-2':
3291 case 'utf16le':
3292 case 'utf-16le':
3293 return len * 2
3294 case 'hex':
3295 return len >>> 1
3296 case 'base64':
3297 return base64ToBytes(string).length
3298 default:
3299 if (loweredCase) return utf8ToBytes(string).length // assume utf8
3300 encoding = ('' + encoding).toLowerCase()
3301 loweredCase = true
3af2954a 3302 }
3af2954a 3303 }
ab78acc6
IC
3304}
3305Buffer.byteLength = byteLength
3af2954a 3306
ab78acc6
IC
3307// pre-set for values that may exist in the future
3308Buffer.prototype.length = undefined
3309Buffer.prototype.parent = undefined
3af2954a 3310
ab78acc6
IC
3311function slowToString (encoding, start, end) {
3312 var loweredCase = false
3af2954a 3313
ab78acc6
IC
3314 start = start | 0
3315 end = end === undefined || end === Infinity ? this.length : end | 0
3af2954a 3316
ab78acc6
IC
3317 if (!encoding) encoding = 'utf8'
3318 if (start < 0) start = 0
3319 if (end > this.length) end = this.length
3320 if (end <= start) return ''
3af2954a 3321
ab78acc6
IC
3322 while (true) {
3323 switch (encoding) {
3324 case 'hex':
3325 return hexSlice(this, start, end)
3af2954a 3326
ab78acc6
IC
3327 case 'utf8':
3328 case 'utf-8':
3329 return utf8Slice(this, start, end)
3af2954a 3330
ab78acc6
IC
3331 case 'ascii':
3332 return asciiSlice(this, start, end)
3af2954a 3333
ab78acc6
IC
3334 case 'binary':
3335 return binarySlice(this, start, end)
3af2954a 3336
ab78acc6
IC
3337 case 'base64':
3338 return base64Slice(this, start, end)
3af2954a 3339
ab78acc6
IC
3340 case 'ucs2':
3341 case 'ucs-2':
3342 case 'utf16le':
3343 case 'utf-16le':
3344 return utf16leSlice(this, start, end)
3af2954a 3345
ab78acc6
IC
3346 default:
3347 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
3348 encoding = (encoding + '').toLowerCase()
3349 loweredCase = true
3350 }
3af2954a 3351 }
ab78acc6 3352}
3af2954a 3353
ab78acc6
IC
3354Buffer.prototype.toString = function toString () {
3355 var length = this.length | 0
3356 if (length === 0) return ''
3357 if (arguments.length === 0) return utf8Slice(this, 0, length)
3358 return slowToString.apply(this, arguments)
3359}
3af2954a 3360
ab78acc6
IC
3361Buffer.prototype.equals = function equals (b) {
3362 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
3363 if (this === b) return true
3364 return Buffer.compare(this, b) === 0
3365}
3af2954a 3366
ab78acc6
IC
3367Buffer.prototype.inspect = function inspect () {
3368 var str = ''
3369 var max = exports.INSPECT_MAX_BYTES
3370 if (this.length > 0) {
3371 str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
3372 if (this.length > max) str += ' ... '
3af2954a 3373 }
ab78acc6
IC
3374 return '<Buffer ' + str + '>'
3375}
3af2954a 3376
ab78acc6
IC
3377Buffer.prototype.compare = function compare (b) {
3378 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
3379 if (this === b) return 0
3380 return Buffer.compare(this, b)
3381}
3af2954a 3382
ab78acc6
IC
3383Buffer.prototype.indexOf = function indexOf (val, byteOffset) {
3384 if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff
3385 else if (byteOffset < -0x80000000) byteOffset = -0x80000000
3386 byteOffset >>= 0
3af2954a 3387
ab78acc6
IC
3388 if (this.length === 0) return -1
3389 if (byteOffset >= this.length) return -1
3af2954a 3390
ab78acc6
IC
3391 // Negative offsets start from the end of the buffer
3392 if (byteOffset < 0) byteOffset = Math.max(this.length + byteOffset, 0)
3af2954a 3393
ab78acc6
IC
3394 if (typeof val === 'string') {
3395 if (val.length === 0) return -1 // special case: looking for empty string always fails
3396 return String.prototype.indexOf.call(this, val, byteOffset)
3af2954a 3397 }
ab78acc6
IC
3398 if (Buffer.isBuffer(val)) {
3399 return arrayIndexOf(this, val, byteOffset)
3af2954a 3400 }
ab78acc6
IC
3401 if (typeof val === 'number') {
3402 if (Buffer.TYPED_ARRAY_SUPPORT && Uint8Array.prototype.indexOf === 'function') {
3403 return Uint8Array.prototype.indexOf.call(this, val, byteOffset)
3af2954a 3404 }
ab78acc6 3405 return arrayIndexOf(this, [ val ], byteOffset)
3af2954a
IC
3406 }
3407
ab78acc6
IC
3408 function arrayIndexOf (arr, val, byteOffset) {
3409 var foundIndex = -1
3410 for (var i = 0; byteOffset + i < arr.length; i++) {
3411 if (arr[byteOffset + i] === val[foundIndex === -1 ? 0 : i - foundIndex]) {
3412 if (foundIndex === -1) foundIndex = i
3413 if (i - foundIndex + 1 === val.length) return byteOffset + foundIndex
3af2954a 3414 } else {
ab78acc6 3415 foundIndex = -1
3af2954a 3416 }
3af2954a 3417 }
ab78acc6
IC
3418 return -1
3419 }
3af2954a 3420
ab78acc6
IC
3421 throw new TypeError('val must be string, number or Buffer')
3422}
3af2954a 3423
ab78acc6
IC
3424// `get` is deprecated
3425Buffer.prototype.get = function get (offset) {
3426 console.log('.get() is deprecated. Access using array indexes instead.')
3427 return this.readUInt8(offset)
3428}
3af2954a 3429
ab78acc6
IC
3430// `set` is deprecated
3431Buffer.prototype.set = function set (v, offset) {
3432 console.log('.set() is deprecated. Access using array indexes instead.')
3433 return this.writeUInt8(v, offset)
3434}
3af2954a 3435
ab78acc6
IC
3436function hexWrite (buf, string, offset, length) {
3437 offset = Number(offset) || 0
3438 var remaining = buf.length - offset
3439 if (!length) {
3440 length = remaining
3441 } else {
3442 length = Number(length)
3443 if (length > remaining) {
3444 length = remaining
3445 }
3446 }
3af2954a 3447
ab78acc6
IC
3448 // must be an even number of digits
3449 var strLen = string.length
3450 if (strLen % 2 !== 0) throw new Error('Invalid hex string')
3af2954a 3451
ab78acc6
IC
3452 if (length > strLen / 2) {
3453 length = strLen / 2
3454 }
3455 for (var i = 0; i < length; i++) {
3456 var parsed = parseInt(string.substr(i * 2, 2), 16)
3457 if (isNaN(parsed)) throw new Error('Invalid hex string')
3458 buf[offset + i] = parsed
3af2954a 3459 }
ab78acc6
IC
3460 return i
3461}
3462
3463function utf8Write (buf, string, offset, length) {
3464 return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
3465}
3af2954a 3466
ab78acc6
IC
3467function asciiWrite (buf, string, offset, length) {
3468 return blitBuffer(asciiToBytes(string), buf, offset, length)
3469}
3af2954a 3470
ab78acc6
IC
3471function binaryWrite (buf, string, offset, length) {
3472 return asciiWrite(buf, string, offset, length)
3473}
3af2954a 3474
ab78acc6
IC
3475function base64Write (buf, string, offset, length) {
3476 return blitBuffer(base64ToBytes(string), buf, offset, length)
3477}
3af2954a 3478
ab78acc6
IC
3479function ucs2Write (buf, string, offset, length) {
3480 return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
3481}
3af2954a 3482
ab78acc6
IC
3483Buffer.prototype.write = function write (string, offset, length, encoding) {
3484 // Buffer#write(string)
3485 if (offset === undefined) {
3486 encoding = 'utf8'
3487 length = this.length
3488 offset = 0
3489 // Buffer#write(string, encoding)
3490 } else if (length === undefined && typeof offset === 'string') {
3491 encoding = offset
3492 length = this.length
3493 offset = 0
3494 // Buffer#write(string, offset[, length][, encoding])
3495 } else if (isFinite(offset)) {
3496 offset = offset | 0
3497 if (isFinite(length)) {
3498 length = length | 0
3499 if (encoding === undefined) encoding = 'utf8'
3500 } else {
3501 encoding = length
3502 length = undefined
3503 }
3504 // legacy write(string, encoding, offset, length) - remove in v0.13
3505 } else {
3506 var swap = encoding
3507 encoding = offset
3508 offset = length | 0
3509 length = swap
3af2954a
IC
3510 }
3511
ab78acc6
IC
3512 var remaining = this.length - offset
3513 if (length === undefined || length > remaining) length = remaining
3af2954a 3514
ab78acc6
IC
3515 if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
3516 throw new RangeError('attempt to write outside buffer bounds')
3517 }
3af2954a 3518
ab78acc6 3519 if (!encoding) encoding = 'utf8'
3af2954a 3520
ab78acc6
IC
3521 var loweredCase = false
3522 for (;;) {
3523 switch (encoding) {
3524 case 'hex':
3525 return hexWrite(this, string, offset, length)
ebd8d4e8 3526
ab78acc6
IC
3527 case 'utf8':
3528 case 'utf-8':
3529 return utf8Write(this, string, offset, length)
ebd8d4e8 3530
ab78acc6
IC
3531 case 'ascii':
3532 return asciiWrite(this, string, offset, length)
ebd8d4e8 3533
ab78acc6
IC
3534 case 'binary':
3535 return binaryWrite(this, string, offset, length)
ebd8d4e8 3536
ab78acc6
IC
3537 case 'base64':
3538 // Warning: maxLength not taken into account in base64Write
3539 return base64Write(this, string, offset, length)
ebd8d4e8 3540
ab78acc6
IC
3541 case 'ucs2':
3542 case 'ucs-2':
3543 case 'utf16le':
3544 case 'utf-16le':
3545 return ucs2Write(this, string, offset, length)
ebd8d4e8 3546
ab78acc6
IC
3547 default:
3548 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
3549 encoding = ('' + encoding).toLowerCase()
3550 loweredCase = true
3551 }
3552 }
3553}
212b1b46 3554
ab78acc6
IC
3555Buffer.prototype.toJSON = function toJSON () {
3556 return {
3557 type: 'Buffer',
3558 data: Array.prototype.slice.call(this._arr || this, 0)
3559 }
3560}
212b1b46 3561
ab78acc6
IC
3562function base64Slice (buf, start, end) {
3563 if (start === 0 && end === buf.length) {
3564 return base64.fromByteArray(buf)
3565 } else {
3566 return base64.fromByteArray(buf.slice(start, end))
3af2954a 3567 }
ab78acc6
IC
3568}
3569
3570function utf8Slice (buf, start, end) {
3571 end = Math.min(buf.length, end)
3572 var firstByte
3573 var secondByte
3574 var thirdByte
3575 var fourthByte
3576 var bytesPerSequence
3577 var tempCodePoint
3578 var codePoint
3579 var res = []
3580 var i = start
3581
3582 for (; i < end; i += bytesPerSequence) {
3583 firstByte = buf[i]
3584 codePoint = 0xFFFD
3585
3586 if (firstByte > 0xEF) {
3587 bytesPerSequence = 4
3588 } else if (firstByte > 0xDF) {
3589 bytesPerSequence = 3
3590 } else if (firstByte > 0xBF) {
3591 bytesPerSequence = 2
3592 } else {
3593 bytesPerSequence = 1
3594 }
212b1b46 3595
ab78acc6
IC
3596 if (i + bytesPerSequence <= end) {
3597 switch (bytesPerSequence) {
3598 case 1:
3599 if (firstByte < 0x80) {
3600 codePoint = firstByte
3601 }
3602 break
3603 case 2:
3604 secondByte = buf[i + 1]
3605 if ((secondByte & 0xC0) === 0x80) {
3606 tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
3607 if (tempCodePoint > 0x7F) {
3608 codePoint = tempCodePoint
3609 }
3610 }
3611 break
3612 case 3:
3613 secondByte = buf[i + 1]
3614 thirdByte = buf[i + 2]
3615 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
3616 tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
3617 if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
3618 codePoint = tempCodePoint
3619 }
3620 }
3621 break
3622 case 4:
3623 secondByte = buf[i + 1]
3624 thirdByte = buf[i + 2]
3625 fourthByte = buf[i + 3]
3626 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
3627 tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
3628 if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
3629 codePoint = tempCodePoint
3630 }
3631 }
3632 }
3633 }
212b1b46 3634
ab78acc6
IC
3635 if (codePoint === 0xFFFD) {
3636 // we generated an invalid codePoint so make sure to only advance by 1 byte
3637 bytesPerSequence = 1
3638 } else if (codePoint > 0xFFFF) {
3639 // encode to utf16 (surrogate pair dance)
3640 codePoint -= 0x10000
3641 res.push(codePoint >>> 10 & 0x3FF | 0xD800)
3642 codePoint = 0xDC00 | codePoint & 0x3FF
3643 }
212b1b46 3644
ab78acc6 3645 res.push(codePoint)
3af2954a 3646 }
212b1b46 3647
ab78acc6
IC
3648 return String.fromCharCode.apply(String, res)
3649}
212b1b46 3650
ab78acc6
IC
3651function asciiSlice (buf, start, end) {
3652 var ret = ''
3653 end = Math.min(buf.length, end)
3654
3655 for (var i = start; i < end; i++) {
3656 ret += String.fromCharCode(buf[i] & 0x7F)
3af2954a 3657 }
ab78acc6
IC
3658 return ret
3659}
212b1b46 3660
ab78acc6
IC
3661function binarySlice (buf, start, end) {
3662 var ret = ''
3663 end = Math.min(buf.length, end)
212b1b46 3664
ab78acc6
IC
3665 for (var i = start; i < end; i++) {
3666 ret += String.fromCharCode(buf[i])
3667 }
3668 return ret
3669}
212b1b46 3670
ab78acc6
IC
3671function hexSlice (buf, start, end) {
3672 var len = buf.length
212b1b46 3673
ab78acc6
IC
3674 if (!start || start < 0) start = 0
3675 if (!end || end < 0 || end > len) end = len
212b1b46 3676
ab78acc6
IC
3677 var out = ''
3678 for (var i = start; i < end; i++) {
3679 out += toHex(buf[i])
3680 }
3681 return out
3682}
212b1b46 3683
ab78acc6
IC
3684function utf16leSlice (buf, start, end) {
3685 var bytes = buf.slice(start, end)
3686 var res = ''
3687 for (var i = 0; i < bytes.length; i += 2) {
3688 res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
3689 }
3690 return res
3691}
212b1b46 3692
ab78acc6
IC
3693Buffer.prototype.slice = function slice (start, end) {
3694 var len = this.length
3695 start = ~~start
3696 end = end === undefined ? len : ~~end
212b1b46 3697
ab78acc6
IC
3698 if (start < 0) {
3699 start += len
3700 if (start < 0) start = 0
3701 } else if (start > len) {
3702 start = len
3703 }
212b1b46 3704
ab78acc6
IC
3705 if (end < 0) {
3706 end += len
3707 if (end < 0) end = 0
3708 } else if (end > len) {
3709 end = len
3710 }
212b1b46 3711
ab78acc6 3712 if (end < start) end = start
212b1b46 3713
ab78acc6
IC
3714 var newBuf
3715 if (Buffer.TYPED_ARRAY_SUPPORT) {
3716 newBuf = Buffer._augment(this.subarray(start, end))
3717 } else {
3718 var sliceLen = end - start
3719 newBuf = new Buffer(sliceLen, undefined)
3720 for (var i = 0; i < sliceLen; i++) {
3721 newBuf[i] = this[i + start]
3af2954a
IC
3722 }
3723 }
212b1b46 3724
ab78acc6 3725 if (newBuf.length) newBuf.parent = this.parent || this
ebd8d4e8 3726
ab78acc6
IC
3727 return newBuf
3728}
ebd8d4e8 3729
ab78acc6
IC
3730/*
3731 * Need to make sure that buffer isn't trying to write out of bounds.
3732 */
3733function checkOffset (offset, ext, length) {
3734 if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
3735 if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
3736}
ebd8d4e8 3737
ab78acc6
IC
3738Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
3739 offset = offset | 0
3740 byteLength = byteLength | 0
3741 if (!noAssert) checkOffset(offset, byteLength, this.length)
3af2954a 3742
ab78acc6
IC
3743 var val = this[offset]
3744 var mul = 1
3745 var i = 0
3746 while (++i < byteLength && (mul *= 0x100)) {
3747 val += this[offset + i] * mul
3748 }
3af2954a 3749
ab78acc6
IC
3750 return val
3751}
3af2954a 3752
ab78acc6
IC
3753Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
3754 offset = offset | 0
3755 byteLength = byteLength | 0
3756 if (!noAssert) {
3757 checkOffset(offset, byteLength, this.length)
3758 }
3af2954a 3759
ab78acc6
IC
3760 var val = this[offset + --byteLength]
3761 var mul = 1
3762 while (byteLength > 0 && (mul *= 0x100)) {
3763 val += this[offset + --byteLength] * mul
3af2954a
IC
3764 }
3765
ab78acc6
IC
3766 return val
3767}
3af2954a 3768
ab78acc6
IC
3769Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
3770 if (!noAssert) checkOffset(offset, 1, this.length)
3771 return this[offset]
3772}
3af2954a 3773
ab78acc6
IC
3774Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
3775 if (!noAssert) checkOffset(offset, 2, this.length)
3776 return this[offset] | (this[offset + 1] << 8)
3777}
3af2954a 3778
ab78acc6
IC
3779Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
3780 if (!noAssert) checkOffset(offset, 2, this.length)
3781 return (this[offset] << 8) | this[offset + 1]
3782}
ebd8d4e8 3783
ab78acc6
IC
3784Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
3785 if (!noAssert) checkOffset(offset, 4, this.length)
3af2954a 3786
ab78acc6
IC
3787 return ((this[offset]) |
3788 (this[offset + 1] << 8) |
3789 (this[offset + 2] << 16)) +
3790 (this[offset + 3] * 0x1000000)
3791}
3af2954a 3792
ab78acc6
IC
3793Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
3794 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3795
ab78acc6
IC
3796 return (this[offset] * 0x1000000) +
3797 ((this[offset + 1] << 16) |
3798 (this[offset + 2] << 8) |
3799 this[offset + 3])
3800}
ebd8d4e8 3801
ab78acc6
IC
3802Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
3803 offset = offset | 0
3804 byteLength = byteLength | 0
3805 if (!noAssert) checkOffset(offset, byteLength, this.length)
ebd8d4e8 3806
ab78acc6
IC
3807 var val = this[offset]
3808 var mul = 1
3809 var i = 0
3810 while (++i < byteLength && (mul *= 0x100)) {
3811 val += this[offset + i] * mul
ebd8d4e8 3812 }
ab78acc6 3813 mul *= 0x80
ebd8d4e8 3814
ab78acc6
IC
3815 if (val >= mul) val -= Math.pow(2, 8 * byteLength)
3816
3817 return val
ebd8d4e8
IC
3818}
3819
ab78acc6
IC
3820Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
3821 offset = offset | 0
3822 byteLength = byteLength | 0
3823 if (!noAssert) checkOffset(offset, byteLength, this.length)
ebd8d4e8 3824
ab78acc6
IC
3825 var i = byteLength
3826 var mul = 1
3827 var val = this[offset + --i]
3828 while (i > 0 && (mul *= 0x100)) {
3829 val += this[offset + --i] * mul
3830 }
3831 mul *= 0x80
ebd8d4e8 3832
ab78acc6 3833 if (val >= mul) val -= Math.pow(2, 8 * byteLength)
ebd8d4e8 3834
ab78acc6
IC
3835 return val
3836}
ebd8d4e8 3837
ab78acc6
IC
3838Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
3839 if (!noAssert) checkOffset(offset, 1, this.length)
3840 if (!(this[offset] & 0x80)) return (this[offset])
3841 return ((0xff - this[offset] + 1) * -1)
ebd8d4e8 3842}
ab78acc6
IC
3843
3844Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
3845 if (!noAssert) checkOffset(offset, 2, this.length)
3846 var val = this[offset] | (this[offset + 1] << 8)
3847 return (val & 0x8000) ? val | 0xFFFF0000 : val
ebd8d4e8 3848}
ab78acc6
IC
3849
3850Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
3851 if (!noAssert) checkOffset(offset, 2, this.length)
3852 var val = this[offset + 1] | (this[offset] << 8)
3853 return (val & 0x8000) ? val | 0xFFFF0000 : val
ebd8d4e8
IC
3854}
3855
ab78acc6
IC
3856Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
3857 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3858
ab78acc6
IC
3859 return (this[offset]) |
3860 (this[offset + 1] << 8) |
3861 (this[offset + 2] << 16) |
3862 (this[offset + 3] << 24)
ebd8d4e8 3863}
ebd8d4e8 3864
ab78acc6
IC
3865Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
3866 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3867
ab78acc6
IC
3868 return (this[offset] << 24) |
3869 (this[offset + 1] << 16) |
3870 (this[offset + 2] << 8) |
3871 (this[offset + 3])
ebd8d4e8
IC
3872}
3873
ab78acc6
IC
3874Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
3875 if (!noAssert) checkOffset(offset, 4, this.length)
3876 return ieee754.read(this, offset, true, 23, 4)
ebd8d4e8
IC
3877}
3878
ab78acc6
IC
3879Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
3880 if (!noAssert) checkOffset(offset, 4, this.length)
3881 return ieee754.read(this, offset, false, 23, 4)
ebd8d4e8
IC
3882}
3883
ab78acc6
IC
3884Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
3885 if (!noAssert) checkOffset(offset, 8, this.length)
3886 return ieee754.read(this, offset, true, 52, 8)
ebd8d4e8
IC
3887}
3888
ab78acc6
IC
3889Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
3890 if (!noAssert) checkOffset(offset, 8, this.length)
3891 return ieee754.read(this, offset, false, 52, 8)
ebd8d4e8
IC
3892}
3893
ab78acc6
IC
3894function checkInt (buf, value, offset, ext, max, min) {
3895 if (!Buffer.isBuffer(buf)) throw new TypeError('buffer must be a Buffer instance')
3896 if (value > max || value < min) throw new RangeError('value is out of bounds')
3897 if (offset + ext > buf.length) throw new RangeError('index out of range')
ebd8d4e8
IC
3898}
3899
ab78acc6
IC
3900Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
3901 value = +value
3902 offset = offset | 0
3903 byteLength = byteLength | 0
3904 if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
ebd8d4e8 3905
ab78acc6
IC
3906 var mul = 1
3907 var i = 0
3908 this[offset] = value & 0xFF
3909 while (++i < byteLength && (mul *= 0x100)) {
3910 this[offset + i] = (value / mul) & 0xFF
3911 }
ebd8d4e8 3912
ab78acc6 3913 return offset + byteLength
ebd8d4e8
IC
3914}
3915
ab78acc6
IC
3916Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
3917 value = +value
3918 offset = offset | 0
3919 byteLength = byteLength | 0
3920 if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
ebd8d4e8 3921
ab78acc6
IC
3922 var i = byteLength - 1
3923 var mul = 1
3924 this[offset + i] = value & 0xFF
3925 while (--i >= 0 && (mul *= 0x100)) {
3926 this[offset + i] = (value / mul) & 0xFF
3927 }
ebd8d4e8 3928
ab78acc6 3929 return offset + byteLength
ebd8d4e8
IC
3930}
3931
ab78acc6
IC
3932Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
3933 value = +value
3934 offset = offset | 0
3935 if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
3936 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
3937 this[offset] = value
3938 return offset + 1
ebd8d4e8
IC
3939}
3940
ab78acc6
IC
3941function objectWriteUInt16 (buf, value, offset, littleEndian) {
3942 if (value < 0) value = 0xffff + value + 1
3943 for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; i++) {
3944 buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
3945 (littleEndian ? i : 1 - i) * 8
ebd8d4e8 3946 }
ebd8d4e8
IC
3947}
3948
ab78acc6
IC
3949Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
3950 value = +value
3951 offset = offset | 0
3952 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
3953 if (Buffer.TYPED_ARRAY_SUPPORT) {
3954 this[offset] = value
3955 this[offset + 1] = (value >>> 8)
3956 } else {
3957 objectWriteUInt16(this, value, offset, true)
3958 }
3959 return offset + 2
ebd8d4e8
IC
3960}
3961
ab78acc6
IC
3962Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
3963 value = +value
3964 offset = offset | 0
3965 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
3966 if (Buffer.TYPED_ARRAY_SUPPORT) {
3967 this[offset] = (value >>> 8)
3968 this[offset + 1] = value
3969 } else {
3970 objectWriteUInt16(this, value, offset, false)
ebd8d4e8 3971 }
ab78acc6 3972 return offset + 2
ebd8d4e8
IC
3973}
3974
ab78acc6
IC
3975function objectWriteUInt32 (buf, value, offset, littleEndian) {
3976 if (value < 0) value = 0xffffffff + value + 1
3977 for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; i++) {
3978 buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
3979 }
ebd8d4e8
IC
3980}
3981
ab78acc6
IC
3982Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
3983 value = +value
3984 offset = offset | 0
3985 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
3986 if (Buffer.TYPED_ARRAY_SUPPORT) {
3987 this[offset + 3] = (value >>> 24)
3988 this[offset + 2] = (value >>> 16)
3989 this[offset + 1] = (value >>> 8)
3990 this[offset] = value
3991 } else {
3992 objectWriteUInt32(this, value, offset, true)
ebd8d4e8 3993 }
ab78acc6 3994 return offset + 4
ebd8d4e8
IC
3995}
3996
ab78acc6
IC
3997Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
3998 value = +value
3999 offset = offset | 0
4000 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
4001 if (Buffer.TYPED_ARRAY_SUPPORT) {
4002 this[offset] = (value >>> 24)
4003 this[offset + 1] = (value >>> 16)
4004 this[offset + 2] = (value >>> 8)
4005 this[offset + 3] = value
4006 } else {
4007 objectWriteUInt32(this, value, offset, false)
ebd8d4e8 4008 }
ab78acc6
IC
4009 return offset + 4
4010}
4011
4012Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
4013 value = +value
4014 offset = offset | 0
4015 if (!noAssert) {
4016 var limit = Math.pow(2, 8 * byteLength - 1)
4017
4018 checkInt(this, value, offset, byteLength, limit - 1, -limit)
ebd8d4e8 4019 }
ab78acc6
IC
4020
4021 var i = 0
4022 var mul = 1
4023 var sub = value < 0 ? 1 : 0
4024 this[offset] = value & 0xFF
4025 while (++i < byteLength && (mul *= 0x100)) {
4026 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
ebd8d4e8 4027 }
ebd8d4e8 4028
ab78acc6 4029 return offset + byteLength
ebd8d4e8
IC
4030}
4031
ab78acc6
IC
4032Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
4033 value = +value
4034 offset = offset | 0
4035 if (!noAssert) {
4036 var limit = Math.pow(2, 8 * byteLength - 1)
ebd8d4e8 4037
ab78acc6
IC
4038 checkInt(this, value, offset, byteLength, limit - 1, -limit)
4039 }
ebd8d4e8 4040
ab78acc6
IC
4041 var i = byteLength - 1
4042 var mul = 1
4043 var sub = value < 0 ? 1 : 0
4044 this[offset + i] = value & 0xFF
4045 while (--i >= 0 && (mul *= 0x100)) {
4046 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
4047 }
4048
4049 return offset + byteLength
ebd8d4e8
IC
4050}
4051
ab78acc6
IC
4052Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
4053 value = +value
4054 offset = offset | 0
4055 if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
4056 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
4057 if (value < 0) value = 0xff + value + 1
4058 this[offset] = value
4059 return offset + 1
ebd8d4e8
IC
4060}
4061
ab78acc6
IC
4062Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
4063 value = +value
4064 offset = offset | 0
4065 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
4066 if (Buffer.TYPED_ARRAY_SUPPORT) {
4067 this[offset] = value
4068 this[offset + 1] = (value >>> 8)
4069 } else {
4070 objectWriteUInt16(this, value, offset, true)
4071 }
4072 return offset + 2
ebd8d4e8
IC
4073}
4074
ab78acc6
IC
4075Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
4076 value = +value
4077 offset = offset | 0
4078 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
4079 if (Buffer.TYPED_ARRAY_SUPPORT) {
4080 this[offset] = (value >>> 8)
4081 this[offset + 1] = value
4082 } else {
4083 objectWriteUInt16(this, value, offset, false)
4084 }
4085 return offset + 2
ebd8d4e8
IC
4086}
4087
ab78acc6
IC
4088Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
4089 value = +value
4090 offset = offset | 0
4091 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
4092 if (Buffer.TYPED_ARRAY_SUPPORT) {
4093 this[offset] = value
4094 this[offset + 1] = (value >>> 8)
4095 this[offset + 2] = (value >>> 16)
4096 this[offset + 3] = (value >>> 24)
4097 } else {
4098 objectWriteUInt32(this, value, offset, true)
4099 }
4100 return offset + 4
4101}
4102
4103Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
4104 value = +value
4105 offset = offset | 0
4106 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
4107 if (value < 0) value = 0xffffffff + value + 1
4108 if (Buffer.TYPED_ARRAY_SUPPORT) {
4109 this[offset] = (value >>> 24)
4110 this[offset + 1] = (value >>> 16)
4111 this[offset + 2] = (value >>> 8)
4112 this[offset + 3] = value
4113 } else {
4114 objectWriteUInt32(this, value, offset, false)
ebd8d4e8 4115 }
ab78acc6 4116 return offset + 4
ebd8d4e8
IC
4117}
4118
ab78acc6
IC
4119function checkIEEE754 (buf, value, offset, ext, max, min) {
4120 if (value > max || value < min) throw new RangeError('value is out of bounds')
4121 if (offset + ext > buf.length) throw new RangeError('index out of range')
4122 if (offset < 0) throw new RangeError('index out of range')
4123}
ebd8d4e8 4124
ab78acc6
IC
4125function writeFloat (buf, value, offset, littleEndian, noAssert) {
4126 if (!noAssert) {
4127 checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
4128 }
4129 ieee754.write(buf, value, offset, littleEndian, 23, 4)
4130 return offset + 4
4131}
ebd8d4e8 4132
ab78acc6
IC
4133Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
4134 return writeFloat(this, value, offset, true, noAssert)
4135}
ebd8d4e8 4136
ab78acc6
IC
4137Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
4138 return writeFloat(this, value, offset, false, noAssert)
4139}
ebd8d4e8 4140
ab78acc6
IC
4141function writeDouble (buf, value, offset, littleEndian, noAssert) {
4142 if (!noAssert) {
4143 checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
ebd8d4e8 4144 }
ab78acc6
IC
4145 ieee754.write(buf, value, offset, littleEndian, 52, 8)
4146 return offset + 8
ebd8d4e8
IC
4147}
4148
ab78acc6
IC
4149Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
4150 return writeDouble(this, value, offset, true, noAssert)
ebd8d4e8
IC
4151}
4152
ab78acc6
IC
4153Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
4154 return writeDouble(this, value, offset, false, noAssert)
4155}
ebd8d4e8 4156
ab78acc6
IC
4157// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
4158Buffer.prototype.copy = function copy (target, targetStart, start, end) {
4159 if (!start) start = 0
4160 if (!end && end !== 0) end = this.length
4161 if (targetStart >= target.length) targetStart = target.length
4162 if (!targetStart) targetStart = 0
4163 if (end > 0 && end < start) end = start
4164
4165 // Copy 0 bytes; we're done
4166 if (end === start) return 0
4167 if (target.length === 0 || this.length === 0) return 0
ebd8d4e8 4168
ab78acc6
IC
4169 // Fatal error conditions
4170 if (targetStart < 0) {
4171 throw new RangeError('targetStart out of bounds')
4172 }
4173 if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
4174 if (end < 0) throw new RangeError('sourceEnd out of bounds')
ebd8d4e8 4175
ab78acc6
IC
4176 // Are we oob?
4177 if (end > this.length) end = this.length
4178 if (target.length - targetStart < end - start) {
4179 end = target.length - targetStart + start
4180 }
ebd8d4e8 4181
ab78acc6
IC
4182 var len = end - start
4183 var i
ebd8d4e8 4184
ab78acc6
IC
4185 if (this === target && start < targetStart && targetStart < end) {
4186 // descending copy from end
4187 for (i = len - 1; i >= 0; i--) {
4188 target[i + targetStart] = this[i + start]
4189 }
4190 } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
4191 // ascending copy from start
4192 for (i = 0; i < len; i++) {
4193 target[i + targetStart] = this[i + start]
4194 }
4195 } else {
4196 target._set(this.subarray(start, start + len), targetStart)
ebd8d4e8 4197 }
ebd8d4e8 4198
ab78acc6
IC
4199 return len
4200}
ebd8d4e8 4201
ab78acc6
IC
4202// fill(value, start=0, end=buffer.length)
4203Buffer.prototype.fill = function fill (value, start, end) {
4204 if (!value) value = 0
4205 if (!start) start = 0
4206 if (!end) end = this.length
ebd8d4e8 4207
ab78acc6 4208 if (end < start) throw new RangeError('end < start')
ebd8d4e8 4209
ab78acc6
IC
4210 // Fill 0 bytes; we're done
4211 if (end === start) return
4212 if (this.length === 0) return
ebd8d4e8 4213
ab78acc6
IC
4214 if (start < 0 || start >= this.length) throw new RangeError('start out of bounds')
4215 if (end < 0 || end > this.length) throw new RangeError('end out of bounds')
ebd8d4e8 4216
ab78acc6
IC
4217 var i
4218 if (typeof value === 'number') {
4219 for (i = start; i < end; i++) {
4220 this[i] = value
ebd8d4e8 4221 }
ab78acc6
IC
4222 } else {
4223 var bytes = utf8ToBytes(value.toString())
4224 var len = bytes.length
4225 for (i = start; i < end; i++) {
4226 this[i] = bytes[i % len]
ebd8d4e8
IC
4227 }
4228 }
ebd8d4e8 4229
ab78acc6 4230 return this
ebd8d4e8
IC
4231}
4232
ab78acc6
IC
4233/**
4234 * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
4235 * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
4236 */
4237Buffer.prototype.toArrayBuffer = function toArrayBuffer () {
4238 if (typeof Uint8Array !== 'undefined') {
4239 if (Buffer.TYPED_ARRAY_SUPPORT) {
4240 return (new Buffer(this)).buffer
4241 } else {
4242 var buf = new Uint8Array(this.length)
4243 for (var i = 0, len = buf.length; i < len; i += 1) {
4244 buf[i] = this[i]
ebd8d4e8 4245 }
ab78acc6 4246 return buf.buffer
ebd8d4e8 4247 }
ab78acc6
IC
4248 } else {
4249 throw new TypeError('Buffer.toArrayBuffer not supported in this browser')
ebd8d4e8 4250 }
ebd8d4e8
IC
4251}
4252
ab78acc6
IC
4253// HELPER FUNCTIONS
4254// ================
ebd8d4e8 4255
ab78acc6 4256var BP = Buffer.prototype
ebd8d4e8 4257
ab78acc6
IC
4258/**
4259 * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
4260 */
4261Buffer._augment = function _augment (arr) {
4262 arr.constructor = Buffer
4263 arr._isBuffer = true
ebd8d4e8 4264
ab78acc6
IC
4265 // save reference to original Uint8Array set method before overwriting
4266 arr._set = arr.set
ebd8d4e8 4267
ab78acc6
IC
4268 // deprecated
4269 arr.get = BP.get
4270 arr.set = BP.set
ebd8d4e8 4271
ab78acc6
IC
4272 arr.write = BP.write
4273 arr.toString = BP.toString
4274 arr.toLocaleString = BP.toString
4275 arr.toJSON = BP.toJSON
4276 arr.equals = BP.equals
4277 arr.compare = BP.compare
4278 arr.indexOf = BP.indexOf
4279 arr.copy = BP.copy
4280 arr.slice = BP.slice
4281 arr.readUIntLE = BP.readUIntLE
4282 arr.readUIntBE = BP.readUIntBE
4283 arr.readUInt8 = BP.readUInt8
4284 arr.readUInt16LE = BP.readUInt16LE
4285 arr.readUInt16BE = BP.readUInt16BE
4286 arr.readUInt32LE = BP.readUInt32LE
4287 arr.readUInt32BE = BP.readUInt32BE
4288 arr.readIntLE = BP.readIntLE
4289 arr.readIntBE = BP.readIntBE
4290 arr.readInt8 = BP.readInt8
4291 arr.readInt16LE = BP.readInt16LE
4292 arr.readInt16BE = BP.readInt16BE
4293 arr.readInt32LE = BP.readInt32LE
4294 arr.readInt32BE = BP.readInt32BE
4295 arr.readFloatLE = BP.readFloatLE
4296 arr.readFloatBE = BP.readFloatBE
4297 arr.readDoubleLE = BP.readDoubleLE
4298 arr.readDoubleBE = BP.readDoubleBE
4299 arr.writeUInt8 = BP.writeUInt8
4300 arr.writeUIntLE = BP.writeUIntLE
4301 arr.writeUIntBE = BP.writeUIntBE
4302 arr.writeUInt16LE = BP.writeUInt16LE
4303 arr.writeUInt16BE = BP.writeUInt16BE
4304 arr.writeUInt32LE = BP.writeUInt32LE
4305 arr.writeUInt32BE = BP.writeUInt32BE
4306 arr.writeIntLE = BP.writeIntLE
4307 arr.writeIntBE = BP.writeIntBE
4308 arr.writeInt8 = BP.writeInt8
4309 arr.writeInt16LE = BP.writeInt16LE
4310 arr.writeInt16BE = BP.writeInt16BE
4311 arr.writeInt32LE = BP.writeInt32LE
4312 arr.writeInt32BE = BP.writeInt32BE
4313 arr.writeFloatLE = BP.writeFloatLE
4314 arr.writeFloatBE = BP.writeFloatBE
4315 arr.writeDoubleLE = BP.writeDoubleLE
4316 arr.writeDoubleBE = BP.writeDoubleBE
4317 arr.fill = BP.fill
4318 arr.inspect = BP.inspect
4319 arr.toArrayBuffer = BP.toArrayBuffer
ebd8d4e8 4320
ab78acc6 4321 return arr
ebd8d4e8
IC
4322}
4323
ab78acc6 4324var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
ebd8d4e8 4325
ab78acc6
IC
4326function base64clean (str) {
4327 // Node strips out invalid characters like \n and \t from the string, base64-js does not
4328 str = stringtrim(str).replace(INVALID_BASE64_RE, '')
4329 // Node converts strings with length < 2 to ''
4330 if (str.length < 2) return ''
4331 // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
4332 while (str.length % 4 !== 0) {
4333 str = str + '='
4334 }
4335 return str
ebd8d4e8
IC
4336}
4337
ab78acc6
IC
4338function stringtrim (str) {
4339 if (str.trim) return str.trim()
4340 return str.replace(/^\s+|\s+$/g, '')
ebd8d4e8
IC
4341}
4342
ab78acc6
IC
4343function toHex (n) {
4344 if (n < 16) return '0' + n.toString(16)
4345 return n.toString(16)
ebd8d4e8
IC
4346}
4347
ab78acc6
IC
4348function utf8ToBytes (string, units) {
4349 units = units || Infinity
4350 var codePoint
4351 var length = string.length
4352 var leadSurrogate = null
4353 var bytes = []
ebd8d4e8 4354
ab78acc6
IC
4355 for (var i = 0; i < length; i++) {
4356 codePoint = string.charCodeAt(i)
ebd8d4e8 4357
ab78acc6
IC
4358 // is surrogate component
4359 if (codePoint > 0xD7FF && codePoint < 0xE000) {
4360 // last char was a lead
4361 if (!leadSurrogate) {
4362 // no lead yet
4363 if (codePoint > 0xDBFF) {
4364 // unexpected trail
4365 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4366 continue
ebd8d4e8 4367
ab78acc6
IC
4368 } else if (i + 1 === length) {
4369 // unpaired lead
4370 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4371 continue
4372 }
ebd8d4e8 4373
ab78acc6
IC
4374 // valid lead
4375 leadSurrogate = codePoint
ebd8d4e8 4376
ab78acc6
IC
4377 continue
4378 }
ebd8d4e8 4379
ab78acc6
IC
4380 // 2 leads in a row
4381 if (codePoint < 0xDC00) {
4382 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4383 leadSurrogate = codePoint
4384 continue
4385 }
ebd8d4e8 4386
ab78acc6
IC
4387 // valid surrogate pair
4388 codePoint = leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00 | 0x10000
4389
4390 } else if (leadSurrogate) {
4391 // valid bmp char, but last char was a lead
4392 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4393 }
4394
4395 leadSurrogate = null
4396
4397 // encode utf8
4398 if (codePoint < 0x80) {
4399 if ((units -= 1) < 0) break
4400 bytes.push(codePoint)
4401 } else if (codePoint < 0x800) {
4402 if ((units -= 2) < 0) break
4403 bytes.push(
4404 codePoint >> 0x6 | 0xC0,
4405 codePoint & 0x3F | 0x80
4406 )
4407 } else if (codePoint < 0x10000) {
4408 if ((units -= 3) < 0) break
4409 bytes.push(
4410 codePoint >> 0xC | 0xE0,
4411 codePoint >> 0x6 & 0x3F | 0x80,
4412 codePoint & 0x3F | 0x80
4413 )
4414 } else if (codePoint < 0x110000) {
4415 if ((units -= 4) < 0) break
4416 bytes.push(
4417 codePoint >> 0x12 | 0xF0,
4418 codePoint >> 0xC & 0x3F | 0x80,
4419 codePoint >> 0x6 & 0x3F | 0x80,
4420 codePoint & 0x3F | 0x80
4421 )
4422 } else {
4423 throw new Error('Invalid code point')
ebd8d4e8 4424 }
ebd8d4e8 4425 }
ab78acc6
IC
4426
4427 return bytes
4428}
4429
4430function asciiToBytes (str) {
4431 var byteArray = []
4432 for (var i = 0; i < str.length; i++) {
4433 // Node's code seems to be doing this and not & 0x7F..
4434 byteArray.push(str.charCodeAt(i) & 0xFF)
ebd8d4e8 4435 }
ab78acc6 4436 return byteArray
ebd8d4e8
IC
4437}
4438
ab78acc6
IC
4439function utf16leToBytes (str, units) {
4440 var c, hi, lo
4441 var byteArray = []
4442 for (var i = 0; i < str.length; i++) {
4443 if ((units -= 2) < 0) break
ebd8d4e8 4444
ab78acc6
IC
4445 c = str.charCodeAt(i)
4446 hi = c >> 8
4447 lo = c % 256
4448 byteArray.push(lo)
4449 byteArray.push(hi)
4450 }
ebd8d4e8 4451
ab78acc6
IC
4452 return byteArray
4453}
ebd8d4e8 4454
ab78acc6
IC
4455function base64ToBytes (str) {
4456 return base64.toByteArray(base64clean(str))
4457}
ebd8d4e8 4458
ab78acc6
IC
4459function blitBuffer (src, dst, offset, length) {
4460 for (var i = 0; i < length; i++) {
4461 if ((i + offset >= dst.length) || (i >= src.length)) break
4462 dst[i + offset] = src[i]
4463 }
4464 return i
4465}
4466
4467},{"base64-js":8,"ieee754":9,"is-array":10}],8:[function(require,module,exports){
4468var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
4469
4470;(function (exports) {
4471 'use strict';
4472
4473 var Arr = (typeof Uint8Array !== 'undefined')
4474 ? Uint8Array
4475 : Array
ebd8d4e8 4476
ab78acc6
IC
4477 var PLUS = '+'.charCodeAt(0)
4478 var SLASH = '/'.charCodeAt(0)
4479 var NUMBER = '0'.charCodeAt(0)
4480 var LOWER = 'a'.charCodeAt(0)
4481 var UPPER = 'A'.charCodeAt(0)
4482 var PLUS_URL_SAFE = '-'.charCodeAt(0)
4483 var SLASH_URL_SAFE = '_'.charCodeAt(0)
ebd8d4e8 4484
ab78acc6
IC
4485 function decode (elt) {
4486 var code = elt.charCodeAt(0)
4487 if (code === PLUS ||
4488 code === PLUS_URL_SAFE)
4489 return 62 // '+'
4490 if (code === SLASH ||
4491 code === SLASH_URL_SAFE)
4492 return 63 // '/'
4493 if (code < NUMBER)
4494 return -1 //no match
4495 if (code < NUMBER + 10)
4496 return code - NUMBER + 26 + 26
4497 if (code < UPPER + 26)
4498 return code - UPPER
4499 if (code < LOWER + 26)
4500 return code - LOWER + 26
4501 }
ebd8d4e8 4502
ab78acc6
IC
4503 function b64ToByteArray (b64) {
4504 var i, j, l, tmp, placeHolders, arr
ebd8d4e8 4505
ab78acc6
IC
4506 if (b64.length % 4 > 0) {
4507 throw new Error('Invalid string. Length must be a multiple of 4')
4508 }
ebd8d4e8 4509
ab78acc6
IC
4510 // the number of equal signs (place holders)
4511 // if there are two placeholders, than the two characters before it
4512 // represent one byte
4513 // if there is only one, then the three characters before it represent 2 bytes
4514 // this is just a cheap hack to not do indexOf twice
4515 var len = b64.length
4516 placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
ebd8d4e8 4517
ab78acc6
IC
4518 // base64 is 4/3 + up to two characters of the original data
4519 arr = new Arr(b64.length * 3 / 4 - placeHolders)
ebd8d4e8 4520
ab78acc6
IC
4521 // if there are placeholders, only get up to the last complete 4 chars
4522 l = placeHolders > 0 ? b64.length - 4 : b64.length
ebd8d4e8 4523
ab78acc6 4524 var L = 0
ebd8d4e8 4525
ab78acc6
IC
4526 function push (v) {
4527 arr[L++] = v
4528 }
ebd8d4e8 4529
ab78acc6
IC
4530 for (i = 0, j = 0; i < l; i += 4, j += 3) {
4531 tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
4532 push((tmp & 0xFF0000) >> 16)
4533 push((tmp & 0xFF00) >> 8)
4534 push(tmp & 0xFF)
4535 }
ebd8d4e8 4536
ab78acc6
IC
4537 if (placeHolders === 2) {
4538 tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
4539 push(tmp & 0xFF)
4540 } else if (placeHolders === 1) {
4541 tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
4542 push((tmp >> 8) & 0xFF)
4543 push(tmp & 0xFF)
4544 }
ebd8d4e8 4545
ab78acc6
IC
4546 return arr
4547 }
ebd8d4e8 4548
ab78acc6
IC
4549 function uint8ToBase64 (uint8) {
4550 var i,
4551 extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
4552 output = "",
4553 temp, length
ebd8d4e8 4554
ab78acc6
IC
4555 function encode (num) {
4556 return lookup.charAt(num)
4557 }
ebd8d4e8 4558
ab78acc6
IC
4559 function tripletToBase64 (num) {
4560 return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
4561 }
ebd8d4e8 4562
ab78acc6
IC
4563 // go through the array every three bytes, we'll deal with trailing stuff later
4564 for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
4565 temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
4566 output += tripletToBase64(temp)
4567 }
ebd8d4e8 4568
ab78acc6
IC
4569 // pad the end with zeros, but make sure to not forget the extra bytes
4570 switch (extraBytes) {
4571 case 1:
4572 temp = uint8[uint8.length - 1]
4573 output += encode(temp >> 2)
4574 output += encode((temp << 4) & 0x3F)
4575 output += '=='
4576 break
4577 case 2:
4578 temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
4579 output += encode(temp >> 10)
4580 output += encode((temp >> 4) & 0x3F)
4581 output += encode((temp << 2) & 0x3F)
4582 output += '='
4583 break
4584 }
ebd8d4e8 4585
ab78acc6
IC
4586 return output
4587 }
ebd8d4e8 4588
ab78acc6
IC
4589 exports.toByteArray = b64ToByteArray
4590 exports.fromByteArray = uint8ToBase64
4591}(typeof exports === 'undefined' ? (this.base64js = {}) : exports))
ebd8d4e8 4592
ab78acc6
IC
4593},{}],9:[function(require,module,exports){
4594exports.read = function (buffer, offset, isLE, mLen, nBytes) {
4595 var e, m
4596 var eLen = nBytes * 8 - mLen - 1
4597 var eMax = (1 << eLen) - 1
4598 var eBias = eMax >> 1
4599 var nBits = -7
4600 var i = isLE ? (nBytes - 1) : 0
4601 var d = isLE ? -1 : 1
4602 var s = buffer[offset + i]
4603
4604 i += d
4605
4606 e = s & ((1 << (-nBits)) - 1)
4607 s >>= (-nBits)
4608 nBits += eLen
4609 for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
4610
4611 m = e & ((1 << (-nBits)) - 1)
4612 e >>= (-nBits)
4613 nBits += mLen
4614 for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
ebd8d4e8 4615
ab78acc6
IC
4616 if (e === 0) {
4617 e = 1 - eBias
4618 } else if (e === eMax) {
4619 return m ? NaN : ((s ? -1 : 1) * Infinity)
4620 } else {
4621 m = m + Math.pow(2, mLen)
4622 e = e - eBias
ebd8d4e8 4623 }
ab78acc6 4624 return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
ebd8d4e8
IC
4625}
4626
ab78acc6
IC
4627exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
4628 var e, m, c
4629 var eLen = nBytes * 8 - mLen - 1
4630 var eMax = (1 << eLen) - 1
4631 var eBias = eMax >> 1
4632 var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
4633 var i = isLE ? 0 : (nBytes - 1)
4634 var d = isLE ? 1 : -1
4635 var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
ebd8d4e8 4636
ab78acc6 4637 value = Math.abs(value)
ebd8d4e8 4638
ab78acc6
IC
4639 if (isNaN(value) || value === Infinity) {
4640 m = isNaN(value) ? 1 : 0
4641 e = eMax
4642 } else {
4643 e = Math.floor(Math.log(value) / Math.LN2)
4644 if (value * (c = Math.pow(2, -e)) < 1) {
4645 e--
4646 c *= 2
ebd8d4e8 4647 }
ab78acc6
IC
4648 if (e + eBias >= 1) {
4649 value += rt / c
4650 } else {
4651 value += rt * Math.pow(2, 1 - eBias)
ebd8d4e8 4652 }
ab78acc6
IC
4653 if (value * c >= 2) {
4654 e++
4655 c /= 2
ebd8d4e8 4656 }
ab78acc6
IC
4657
4658 if (e + eBias >= eMax) {
4659 m = 0
4660 e = eMax
4661 } else if (e + eBias >= 1) {
4662 m = (value * c - 1) * Math.pow(2, mLen)
4663 e = e + eBias
4664 } else {
4665 m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
4666 e = 0
ebd8d4e8
IC
4667 }
4668 }
ebd8d4e8 4669
ab78acc6 4670 for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
ebd8d4e8 4671
ab78acc6
IC
4672 e = (e << mLen) | m
4673 eLen += mLen
4674 for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
ebd8d4e8 4675
ab78acc6
IC
4676 buffer[offset + i - d] |= s * 128
4677}
ebd8d4e8 4678
ab78acc6 4679},{}],10:[function(require,module,exports){
ebd8d4e8 4680
ab78acc6
IC
4681/**
4682 * isArray
4683 */
ebd8d4e8 4684
ab78acc6 4685var isArray = Array.isArray;
ebd8d4e8
IC
4686
4687/**
ab78acc6 4688 * toString
ebd8d4e8 4689 */
ebd8d4e8 4690
ab78acc6 4691var str = Object.prototype.toString;
ebd8d4e8
IC
4692
4693/**
ab78acc6
IC
4694 * Whether or not the given `val`
4695 * is an array.
ebd8d4e8 4696 *
ab78acc6
IC
4697 * example:
4698 *
4699 * isArray([]);
4700 * // > true
4701 * isArray(arguments);
4702 * // > false
4703 * isArray('');
4704 * // > false
4705 *
4706 * @param {mixed} val
4707 * @return {bool}
ebd8d4e8 4708 */
ebd8d4e8 4709
ab78acc6
IC
4710module.exports = isArray || function (val) {
4711 return !! val && '[object Array]' == str.call(val);
4712};
4713
4714},{}],11:[function(require,module,exports){
4715// Copyright Joyent, Inc. and other Node contributors.
4716//
4717// Permission is hereby granted, free of charge, to any person obtaining a
4718// copy of this software and associated documentation files (the
4719// "Software"), to deal in the Software without restriction, including
4720// without limitation the rights to use, copy, modify, merge, publish,
4721// distribute, sublicense, and/or sell copies of the Software, and to permit
4722// persons to whom the Software is furnished to do so, subject to the
4723// following conditions:
4724//
4725// The above copyright notice and this permission notice shall be included
4726// in all copies or substantial portions of the Software.
4727//
4728// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
4729// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4730// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
4731// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
4732// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
4733// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
4734// USE OR OTHER DEALINGS IN THE SOFTWARE.
4735
4736function EventEmitter() {
4737 this._events = this._events || {};
4738 this._maxListeners = this._maxListeners || undefined;
ebd8d4e8 4739}
ab78acc6 4740module.exports = EventEmitter;
ebd8d4e8 4741
ab78acc6
IC
4742// Backwards-compat with node 0.10.x
4743EventEmitter.EventEmitter = EventEmitter;
ebd8d4e8 4744
ab78acc6
IC
4745EventEmitter.prototype._events = undefined;
4746EventEmitter.prototype._maxListeners = undefined;
4747
4748// By default EventEmitters will print a warning if more than 10 listeners are
4749// added to it. This is a useful default which helps finding memory leaks.
4750EventEmitter.defaultMaxListeners = 10;
4751
4752// Obviously not all Emitters should be limited to 10. This function allows
4753// that to be increased. Set to zero for unlimited.
4754EventEmitter.prototype.setMaxListeners = function(n) {
4755 if (!isNumber(n) || n < 0 || isNaN(n))
4756 throw TypeError('n must be a positive number');
4757 this._maxListeners = n;
4758 return this;
4759};
4760
4761EventEmitter.prototype.emit = function(type) {
4762 var er, handler, len, args, i, listeners;
4763
4764 if (!this._events)
4765 this._events = {};
4766
4767 // If there is no 'error' event listener then throw.
4768 if (type === 'error') {
4769 if (!this._events.error ||
4770 (isObject(this._events.error) && !this._events.error.length)) {
4771 er = arguments[1];
4772 if (er instanceof Error) {
4773 throw er; // Unhandled 'error' event
4774 }
4775 throw TypeError('Uncaught, unspecified "error" event.');
4776 }
4777 }
4778
4779 handler = this._events[type];
4780
4781 if (isUndefined(handler))
4782 return false;
4783
4784 if (isFunction(handler)) {
4785 switch (arguments.length) {
4786 // fast cases
4787 case 1:
4788 handler.call(this);
4789 break;
4790 case 2:
4791 handler.call(this, arguments[1]);
4792 break;
4793 case 3:
4794 handler.call(this, arguments[1], arguments[2]);
4795 break;
4796 // slower
4797 default:
4798 len = arguments.length;
4799 args = new Array(len - 1);
4800 for (i = 1; i < len; i++)
4801 args[i - 1] = arguments[i];
4802 handler.apply(this, args);
4803 }
4804 } else if (isObject(handler)) {
4805 len = arguments.length;
4806 args = new Array(len - 1);
4807 for (i = 1; i < len; i++)
4808 args[i - 1] = arguments[i];
ebd8d4e8 4809
ab78acc6
IC
4810 listeners = handler.slice();
4811 len = listeners.length;
4812 for (i = 0; i < len; i++)
4813 listeners[i].apply(this, args);
ebd8d4e8
IC
4814 }
4815
ab78acc6
IC
4816 return true;
4817};
ebd8d4e8 4818
ab78acc6
IC
4819EventEmitter.prototype.addListener = function(type, listener) {
4820 var m;
ebd8d4e8 4821
ab78acc6
IC
4822 if (!isFunction(listener))
4823 throw TypeError('listener must be a function');
ebd8d4e8 4824
ab78acc6
IC
4825 if (!this._events)
4826 this._events = {};
ebd8d4e8 4827
ab78acc6
IC
4828 // To avoid recursion in the case that type === "newListener"! Before
4829 // adding it to the listeners, first emit "newListener".
4830 if (this._events.newListener)
4831 this.emit('newListener', type,
4832 isFunction(listener.listener) ?
4833 listener.listener : listener);
ebd8d4e8 4834
ab78acc6
IC
4835 if (!this._events[type])
4836 // Optimize the case of one listener. Don't need the extra array object.
4837 this._events[type] = listener;
4838 else if (isObject(this._events[type]))
4839 // If we've already got an array, just append.
4840 this._events[type].push(listener);
4841 else
4842 // Adding the second element, need to change to array.
4843 this._events[type] = [this._events[type], listener];
4844
4845 // Check for listener leak
4846 if (isObject(this._events[type]) && !this._events[type].warned) {
4847 var m;
4848 if (!isUndefined(this._maxListeners)) {
4849 m = this._maxListeners;
4850 } else {
4851 m = EventEmitter.defaultMaxListeners;
4852 }
4853
4854 if (m && m > 0 && this._events[type].length > m) {
4855 this._events[type].warned = true;
4856 console.error('(node) warning: possible EventEmitter memory ' +
4857 'leak detected. %d listeners added. ' +
4858 'Use emitter.setMaxListeners() to increase limit.',
4859 this._events[type].length);
4860 if (typeof console.trace === 'function') {
4861 // not supported in IE 10
4862 console.trace();
4863 }
4864 }
4865 }
ebd8d4e8 4866
ab78acc6
IC
4867 return this;
4868};
ebd8d4e8 4869
ab78acc6 4870EventEmitter.prototype.on = EventEmitter.prototype.addListener;
ebd8d4e8 4871
ab78acc6
IC
4872EventEmitter.prototype.once = function(type, listener) {
4873 if (!isFunction(listener))
4874 throw TypeError('listener must be a function');
ebd8d4e8 4875
ab78acc6 4876 var fired = false;
ebd8d4e8 4877
ab78acc6
IC
4878 function g() {
4879 this.removeListener(type, g);
ebd8d4e8 4880
ab78acc6
IC
4881 if (!fired) {
4882 fired = true;
4883 listener.apply(this, arguments);
4884 }
4885 }
ebd8d4e8 4886
ab78acc6
IC
4887 g.listener = listener;
4888 this.on(type, g);
ebd8d4e8 4889
ab78acc6
IC
4890 return this;
4891};
ebd8d4e8 4892
ab78acc6
IC
4893// emits a 'removeListener' event iff the listener was removed
4894EventEmitter.prototype.removeListener = function(type, listener) {
4895 var list, position, length, i;
ebd8d4e8 4896
ab78acc6
IC
4897 if (!isFunction(listener))
4898 throw TypeError('listener must be a function');
ebd8d4e8 4899
ab78acc6
IC
4900 if (!this._events || !this._events[type])
4901 return this;
ebd8d4e8 4902
ab78acc6
IC
4903 list = this._events[type];
4904 length = list.length;
4905 position = -1;
4906
4907 if (list === listener ||
4908 (isFunction(list.listener) && list.listener === listener)) {
4909 delete this._events[type];
4910 if (this._events.removeListener)
4911 this.emit('removeListener', type, listener);
4912
4913 } else if (isObject(list)) {
4914 for (i = length; i-- > 0;) {
4915 if (list[i] === listener ||
4916 (list[i].listener && list[i].listener === listener)) {
4917 position = i;
4918 break;
ebd8d4e8 4919 }
ab78acc6 4920 }
ebd8d4e8 4921
ab78acc6
IC
4922 if (position < 0)
4923 return this;
4924
4925 if (list.length === 1) {
4926 list.length = 0;
4927 delete this._events[type];
4928 } else {
4929 list.splice(position, 1);
ebd8d4e8 4930 }
ab78acc6
IC
4931
4932 if (this._events.removeListener)
4933 this.emit('removeListener', type, listener);
ebd8d4e8 4934 }
ab78acc6
IC
4935
4936 return this;
ebd8d4e8
IC
4937};
4938
ab78acc6
IC
4939EventEmitter.prototype.removeAllListeners = function(type) {
4940 var key, listeners;
ebd8d4e8 4941
ab78acc6
IC
4942 if (!this._events)
4943 return this;
4944
4945 // not listening for removeListener, no need to emit
4946 if (!this._events.removeListener) {
4947 if (arguments.length === 0)
4948 this._events = {};
4949 else if (this._events[type])
4950 delete this._events[type];
4951 return this;
ebd8d4e8 4952 }
ab78acc6
IC
4953
4954 // emit removeListener for all listeners on all events
4955 if (arguments.length === 0) {
4956 for (key in this._events) {
4957 if (key === 'removeListener') continue;
4958 this.removeAllListeners(key);
4959 }
4960 this.removeAllListeners('removeListener');
4961 this._events = {};
4962 return this;
ebd8d4e8 4963 }
ebd8d4e8 4964
ab78acc6
IC
4965 listeners = this._events[type];
4966
4967 if (isFunction(listeners)) {
4968 this.removeListener(type, listeners);
ebd8d4e8 4969 } else {
ab78acc6
IC
4970 // LIFO order
4971 while (listeners.length)
4972 this.removeListener(type, listeners[listeners.length - 1]);
ebd8d4e8 4973 }
ab78acc6 4974 delete this._events[type];
ebd8d4e8 4975
ab78acc6
IC
4976 return this;
4977};
ebd8d4e8 4978
ab78acc6
IC
4979EventEmitter.prototype.listeners = function(type) {
4980 var ret;
4981 if (!this._events || !this._events[type])
4982 ret = [];
4983 else if (isFunction(this._events[type]))
4984 ret = [this._events[type]];
4985 else
4986 ret = this._events[type].slice();
4987 return ret;
4988};
ebd8d4e8 4989
ab78acc6
IC
4990EventEmitter.listenerCount = function(emitter, type) {
4991 var ret;
4992 if (!emitter._events || !emitter._events[type])
4993 ret = 0;
4994 else if (isFunction(emitter._events[type]))
4995 ret = 1;
4996 else
4997 ret = emitter._events[type].length;
4998 return ret;
4999};
ebd8d4e8 5000
ab78acc6
IC
5001function isFunction(arg) {
5002 return typeof arg === 'function';
ebd8d4e8
IC
5003}
5004
ab78acc6
IC
5005function isNumber(arg) {
5006 return typeof arg === 'number';
5007}
ebd8d4e8 5008
ab78acc6
IC
5009function isObject(arg) {
5010 return typeof arg === 'object' && arg !== null;
5011}
ebd8d4e8 5012
ab78acc6
IC
5013function isUndefined(arg) {
5014 return arg === void 0;
ebd8d4e8 5015}
ebd8d4e8 5016
ab78acc6
IC
5017},{}],12:[function(require,module,exports){
5018if (typeof Object.create === 'function') {
5019 // implementation from standard node.js 'util' module
5020 module.exports = function inherits(ctor, superCtor) {
5021 ctor.super_ = superCtor
5022 ctor.prototype = Object.create(superCtor.prototype, {
5023 constructor: {
5024 value: ctor,
5025 enumerable: false,
5026 writable: true,
5027 configurable: true
5028 }
5029 });
5030 };
5031} else {
5032 // old school shim for old browsers
5033 module.exports = function inherits(ctor, superCtor) {
5034 ctor.super_ = superCtor
5035 var TempCtor = function () {}
5036 TempCtor.prototype = superCtor.prototype
5037 ctor.prototype = new TempCtor()
5038 ctor.prototype.constructor = ctor
5039 }
5040}
ebd8d4e8 5041
ab78acc6
IC
5042},{}],13:[function(require,module,exports){
5043module.exports = Array.isArray || function (arr) {
5044 return Object.prototype.toString.call(arr) == '[object Array]';
ebd8d4e8
IC
5045};
5046
ab78acc6
IC
5047},{}],14:[function(require,module,exports){
5048// shim for using process in browser
ebd8d4e8 5049
ab78acc6
IC
5050var process = module.exports = {};
5051var queue = [];
5052var draining = false;
5053var currentQueue;
5054var queueIndex = -1;
5055
5056function cleanUpNextTick() {
5057 draining = false;
5058 if (currentQueue.length) {
5059 queue = currentQueue.concat(queue);
5060 } else {
5061 queueIndex = -1;
5062 }
5063 if (queue.length) {
5064 drainQueue();
5065 }
5066}
ebd8d4e8 5067
ab78acc6
IC
5068function drainQueue() {
5069 if (draining) {
5070 return;
5071 }
5072 var timeout = setTimeout(cleanUpNextTick);
5073 draining = true;
ebd8d4e8 5074
ab78acc6
IC
5075 var len = queue.length;
5076 while(len) {
5077 currentQueue = queue;
5078 queue = [];
5079 while (++queueIndex < len) {
5080 currentQueue[queueIndex].run();
5081 }
5082 queueIndex = -1;
5083 len = queue.length;
5084 }
5085 currentQueue = null;
5086 draining = false;
5087 clearTimeout(timeout);
5088}
5089
5090process.nextTick = function (fun) {
5091 var args = new Array(arguments.length - 1);
5092 if (arguments.length > 1) {
5093 for (var i = 1; i < arguments.length; i++) {
5094 args[i - 1] = arguments[i];
5095 }
5096 }
5097 queue.push(new Item(fun, args));
5098 if (queue.length === 1 && !draining) {
5099 setTimeout(drainQueue, 0);
5100 }
ebd8d4e8
IC
5101};
5102
ab78acc6
IC
5103// v8 likes predictible objects
5104function Item(fun, array) {
5105 this.fun = fun;
5106 this.array = array;
5107}
5108Item.prototype.run = function () {
5109 this.fun.apply(null, this.array);
5110};
5111process.title = 'browser';
5112process.browser = true;
5113process.env = {};
5114process.argv = [];
5115process.version = ''; // empty string to avoid regexp issues
5116process.versions = {};
ebd8d4e8 5117
ab78acc6
IC
5118function noop() {}
5119
5120process.on = noop;
5121process.addListener = noop;
5122process.once = noop;
5123process.off = noop;
5124process.removeListener = noop;
5125process.removeAllListeners = noop;
5126process.emit = noop;
5127
5128process.binding = function (name) {
5129 throw new Error('process.binding is not supported');
5130};
ebd8d4e8 5131
ab78acc6
IC
5132// TODO(shtylman)
5133process.cwd = function () { return '/' };
5134process.chdir = function (dir) {
5135 throw new Error('process.chdir is not supported');
5136};
5137process.umask = function() { return 0; };
ebd8d4e8 5138
ab78acc6
IC
5139},{}],15:[function(require,module,exports){
5140module.exports = require("./lib/_stream_duplex.js")
ebd8d4e8 5141
ab78acc6
IC
5142},{"./lib/_stream_duplex.js":16}],16:[function(require,module,exports){
5143(function (process){
5144// Copyright Joyent, Inc. and other Node contributors.
5145//
5146// Permission is hereby granted, free of charge, to any person obtaining a
5147// copy of this software and associated documentation files (the
5148// "Software"), to deal in the Software without restriction, including
5149// without limitation the rights to use, copy, modify, merge, publish,
5150// distribute, sublicense, and/or sell copies of the Software, and to permit
5151// persons to whom the Software is furnished to do so, subject to the
5152// following conditions:
5153//
5154// The above copyright notice and this permission notice shall be included
5155// in all copies or substantial portions of the Software.
5156//
5157// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5158// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5159// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5160// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5161// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5162// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5163// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 5164
ab78acc6
IC
5165// a duplex stream is just a stream that is both readable and writable.
5166// Since JS doesn't have multiple prototypal inheritance, this class
5167// prototypally inherits from Readable, and then parasitically from
5168// Writable.
ebd8d4e8 5169
ab78acc6 5170module.exports = Duplex;
ebd8d4e8 5171
ab78acc6
IC
5172/*<replacement>*/
5173var objectKeys = Object.keys || function (obj) {
5174 var keys = [];
5175 for (var key in obj) keys.push(key);
5176 return keys;
ebd8d4e8 5177}
ab78acc6 5178/*</replacement>*/
ebd8d4e8 5179
ebd8d4e8 5180
ab78acc6
IC
5181/*<replacement>*/
5182var util = require('core-util-is');
5183util.inherits = require('inherits');
5184/*</replacement>*/
ebd8d4e8 5185
ab78acc6
IC
5186var Readable = require('./_stream_readable');
5187var Writable = require('./_stream_writable');
ebd8d4e8 5188
ab78acc6 5189util.inherits(Duplex, Readable);
ebd8d4e8 5190
ab78acc6
IC
5191forEach(objectKeys(Writable.prototype), function(method) {
5192 if (!Duplex.prototype[method])
5193 Duplex.prototype[method] = Writable.prototype[method];
5194});
ebd8d4e8 5195
ab78acc6
IC
5196function Duplex(options) {
5197 if (!(this instanceof Duplex))
5198 return new Duplex(options);
ebd8d4e8 5199
ab78acc6
IC
5200 Readable.call(this, options);
5201 Writable.call(this, options);
ebd8d4e8 5202
ab78acc6
IC
5203 if (options && options.readable === false)
5204 this.readable = false;
ebd8d4e8 5205
ab78acc6
IC
5206 if (options && options.writable === false)
5207 this.writable = false;
ebd8d4e8 5208
ab78acc6
IC
5209 this.allowHalfOpen = true;
5210 if (options && options.allowHalfOpen === false)
5211 this.allowHalfOpen = false;
ebd8d4e8 5212
ab78acc6 5213 this.once('end', onend);
ebd8d4e8
IC
5214}
5215
ab78acc6
IC
5216// the no-half-open enforcer
5217function onend() {
5218 // if we allow half-open state, or if the writable side ended,
5219 // then we're ok.
5220 if (this.allowHalfOpen || this._writableState.ended)
5221 return;
ebd8d4e8 5222
ab78acc6
IC
5223 // no more data can be written.
5224 // But allow more writes to happen in this tick.
5225 process.nextTick(this.end.bind(this));
5226}
ebd8d4e8 5227
ab78acc6
IC
5228function forEach (xs, f) {
5229 for (var i = 0, l = xs.length; i < l; i++) {
5230 f(xs[i], i);
ebd8d4e8 5231 }
ab78acc6 5232}
ebd8d4e8 5233
ab78acc6
IC
5234}).call(this,require('_process'))
5235},{"./_stream_readable":18,"./_stream_writable":20,"_process":14,"core-util-is":21,"inherits":12}],17:[function(require,module,exports){
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.
ebd8d4e8 5256
ab78acc6
IC
5257// a passthrough stream.
5258// basically just the most minimal sort of Transform stream.
5259// Every written chunk gets output as-is.
ebd8d4e8 5260
ab78acc6 5261module.exports = PassThrough;
ebd8d4e8 5262
ab78acc6 5263var Transform = require('./_stream_transform');
ebd8d4e8 5264
ab78acc6
IC
5265/*<replacement>*/
5266var util = require('core-util-is');
5267util.inherits = require('inherits');
5268/*</replacement>*/
ebd8d4e8 5269
ab78acc6 5270util.inherits(PassThrough, Transform);
ebd8d4e8 5271
ab78acc6
IC
5272function PassThrough(options) {
5273 if (!(this instanceof PassThrough))
5274 return new PassThrough(options);
ebd8d4e8 5275
ab78acc6
IC
5276 Transform.call(this, options);
5277}
ebd8d4e8 5278
ab78acc6
IC
5279PassThrough.prototype._transform = function(chunk, encoding, cb) {
5280 cb(null, chunk);
ebd8d4e8
IC
5281};
5282
ab78acc6
IC
5283},{"./_stream_transform":19,"core-util-is":21,"inherits":12}],18:[function(require,module,exports){
5284(function (process){
ebd8d4e8
IC
5285// Copyright Joyent, Inc. and other Node contributors.
5286//
5287// Permission is hereby granted, free of charge, to any person obtaining a
5288// copy of this software and associated documentation files (the
5289// "Software"), to deal in the Software without restriction, including
5290// without limitation the rights to use, copy, modify, merge, publish,
5291// distribute, sublicense, and/or sell copies of the Software, and to permit
5292// persons to whom the Software is furnished to do so, subject to the
5293// following conditions:
5294//
5295// The above copyright notice and this permission notice shall be included
5296// in all copies or substantial portions of the Software.
5297//
5298// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5299// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5300// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5301// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5302// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5303// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5304// USE OR OTHER DEALINGS IN THE SOFTWARE.
5305
ab78acc6 5306module.exports = Readable;
ebd8d4e8 5307
ab78acc6
IC
5308/*<replacement>*/
5309var isArray = require('isarray');
5310/*</replacement>*/
5311
5312
5313/*<replacement>*/
5314var Buffer = require('buffer').Buffer;
5315/*</replacement>*/
5316
5317Readable.ReadableState = ReadableState;
5318
5319var EE = require('events').EventEmitter;
5320
5321/*<replacement>*/
5322if (!EE.listenerCount) EE.listenerCount = function(emitter, type) {
5323 return emitter.listeners(type).length;
ebd8d4e8 5324};
ab78acc6
IC
5325/*</replacement>*/
5326
5327var Stream = require('stream');
5328
5329/*<replacement>*/
5330var util = require('core-util-is');
5331util.inherits = require('inherits');
5332/*</replacement>*/
5333
5334var StringDecoder;
5335
5336
5337/*<replacement>*/
5338var debug = require('util');
5339if (debug && debug.debuglog) {
5340 debug = debug.debuglog('stream');
5341} else {
5342 debug = function () {};
5343}
5344/*</replacement>*/
5345
5346
5347util.inherits(Readable, Stream);
5348
5349function ReadableState(options, stream) {
5350 var Duplex = require('./_stream_duplex');
5351
5352 options = options || {};
5353
5354 // the point at which it stops calling _read() to fill the buffer
5355 // Note: 0 is a valid value, means "don't call _read preemptively ever"
5356 var hwm = options.highWaterMark;
5357 var defaultHwm = options.objectMode ? 16 : 16 * 1024;
5358 this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
5359
5360 // cast to ints.
5361 this.highWaterMark = ~~this.highWaterMark;
5362
5363 this.buffer = [];
5364 this.length = 0;
5365 this.pipes = null;
5366 this.pipesCount = 0;
5367 this.flowing = null;
5368 this.ended = false;
5369 this.endEmitted = false;
5370 this.reading = false;
ebd8d4e8 5371
ab78acc6
IC
5372 // a flag to be able to tell if the onwrite cb is called immediately,
5373 // or on a later tick. We set this to true at first, because any
5374 // actions that shouldn't happen until "later" should generally also
5375 // not happen before the first write call.
5376 this.sync = true;
ebd8d4e8 5377
ab78acc6
IC
5378 // whenever we return null, then we set a flag to say
5379 // that we're awaiting a 'readable' event emission.
5380 this.needReadable = false;
5381 this.emittedReadable = false;
5382 this.readableListening = false;
ebd8d4e8 5383
ab78acc6
IC
5384
5385 // object stream flag. Used to make read(n) ignore n and to
5386 // make all the buffer merging and length checks go away
5387 this.objectMode = !!options.objectMode;
5388
5389 if (stream instanceof Duplex)
5390 this.objectMode = this.objectMode || !!options.readableObjectMode;
5391
5392 // Crypto is kind of old and crusty. Historically, its default string
5393 // encoding is 'binary' so we have to make this configurable.
5394 // Everything else in the universe uses 'utf8', though.
5395 this.defaultEncoding = options.defaultEncoding || 'utf8';
5396
5397 // when piping, we only care about 'readable' events that happen
5398 // after read()ing all the bytes and not getting any pushback.
5399 this.ranOut = false;
5400
5401 // the number of writers that are awaiting a drain event in .pipe()s
5402 this.awaitDrain = 0;
5403
5404 // if true, a maybeReadMore has been scheduled
5405 this.readingMore = false;
5406
5407 this.decoder = null;
5408 this.encoding = null;
5409 if (options.encoding) {
5410 if (!StringDecoder)
5411 StringDecoder = require('string_decoder/').StringDecoder;
5412 this.decoder = new StringDecoder(options.encoding);
5413 this.encoding = options.encoding;
ebd8d4e8 5414 }
ab78acc6 5415}
ebd8d4e8 5416
ab78acc6
IC
5417function Readable(options) {
5418 var Duplex = require('./_stream_duplex');
5419
5420 if (!(this instanceof Readable))
5421 return new Readable(options);
5422
5423 this._readableState = new ReadableState(options, this);
5424
5425 // legacy
5426 this.readable = true;
5427
5428 Stream.call(this);
5429}
5430
5431// Manually shove something into the read() buffer.
5432// This returns true if the highWaterMark has not been hit yet,
5433// similar to how Writable.write() returns true if you should
5434// write() some more.
5435Readable.prototype.push = function(chunk, encoding) {
5436 var state = this._readableState;
5437
5438 if (util.isString(chunk) && !state.objectMode) {
5439 encoding = encoding || state.defaultEncoding;
5440 if (encoding !== state.encoding) {
5441 chunk = new Buffer(chunk, encoding);
5442 encoding = '';
ebd8d4e8 5443 }
ebd8d4e8
IC
5444 }
5445
ab78acc6 5446 return readableAddChunk(this, state, chunk, encoding, false);
ebd8d4e8
IC
5447};
5448
ab78acc6
IC
5449// Unshift should *always* be something directly out of read()
5450Readable.prototype.unshift = function(chunk) {
5451 var state = this._readableState;
5452 return readableAddChunk(this, state, chunk, '', true);
5453};
ebd8d4e8 5454
ab78acc6
IC
5455function readableAddChunk(stream, state, chunk, encoding, addToFront) {
5456 var er = chunkInvalid(state, chunk);
5457 if (er) {
5458 stream.emit('error', er);
5459 } else if (util.isNullOrUndefined(chunk)) {
5460 state.reading = false;
5461 if (!state.ended)
5462 onEofChunk(stream, state);
5463 } else if (state.objectMode || chunk && chunk.length > 0) {
5464 if (state.ended && !addToFront) {
5465 var e = new Error('stream.push() after EOF');
5466 stream.emit('error', e);
5467 } else if (state.endEmitted && addToFront) {
5468 var e = new Error('stream.unshift() after end event');
5469 stream.emit('error', e);
ebd8d4e8 5470 } else {
ab78acc6
IC
5471 if (state.decoder && !addToFront && !encoding)
5472 chunk = state.decoder.write(chunk);
5473
5474 if (!addToFront)
5475 state.reading = false;
5476
5477 // if we want the data now, just emit it.
5478 if (state.flowing && state.length === 0 && !state.sync) {
5479 stream.emit('data', chunk);
5480 stream.read(0);
5481 } else {
5482 // update the buffer info.
5483 state.length += state.objectMode ? 1 : chunk.length;
5484 if (addToFront)
5485 state.buffer.unshift(chunk);
5486 else
5487 state.buffer.push(chunk);
5488
5489 if (state.needReadable)
5490 emitReadable(stream);
5491 }
5492
5493 maybeReadMore(stream, state);
ebd8d4e8 5494 }
ab78acc6
IC
5495 } else if (!addToFront) {
5496 state.reading = false;
ebd8d4e8 5497 }
ebd8d4e8 5498
ab78acc6
IC
5499 return needMoreData(state);
5500}
ebd8d4e8 5501
ab78acc6
IC
5502
5503
5504// if it's past the high water mark, we can push in some more.
5505// Also, if we have no data yet, we can stand some
5506// more bytes. This is to work around cases where hwm=0,
5507// such as the repl. Also, if the push() triggered a
5508// readable event, and the user called read(largeNumber) such that
5509// needReadable was set, then we ought to push more, so that another
5510// 'readable' event will be triggered.
5511function needMoreData(state) {
5512 return !state.ended &&
5513 (state.needReadable ||
5514 state.length < state.highWaterMark ||
5515 state.length === 0);
5516}
5517
5518// backwards compatibility.
5519Readable.prototype.setEncoding = function(enc) {
5520 if (!StringDecoder)
5521 StringDecoder = require('string_decoder/').StringDecoder;
5522 this._readableState.decoder = new StringDecoder(enc);
5523 this._readableState.encoding = enc;
5524 return this;
5525};
5526
5527// Don't raise the hwm > 128MB
5528var MAX_HWM = 0x800000;
5529function roundUpToNextPowerOf2(n) {
5530 if (n >= MAX_HWM) {
5531 n = MAX_HWM;
5532 } else {
5533 // Get the next highest power of 2
5534 n--;
5535 for (var p = 1; p < 32; p <<= 1) n |= n >> p;
5536 n++;
ebd8d4e8 5537 }
ab78acc6 5538 return n;
ebd8d4e8 5539}
ebd8d4e8 5540
ab78acc6
IC
5541function howMuchToRead(n, state) {
5542 if (state.length === 0 && state.ended)
5543 return 0;
ebd8d4e8 5544
ab78acc6
IC
5545 if (state.objectMode)
5546 return n === 0 ? 0 : 1;
ebd8d4e8 5547
ab78acc6
IC
5548 if (isNaN(n) || util.isNull(n)) {
5549 // only flow one buffer at a time
5550 if (state.flowing && state.buffer.length)
5551 return state.buffer[0].length;
5552 else
5553 return state.length;
5554 }
ebd8d4e8 5555
ab78acc6
IC
5556 if (n <= 0)
5557 return 0;
ebd8d4e8 5558
ab78acc6
IC
5559 // If we're asking for more than the target buffer level,
5560 // then raise the water mark. Bump up to the next highest
5561 // power of 2, to prevent increasing it excessively in tiny
5562 // amounts.
5563 if (n > state.highWaterMark)
5564 state.highWaterMark = roundUpToNextPowerOf2(n);
ebd8d4e8 5565
ab78acc6
IC
5566 // don't have that much. return null, unless we've ended.
5567 if (n > state.length) {
5568 if (!state.ended) {
5569 state.needReadable = true;
5570 return 0;
5571 } else
5572 return state.length;
ebd8d4e8 5573 }
ab78acc6
IC
5574
5575 return n;
ebd8d4e8
IC
5576}
5577
ab78acc6
IC
5578// you can override either this method, or the async _read(n) below.
5579Readable.prototype.read = function(n) {
5580 debug('read', n);
5581 var state = this._readableState;
5582 var nOrig = n;
ebd8d4e8 5583
ab78acc6
IC
5584 if (!util.isNumber(n) || n > 0)
5585 state.emittedReadable = false;
5586
5587 // if we're doing read(0) to trigger a readable event, but we
5588 // already have a bunch of data in the buffer, then just trigger
5589 // the 'readable' event and move on.
5590 if (n === 0 &&
5591 state.needReadable &&
5592 (state.length >= state.highWaterMark || state.ended)) {
5593 debug('read: emitReadable', state.length, state.ended);
5594 if (state.length === 0 && state.ended)
5595 endReadable(this);
5596 else
5597 emitReadable(this);
5598 return null;
5599 }
5600
5601 n = howMuchToRead(n, state);
5602
5603 // if we've ended, and we're now clear, then finish it up.
5604 if (n === 0 && state.ended) {
5605 if (state.length === 0)
5606 endReadable(this);
5607 return null;
5608 }
5609
5610 // All the actual chunk generation logic needs to be
5611 // *below* the call to _read. The reason is that in certain
5612 // synthetic stream cases, such as passthrough streams, _read
5613 // may be a completely synchronous operation which may change
5614 // the state of the read buffer, providing enough data when
5615 // before there was *not* enough.
5616 //
5617 // So, the steps are:
5618 // 1. Figure out what the state of things will be after we do
5619 // a read from the buffer.
5620 //
5621 // 2. If that resulting state will trigger a _read, then call _read.
5622 // Note that this may be asynchronous, or synchronous. Yes, it is
5623 // deeply ugly to write APIs this way, but that still doesn't mean
5624 // that the Readable class should behave improperly, as streams are
5625 // designed to be sync/async agnostic.
5626 // Take note if the _read call is sync or async (ie, if the read call
5627 // has returned yet), so that we know whether or not it's safe to emit
5628 // 'readable' etc.
5629 //
5630 // 3. Actually pull the requested chunks out of the buffer and return.
5631
5632 // if we need a readable event, then we need to do some reading.
5633 var doRead = state.needReadable;
5634 debug('need readable', doRead);
5635
5636 // if we currently have less than the highWaterMark, then also read some
5637 if (state.length === 0 || state.length - n < state.highWaterMark) {
5638 doRead = true;
5639 debug('length less than watermark', doRead);
5640 }
5641
5642 // however, if we've ended, then there's no point, and if we're already
5643 // reading, then it's unnecessary.
5644 if (state.ended || state.reading) {
5645 doRead = false;
5646 debug('reading or ended', doRead);
5647 }
5648
5649 if (doRead) {
5650 debug('do read');
5651 state.reading = true;
5652 state.sync = true;
5653 // if the length is currently zero, then we *need* a readable event.
5654 if (state.length === 0)
5655 state.needReadable = true;
5656 // call internal read method
5657 this._read(state.highWaterMark);
5658 state.sync = false;
5659 }
5660
5661 // If _read pushed data synchronously, then `reading` will be false,
5662 // and we need to re-evaluate how much data we can return to the user.
5663 if (doRead && !state.reading)
5664 n = howMuchToRead(nOrig, state);
5665
5666 var ret;
5667 if (n > 0)
5668 ret = fromList(n, state);
5669 else
5670 ret = null;
ebd8d4e8 5671
ab78acc6
IC
5672 if (util.isNull(ret)) {
5673 state.needReadable = true;
5674 n = 0;
5675 }
ebd8d4e8 5676
ab78acc6 5677 state.length -= n;
ebd8d4e8 5678
ab78acc6
IC
5679 // If we have nothing in the buffer, then we want to know
5680 // as soon as we *do* get something into the buffer.
5681 if (state.length === 0 && !state.ended)
5682 state.needReadable = true;
ebd8d4e8 5683
ab78acc6
IC
5684 // If we tried to read() past the EOF, then emit end on the next tick.
5685 if (nOrig !== n && state.ended && state.length === 0)
5686 endReadable(this);
5687
5688 if (!util.isNull(ret))
5689 this.emit('data', ret);
5690
5691 return ret;
5692};
5693
5694function chunkInvalid(state, chunk) {
5695 var er = null;
5696 if (!util.isBuffer(chunk) &&
5697 !util.isString(chunk) &&
5698 !util.isNullOrUndefined(chunk) &&
5699 !state.objectMode) {
5700 er = new TypeError('Invalid non-string/buffer chunk');
5701 }
5702 return er;
ebd8d4e8
IC
5703}
5704
5705
ab78acc6
IC
5706function onEofChunk(stream, state) {
5707 if (state.decoder && !state.ended) {
5708 var chunk = state.decoder.end();
5709 if (chunk && chunk.length) {
5710 state.buffer.push(chunk);
5711 state.length += state.objectMode ? 1 : chunk.length;
ebd8d4e8 5712 }
ebd8d4e8 5713 }
ab78acc6 5714 state.ended = true;
ebd8d4e8 5715
ab78acc6
IC
5716 // emit 'readable' now to make sure it gets picked up.
5717 emitReadable(stream);
5718}
5719
5720// Don't emit readable right away in sync mode, because this can trigger
5721// another read() call => stack overflow. This way, it might trigger
5722// a nextTick recursion warning, but that's not so bad.
5723function emitReadable(stream) {
5724 var state = stream._readableState;
5725 state.needReadable = false;
5726 if (!state.emittedReadable) {
5727 debug('emitReadable', state.flowing);
5728 state.emittedReadable = true;
5729 if (state.sync)
5730 process.nextTick(function() {
5731 emitReadable_(stream);
5732 });
5733 else
5734 emitReadable_(stream);
ebd8d4e8 5735 }
ab78acc6 5736}
ebd8d4e8 5737
ab78acc6
IC
5738function emitReadable_(stream) {
5739 debug('emit readable');
5740 stream.emit('readable');
5741 flow(stream);
5742}
ebd8d4e8 5743
ab78acc6
IC
5744
5745// at this point, the user has presumably seen the 'readable' event,
5746// and called read() to consume some data. that may have triggered
5747// in turn another _read(n) call, in which case reading = true if
5748// it's in progress.
5749// However, if we're not ended, or reading, and the length < hwm,
5750// then go ahead and try to read some more preemptively.
5751function maybeReadMore(stream, state) {
5752 if (!state.readingMore) {
5753 state.readingMore = true;
5754 process.nextTick(function() {
5755 maybeReadMore_(stream, state);
5756 });
ebd8d4e8 5757 }
ab78acc6 5758}
ebd8d4e8 5759
ab78acc6
IC
5760function maybeReadMore_(stream, state) {
5761 var len = state.length;
5762 while (!state.reading && !state.flowing && !state.ended &&
5763 state.length < state.highWaterMark) {
5764 debug('maybeReadMore read 0');
5765 stream.read(0);
5766 if (len === state.length)
5767 // didn't get any data, stop spinning.
5768 break;
5769 else
5770 len = state.length;
ebd8d4e8 5771 }
ab78acc6
IC
5772 state.readingMore = false;
5773}
ebd8d4e8 5774
ab78acc6
IC
5775// abstract method. to be overridden in specific implementation classes.
5776// call cb(er, data) where data is <= n in length.
5777// for virtual (non-string, non-buffer) streams, "length" is somewhat
5778// arbitrary, and perhaps not very meaningful.
5779Readable.prototype._read = function(n) {
5780 this.emit('error', new Error('not implemented'));
5781};
5782
5783Readable.prototype.pipe = function(dest, pipeOpts) {
5784 var src = this;
5785 var state = this._readableState;
5786
5787 switch (state.pipesCount) {
5788 case 0:
5789 state.pipes = dest;
5790 break;
5791 case 1:
5792 state.pipes = [state.pipes, dest];
5793 break;
5794 default:
5795 state.pipes.push(dest);
5796 break;
ebd8d4e8 5797 }
ab78acc6
IC
5798 state.pipesCount += 1;
5799 debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);
ebd8d4e8 5800
ab78acc6
IC
5801 var doEnd = (!pipeOpts || pipeOpts.end !== false) &&
5802 dest !== process.stdout &&
5803 dest !== process.stderr;
ebd8d4e8 5804
ab78acc6
IC
5805 var endFn = doEnd ? onend : cleanup;
5806 if (state.endEmitted)
5807 process.nextTick(endFn);
5808 else
5809 src.once('end', endFn);
5810
5811 dest.on('unpipe', onunpipe);
5812 function onunpipe(readable) {
5813 debug('onunpipe');
5814 if (readable === src) {
5815 cleanup();
5816 }
5817 }
5818
5819 function onend() {
5820 debug('onend');
5821 dest.end();
5822 }
5823
5824 // when the dest drains, it reduces the awaitDrain counter
5825 // on the source. This would be more elegant with a .once()
5826 // handler in flow(), but adding and removing repeatedly is
5827 // too slow.
5828 var ondrain = pipeOnDrain(src);
5829 dest.on('drain', ondrain);
5830
5831 function cleanup() {
5832 debug('cleanup');
5833 // cleanup event handlers once the pipe is broken
5834 dest.removeListener('close', onclose);
5835 dest.removeListener('finish', onfinish);
5836 dest.removeListener('drain', ondrain);
5837 dest.removeListener('error', onerror);
5838 dest.removeListener('unpipe', onunpipe);
5839 src.removeListener('end', onend);
5840 src.removeListener('end', cleanup);
5841 src.removeListener('data', ondata);
5842
5843 // if the reader is waiting for a drain event from this
5844 // specific writer, then it would cause it to never start
5845 // flowing again.
5846 // So, if this is awaiting a drain, then we just call it now.
5847 // If we don't know, then assume that we are waiting for one.
5848 if (state.awaitDrain &&
5849 (!dest._writableState || dest._writableState.needDrain))
5850 ondrain();
5851 }
5852
5853 src.on('data', ondata);
5854 function ondata(chunk) {
5855 debug('ondata');
5856 var ret = dest.write(chunk);
5857 if (false === ret) {
5858 debug('false write response, pause',
5859 src._readableState.awaitDrain);
5860 src._readableState.awaitDrain++;
5861 src.pause();
5862 }
5863 }
5864
5865 // if the dest has an error, then stop piping into it.
5866 // however, don't suppress the throwing behavior for this.
5867 function onerror(er) {
5868 debug('onerror', er);
5869 unpipe();
5870 dest.removeListener('error', onerror);
5871 if (EE.listenerCount(dest, 'error') === 0)
5872 dest.emit('error', er);
5873 }
5874 // This is a brutally ugly hack to make sure that our error handler
5875 // is attached before any userland ones. NEVER DO THIS.
5876 if (!dest._events || !dest._events.error)
5877 dest.on('error', onerror);
5878 else if (isArray(dest._events.error))
5879 dest._events.error.unshift(onerror);
5880 else
5881 dest._events.error = [onerror, dest._events.error];
5882
5883
5884
5885 // Both close and finish should trigger unpipe, but only once.
5886 function onclose() {
5887 dest.removeListener('finish', onfinish);
5888 unpipe();
ebd8d4e8 5889 }
ab78acc6
IC
5890 dest.once('close', onclose);
5891 function onfinish() {
5892 debug('onfinish');
5893 dest.removeListener('close', onclose);
5894 unpipe();
5895 }
5896 dest.once('finish', onfinish);
ebd8d4e8 5897
ab78acc6
IC
5898 function unpipe() {
5899 debug('unpipe');
5900 src.unpipe(dest);
ebd8d4e8
IC
5901 }
5902
ab78acc6
IC
5903 // tell the dest that it's being piped to
5904 dest.emit('pipe', src);
5905
5906 // start the flow if it hasn't been started already.
5907 if (!state.flowing) {
5908 debug('pipe resume');
5909 src.resume();
ebd8d4e8
IC
5910 }
5911
ab78acc6
IC
5912 return dest;
5913};
5914
5915function pipeOnDrain(src) {
5916 return function() {
5917 var state = src._readableState;
5918 debug('pipeOnDrain', state.awaitDrain);
5919 if (state.awaitDrain)
5920 state.awaitDrain--;
5921 if (state.awaitDrain === 0 && EE.listenerCount(src, 'data')) {
5922 state.flowing = true;
5923 flow(src);
5924 }
5925 };
5926}
5927
5928
5929Readable.prototype.unpipe = function(dest) {
5930 var state = this._readableState;
5931
5932 // if we're not piping anywhere, then do nothing.
5933 if (state.pipesCount === 0)
5934 return this;
5935
5936 // just one destination. most common case.
5937 if (state.pipesCount === 1) {
5938 // passed in one, but it's not the right one.
5939 if (dest && dest !== state.pipes)
5940 return this;
5941
5942 if (!dest)
5943 dest = state.pipes;
5944
5945 // got a match.
5946 state.pipes = null;
5947 state.pipesCount = 0;
5948 state.flowing = false;
5949 if (dest)
5950 dest.emit('unpipe', this);
5951 return this;
ebd8d4e8
IC
5952 }
5953
ab78acc6
IC
5954 // slow case. multiple pipe destinations.
5955
5956 if (!dest) {
5957 // remove all.
5958 var dests = state.pipes;
5959 var len = state.pipesCount;
5960 state.pipes = null;
5961 state.pipesCount = 0;
5962 state.flowing = false;
5963
5964 for (var i = 0; i < len; i++)
5965 dests[i].emit('unpipe', this);
5966 return this;
ebd8d4e8
IC
5967 }
5968
ab78acc6
IC
5969 // try to find the right one.
5970 var i = indexOf(state.pipes, dest);
5971 if (i === -1)
5972 return this;
5973
5974 state.pipes.splice(i, 1);
5975 state.pipesCount -= 1;
5976 if (state.pipesCount === 1)
5977 state.pipes = state.pipes[0];
5978
5979 dest.emit('unpipe', this);
ebd8d4e8 5980
ab78acc6
IC
5981 return this;
5982};
5983
5984// set up data events if they are asked for
5985// Ensure readable listeners eventually get something
5986Readable.prototype.on = function(ev, fn) {
5987 var res = Stream.prototype.on.call(this, ev, fn);
5988
5989 // If listening to data, and it has not explicitly been paused,
5990 // then call resume to start the flow of data on the next tick.
5991 if (ev === 'data' && false !== this._readableState.flowing) {
5992 this.resume();
5993 }
5994
5995 if (ev === 'readable' && this.readable) {
5996 var state = this._readableState;
5997 if (!state.readableListening) {
5998 state.readableListening = true;
5999 state.emittedReadable = false;
6000 state.needReadable = true;
6001 if (!state.reading) {
6002 var self = this;
6003 process.nextTick(function() {
6004 debug('readable nexttick read 0');
6005 self.read(0);
6006 });
6007 } else if (state.length) {
6008 emitReadable(this, state);
6009 }
ebd8d4e8
IC
6010 }
6011 }
6012
ab78acc6
IC
6013 return res;
6014};
6015Readable.prototype.addListener = Readable.prototype.on;
6016
6017// pause() and resume() are remnants of the legacy readable stream API
6018// If the user uses them, then switch into old mode.
6019Readable.prototype.resume = function() {
6020 var state = this._readableState;
6021 if (!state.flowing) {
6022 debug('resume');
6023 state.flowing = true;
6024 if (!state.reading) {
6025 debug('resume read 0');
6026 this.read(0);
6027 }
6028 resume(this, state);
6029 }
6030 return this;
6031};
ebd8d4e8 6032
ab78acc6
IC
6033function resume(stream, state) {
6034 if (!state.resumeScheduled) {
6035 state.resumeScheduled = true;
6036 process.nextTick(function() {
6037 resume_(stream, state);
ebd8d4e8
IC
6038 });
6039 }
ebd8d4e8
IC
6040}
6041
ab78acc6
IC
6042function resume_(stream, state) {
6043 state.resumeScheduled = false;
6044 stream.emit('resume');
6045 flow(stream);
6046 if (state.flowing && !state.reading)
6047 stream.read(0);
ebd8d4e8
IC
6048}
6049
ab78acc6
IC
6050Readable.prototype.pause = function() {
6051 debug('call pause flowing=%j', this._readableState.flowing);
6052 if (false !== this._readableState.flowing) {
6053 debug('pause');
6054 this._readableState.flowing = false;
6055 this.emit('pause');
6056 }
6057 return this;
6058};
ebd8d4e8 6059
ab78acc6
IC
6060function flow(stream) {
6061 var state = stream._readableState;
6062 debug('flow', state.flowing);
6063 if (state.flowing) {
6064 do {
6065 var chunk = stream.read();
6066 } while (null !== chunk && state.flowing);
6067 }
ebd8d4e8
IC
6068}
6069
ab78acc6
IC
6070// wrap an old-style stream as the async data source.
6071// This is *not* part of the readable stream interface.
6072// It is an ugly unfortunate mess of history.
6073Readable.prototype.wrap = function(stream) {
6074 var state = this._readableState;
6075 var paused = false;
ebd8d4e8 6076
ab78acc6
IC
6077 var self = this;
6078 stream.on('end', function() {
6079 debug('wrapped end');
6080 if (state.decoder && !state.ended) {
6081 var chunk = state.decoder.end();
6082 if (chunk && chunk.length)
6083 self.push(chunk);
ebd8d4e8 6084 }
ab78acc6
IC
6085
6086 self.push(null);
ebd8d4e8 6087 });
ebd8d4e8 6088
ab78acc6
IC
6089 stream.on('data', function(chunk) {
6090 debug('wrapped data');
6091 if (state.decoder)
6092 chunk = state.decoder.write(chunk);
6093 if (!chunk || !state.objectMode && !chunk.length)
6094 return;
ebd8d4e8 6095
ab78acc6
IC
6096 var ret = self.push(chunk);
6097 if (!ret) {
6098 paused = true;
6099 stream.pause();
ebd8d4e8 6100 }
ab78acc6
IC
6101 });
6102
6103 // proxy all the other methods.
6104 // important when wrapping filters and duplexes.
6105 for (var i in stream) {
6106 if (util.isFunction(stream[i]) && util.isUndefined(this[i])) {
6107 this[i] = function(method) { return function() {
6108 return stream[method].apply(stream, arguments);
6109 }}(i);
ebd8d4e8
IC
6110 }
6111 }
ab78acc6
IC
6112
6113 // proxy certain important events.
6114 var events = ['error', 'close', 'destroy', 'pause', 'resume'];
6115 forEach(events, function(ev) {
6116 stream.on(ev, self.emit.bind(self, ev));
6117 });
6118
6119 // when we try to consume some more bytes, simply unpause the
6120 // underlying stream.
6121 self._read = function(n) {
6122 debug('wrapped _read', n);
6123 if (paused) {
6124 paused = false;
6125 stream.resume();
ebd8d4e8 6126 }
ab78acc6
IC
6127 };
6128
6129 return self;
6130};
6131
6132
6133
6134// exposed for testing purposes only.
6135Readable._fromList = fromList;
6136
6137// Pluck off n bytes from an array of buffers.
6138// Length is the combined lengths of all the buffers in the list.
6139function fromList(n, state) {
6140 var list = state.buffer;
6141 var length = state.length;
6142 var stringMode = !!state.decoder;
6143 var objectMode = !!state.objectMode;
6144 var ret;
6145
6146 // nothing in the list, definitely empty.
6147 if (list.length === 0)
6148 return null;
6149
6150 if (length === 0)
6151 ret = null;
6152 else if (objectMode)
6153 ret = list.shift();
6154 else if (!n || n >= length) {
6155 // read it all, truncate the array.
6156 if (stringMode)
6157 ret = list.join('');
6158 else
6159 ret = Buffer.concat(list, length);
6160 list.length = 0;
6161 } else {
6162 // read just some of it.
6163 if (n < list[0].length) {
6164 // just take a part of the first list item.
6165 // slice is the same for buffers and strings.
6166 var buf = list[0];
6167 ret = buf.slice(0, n);
6168 list[0] = buf.slice(n);
6169 } else if (n === list[0].length) {
6170 // first list is a perfect match
6171 ret = list.shift();
ebd8d4e8 6172 } else {
ab78acc6
IC
6173 // complex case.
6174 // we have enough to cover it, but it spans past the first buffer.
6175 if (stringMode)
6176 ret = '';
6177 else
6178 ret = new Buffer(n);
ebd8d4e8 6179
ab78acc6
IC
6180 var c = 0;
6181 for (var i = 0, l = list.length; i < l && c < n; i++) {
6182 var buf = list[0];
6183 var cpy = Math.min(n - c, buf.length);
ebd8d4e8 6184
ab78acc6
IC
6185 if (stringMode)
6186 ret += buf.slice(0, cpy);
6187 else
6188 buf.copy(ret, c, 0, cpy);
ebd8d4e8 6189
ab78acc6
IC
6190 if (cpy < buf.length)
6191 list[0] = buf.slice(cpy);
6192 else
6193 list.shift();
ebd8d4e8 6194
ab78acc6
IC
6195 c += cpy;
6196 }
6197 }
ebd8d4e8
IC
6198 }
6199
ab78acc6 6200 return ret;
ebd8d4e8
IC
6201}
6202
ab78acc6
IC
6203function endReadable(stream) {
6204 var state = stream._readableState;
ebd8d4e8 6205
ab78acc6
IC
6206 // If we get here before consuming all the bytes, then that is a
6207 // bug in node. Should never happen.
6208 if (state.length > 0)
6209 throw new Error('endReadable called on non-empty stream');
ebd8d4e8 6210
ab78acc6
IC
6211 if (!state.endEmitted) {
6212 state.ended = true;
6213 process.nextTick(function() {
6214 // Check that we didn't get one last unshift.
6215 if (!state.endEmitted && state.length === 0) {
6216 state.endEmitted = true;
6217 stream.readable = false;
6218 stream.emit('end');
6219 }
6220 });
6221 }
ebd8d4e8 6222}
ebd8d4e8 6223
ab78acc6
IC
6224function forEach (xs, f) {
6225 for (var i = 0, l = xs.length; i < l; i++) {
6226 f(xs[i], i);
6227 }
ebd8d4e8 6228}
ebd8d4e8 6229
ab78acc6
IC
6230function indexOf (xs, x) {
6231 for (var i = 0, l = xs.length; i < l; i++) {
6232 if (xs[i] === x) return i;
6233 }
6234 return -1;
ebd8d4e8 6235}
ebd8d4e8 6236
ab78acc6
IC
6237}).call(this,require('_process'))
6238},{"./_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){
6239// Copyright Joyent, Inc. and other Node contributors.
6240//
6241// Permission is hereby granted, free of charge, to any person obtaining a
6242// copy of this software and associated documentation files (the
6243// "Software"), to deal in the Software without restriction, including
6244// without limitation the rights to use, copy, modify, merge, publish,
6245// distribute, sublicense, and/or sell copies of the Software, and to permit
6246// persons to whom the Software is furnished to do so, subject to the
6247// following conditions:
6248//
6249// The above copyright notice and this permission notice shall be included
6250// in all copies or substantial portions of the Software.
6251//
6252// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6253// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6254// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6255// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6256// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6257// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6258// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 6259
ebd8d4e8 6260
ab78acc6
IC
6261// a transform stream is a readable/writable stream where you do
6262// something with the data. Sometimes it's called a "filter",
6263// but that's not a great name for it, since that implies a thing where
6264// some bits pass through, and others are simply ignored. (That would
6265// be a valid example of a transform, of course.)
6266//
6267// While the output is causally related to the input, it's not a
6268// necessarily symmetric or synchronous transformation. For example,
6269// a zlib stream might take multiple plain-text writes(), and then
6270// emit a single compressed chunk some time in the future.
6271//
6272// Here's how this works:
6273//
6274// The Transform stream has all the aspects of the readable and writable
6275// stream classes. When you write(chunk), that calls _write(chunk,cb)
6276// internally, and returns false if there's a lot of pending writes
6277// buffered up. When you call read(), that calls _read(n) until
6278// there's enough pending readable data buffered up.
6279//
6280// In a transform stream, the written data is placed in a buffer. When
6281// _read(n) is called, it transforms the queued up data, calling the
6282// buffered _write cb's as it consumes chunks. If consuming a single
6283// written chunk would result in multiple output chunks, then the first
6284// outputted bit calls the readcb, and subsequent chunks just go into
6285// the read buffer, and will cause it to emit 'readable' if necessary.
6286//
6287// This way, back-pressure is actually determined by the reading side,
6288// since _read has to be called to start processing a new chunk. However,
6289// a pathological inflate type of transform can cause excessive buffering
6290// here. For example, imagine a stream where every byte of input is
6291// interpreted as an integer from 0-255, and then results in that many
6292// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in
6293// 1kb of data being output. In this case, you could write a very small
6294// amount of input, and end up with a very large amount of output. In
6295// such a pathological inflating mechanism, there'd be no way to tell
6296// the system to stop doing the transform. A single 4MB write could
6297// cause the system to run out of memory.
6298//
6299// However, even in such a pathological case, only a single written chunk
6300// would be consumed, and then the rest would wait (un-transformed) until
6301// the results of the previous transformed chunk were consumed.
ebd8d4e8 6302
ab78acc6 6303module.exports = Transform;
ebd8d4e8 6304
ab78acc6 6305var Duplex = require('./_stream_duplex');
ebd8d4e8 6306
ab78acc6
IC
6307/*<replacement>*/
6308var util = require('core-util-is');
6309util.inherits = require('inherits');
6310/*</replacement>*/
6311
6312util.inherits(Transform, Duplex);
6313
6314
6315function TransformState(options, stream) {
6316 this.afterTransform = function(er, data) {
6317 return afterTransform(stream, er, data);
6318 };
6319
6320 this.needTransform = false;
6321 this.transforming = false;
6322 this.writecb = null;
6323 this.writechunk = null;
ebd8d4e8 6324}
ebd8d4e8 6325
ab78acc6
IC
6326function afterTransform(stream, er, data) {
6327 var ts = stream._transformState;
6328 ts.transforming = false;
6329
6330 var cb = ts.writecb;
6331
6332 if (!cb)
6333 return stream.emit('error', new Error('no writecb in Transform class'));
6334
6335 ts.writechunk = null;
6336 ts.writecb = null;
6337
6338 if (!util.isNullOrUndefined(data))
6339 stream.push(data);
6340
6341 if (cb)
6342 cb(er);
6343
6344 var rs = stream._readableState;
6345 rs.reading = false;
6346 if (rs.needReadable || rs.length < rs.highWaterMark) {
6347 stream._read(rs.highWaterMark);
6348 }
ebd8d4e8 6349}
ebd8d4e8 6350
ab78acc6
IC
6351
6352function Transform(options) {
6353 if (!(this instanceof Transform))
6354 return new Transform(options);
6355
6356 Duplex.call(this, options);
6357
6358 this._transformState = new TransformState(options, this);
6359
6360 // when the writable side finishes, then flush out anything remaining.
6361 var stream = this;
6362
6363 // start out asking for a readable event once data is transformed.
6364 this._readableState.needReadable = true;
6365
6366 // we have implemented the _read method, and done the other things
6367 // that Readable wants before the first _read call, so unset the
6368 // sync guard flag.
6369 this._readableState.sync = false;
6370
6371 this.once('prefinish', function() {
6372 if (util.isFunction(this._flush))
6373 this._flush(function(er) {
6374 done(stream, er);
6375 });
6376 else
6377 done(stream);
6378 });
ebd8d4e8 6379}
ebd8d4e8 6380
ab78acc6
IC
6381Transform.prototype.push = function(chunk, encoding) {
6382 this._transformState.needTransform = false;
6383 return Duplex.prototype.push.call(this, chunk, encoding);
6384};
6385
6386// This is the part where you do stuff!
6387// override this function in implementation classes.
6388// 'chunk' is an input chunk.
6389//
6390// Call `push(newChunk)` to pass along transformed output
6391// to the readable side. You may call 'push' zero or more times.
6392//
6393// Call `cb(err)` when you are done with this chunk. If you pass
6394// an error, then that'll put the hurt on the whole operation. If you
6395// never call cb(), then you'll never get another chunk.
6396Transform.prototype._transform = function(chunk, encoding, cb) {
6397 throw new Error('not implemented');
6398};
6399
6400Transform.prototype._write = function(chunk, encoding, cb) {
6401 var ts = this._transformState;
6402 ts.writecb = cb;
6403 ts.writechunk = chunk;
6404 ts.writeencoding = encoding;
6405 if (!ts.transforming) {
6406 var rs = this._readableState;
6407 if (ts.needTransform ||
6408 rs.needReadable ||
6409 rs.length < rs.highWaterMark)
6410 this._read(rs.highWaterMark);
6411 }
6412};
6413
6414// Doesn't matter what the args are here.
6415// _transform does all the work.
6416// That we got here means that the readable side wants more data.
6417Transform.prototype._read = function(n) {
6418 var ts = this._transformState;
ebd8d4e8 6419
ab78acc6
IC
6420 if (!util.isNull(ts.writechunk) && ts.writecb && !ts.transforming) {
6421 ts.transforming = true;
6422 this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
6423 } else {
6424 // mark that we need a transform, so that any data that comes in
6425 // will get processed, now that we've asked for it.
6426 ts.needTransform = true;
6427 }
6428};
ebd8d4e8 6429
ebd8d4e8 6430
ab78acc6
IC
6431function done(stream, er) {
6432 if (er)
6433 return stream.emit('error', er);
ebd8d4e8 6434
ab78acc6
IC
6435 // if there's nothing in the write buffer, then that means
6436 // that nothing more will ever be provided
6437 var ws = stream._writableState;
6438 var ts = stream._transformState;
ebd8d4e8 6439
ab78acc6
IC
6440 if (ws.length)
6441 throw new Error('calling transform done when ws.length != 0');
6442
6443 if (ts.transforming)
6444 throw new Error('calling transform done when still transforming');
6445
6446 return stream.push(null);
ebd8d4e8
IC
6447}
6448
ab78acc6
IC
6449},{"./_stream_duplex":16,"core-util-is":21,"inherits":12}],20:[function(require,module,exports){
6450(function (process){
6451// Copyright Joyent, Inc. and other Node contributors.
6452//
6453// Permission is hereby granted, free of charge, to any person obtaining a
6454// copy of this software and associated documentation files (the
6455// "Software"), to deal in the Software without restriction, including
6456// without limitation the rights to use, copy, modify, merge, publish,
6457// distribute, sublicense, and/or sell copies of the Software, and to permit
6458// persons to whom the Software is furnished to do so, subject to the
6459// following conditions:
6460//
6461// The above copyright notice and this permission notice shall be included
6462// in all copies or substantial portions of the Software.
6463//
6464// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6465// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6466// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6467// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6468// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6469// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6470// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 6471
ab78acc6
IC
6472// A bit simpler than readable streams.
6473// Implement an async ._write(chunk, cb), and it'll handle all
6474// the drain event emission and buffering.
ebd8d4e8 6475
ab78acc6 6476module.exports = Writable;
ebd8d4e8 6477
ab78acc6
IC
6478/*<replacement>*/
6479var Buffer = require('buffer').Buffer;
6480/*</replacement>*/
ebd8d4e8 6481
ab78acc6 6482Writable.WritableState = WritableState;
ebd8d4e8
IC
6483
6484
ab78acc6
IC
6485/*<replacement>*/
6486var util = require('core-util-is');
6487util.inherits = require('inherits');
6488/*</replacement>*/
ebd8d4e8 6489
ab78acc6 6490var Stream = require('stream');
ebd8d4e8 6491
ab78acc6 6492util.inherits(Writable, Stream);
ebd8d4e8 6493
ab78acc6
IC
6494function WriteReq(chunk, encoding, cb) {
6495 this.chunk = chunk;
6496 this.encoding = encoding;
6497 this.callback = cb;
ebd8d4e8
IC
6498}
6499
ab78acc6
IC
6500function WritableState(options, stream) {
6501 var Duplex = require('./_stream_duplex');
ebd8d4e8 6502
ab78acc6 6503 options = options || {};
ebd8d4e8 6504
ab78acc6
IC
6505 // the point at which write() starts returning false
6506 // Note: 0 is a valid value, means that we always return false if
6507 // the entire buffer is not flushed immediately on write()
6508 var hwm = options.highWaterMark;
6509 var defaultHwm = options.objectMode ? 16 : 16 * 1024;
6510 this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
ebd8d4e8 6511
ab78acc6
IC
6512 // object stream flag to indicate whether or not this stream
6513 // contains buffers or objects.
6514 this.objectMode = !!options.objectMode;
ebd8d4e8 6515
ab78acc6
IC
6516 if (stream instanceof Duplex)
6517 this.objectMode = this.objectMode || !!options.writableObjectMode;
ebd8d4e8 6518
ab78acc6
IC
6519 // cast to ints.
6520 this.highWaterMark = ~~this.highWaterMark;
ebd8d4e8 6521
ab78acc6
IC
6522 this.needDrain = false;
6523 // at the start of calling end()
6524 this.ending = false;
6525 // when end() has been called, and returned
6526 this.ended = false;
6527 // when 'finish' is emitted
6528 this.finished = false;
ebd8d4e8 6529
ab78acc6
IC
6530 // should we decode strings into buffers before passing to _write?
6531 // this is here so that some node-core streams can optimize string
6532 // handling at a lower level.
6533 var noDecode = options.decodeStrings === false;
6534 this.decodeStrings = !noDecode;
ebd8d4e8 6535
ab78acc6
IC
6536 // Crypto is kind of old and crusty. Historically, its default string
6537 // encoding is 'binary' so we have to make this configurable.
6538 // Everything else in the universe uses 'utf8', though.
6539 this.defaultEncoding = options.defaultEncoding || 'utf8';
ebd8d4e8 6540
ab78acc6
IC
6541 // not an actual buffer we keep track of, but a measurement
6542 // of how much we're waiting to get pushed to some underlying
6543 // socket or file.
6544 this.length = 0;
ebd8d4e8 6545
ab78acc6
IC
6546 // a flag to see when we're in the middle of a write.
6547 this.writing = false;
ebd8d4e8 6548
ab78acc6
IC
6549 // when true all writes will be buffered until .uncork() call
6550 this.corked = 0;
ebd8d4e8 6551
ab78acc6
IC
6552 // a flag to be able to tell if the onwrite cb is called immediately,
6553 // or on a later tick. We set this to true at first, because any
6554 // actions that shouldn't happen until "later" should generally also
6555 // not happen before the first write call.
6556 this.sync = true;
ebd8d4e8 6557
ab78acc6
IC
6558 // a flag to know if we're processing previously buffered items, which
6559 // may call the _write() callback in the same tick, so that we don't
6560 // end up in an overlapped onwrite situation.
6561 this.bufferProcessing = false;
ebd8d4e8 6562
ab78acc6
IC
6563 // the callback that's passed to _write(chunk,cb)
6564 this.onwrite = function(er) {
6565 onwrite(stream, er);
6566 };
ebd8d4e8 6567
ab78acc6
IC
6568 // the callback that the user supplies to write(chunk,encoding,cb)
6569 this.writecb = null;
ebd8d4e8 6570
ab78acc6
IC
6571 // the amount that is being written when _write is called.
6572 this.writelen = 0;
ebd8d4e8 6573
ab78acc6 6574 this.buffer = [];
ebd8d4e8 6575
ab78acc6
IC
6576 // number of pending user-supplied write callbacks
6577 // this must be 0 before 'finish' can be emitted
6578 this.pendingcb = 0;
ebd8d4e8 6579
ab78acc6
IC
6580 // emit prefinish if the only thing we're waiting for is _write cbs
6581 // This is relevant for synchronous Transform streams
6582 this.prefinished = false;
ebd8d4e8 6583
ab78acc6
IC
6584 // True if the error was already emitted and should not be thrown again
6585 this.errorEmitted = false;
ebd8d4e8
IC
6586}
6587
ab78acc6
IC
6588function Writable(options) {
6589 var Duplex = require('./_stream_duplex');
ebd8d4e8 6590
ab78acc6
IC
6591 // Writable ctor is applied to Duplexes, though they're not
6592 // instanceof Writable, they're instanceof Readable.
6593 if (!(this instanceof Writable) && !(this instanceof Duplex))
6594 return new Writable(options);
ebd8d4e8 6595
ab78acc6 6596 this._writableState = new WritableState(options, this);
ebd8d4e8 6597
ab78acc6
IC
6598 // legacy.
6599 this.writable = true;
ebd8d4e8 6600
ab78acc6 6601 Stream.call(this);
ebd8d4e8
IC
6602}
6603
ab78acc6
IC
6604// Otherwise people can pipe Writable streams, which is just wrong.
6605Writable.prototype.pipe = function() {
6606 this.emit('error', new Error('Cannot pipe. Not readable.'));
6607};
ebd8d4e8 6608
ebd8d4e8 6609
ab78acc6
IC
6610function writeAfterEnd(stream, state, cb) {
6611 var er = new Error('write after end');
6612 // TODO: defer error events consistently everywhere, not just the cb
6613 stream.emit('error', er);
6614 process.nextTick(function() {
6615 cb(er);
6616 });
ebd8d4e8
IC
6617}
6618
ab78acc6
IC
6619// If we get something that is not a buffer, string, null, or undefined,
6620// and we're not in objectMode, then that's an error.
6621// Otherwise stream chunks are all considered to be of length=1, and the
6622// watermarks determine how many objects to keep in the buffer, rather than
6623// how many bytes or characters.
6624function validChunk(stream, state, chunk, cb) {
6625 var valid = true;
6626 if (!util.isBuffer(chunk) &&
6627 !util.isString(chunk) &&
6628 !util.isNullOrUndefined(chunk) &&
6629 !state.objectMode) {
6630 var er = new TypeError('Invalid non-string/buffer chunk');
6631 stream.emit('error', er);
6632 process.nextTick(function() {
6633 cb(er);
6634 });
6635 valid = false;
6636 }
6637 return valid;
ebd8d4e8
IC
6638}
6639
ab78acc6
IC
6640Writable.prototype.write = function(chunk, encoding, cb) {
6641 var state = this._writableState;
6642 var ret = false;
ebd8d4e8 6643
ab78acc6
IC
6644 if (util.isFunction(encoding)) {
6645 cb = encoding;
6646 encoding = null;
ebd8d4e8 6647 }
ebd8d4e8 6648
ab78acc6
IC
6649 if (util.isBuffer(chunk))
6650 encoding = 'buffer';
6651 else if (!encoding)
6652 encoding = state.defaultEncoding;
6653
6654 if (!util.isFunction(cb))
6655 cb = function() {};
6656
6657 if (state.ended)
6658 writeAfterEnd(this, state, cb);
6659 else if (validChunk(this, state, chunk, cb)) {
6660 state.pendingcb++;
6661 ret = writeOrBuffer(this, state, chunk, encoding, cb);
ebd8d4e8 6662 }
ebd8d4e8 6663
ab78acc6
IC
6664 return ret;
6665};
6666
6667Writable.prototype.cork = function() {
6668 var state = this._writableState;
6669
6670 state.corked++;
6671};
ebd8d4e8 6672
ab78acc6
IC
6673Writable.prototype.uncork = function() {
6674 var state = this._writableState;
ebd8d4e8 6675
ab78acc6
IC
6676 if (state.corked) {
6677 state.corked--;
ebd8d4e8 6678
ab78acc6
IC
6679 if (!state.writing &&
6680 !state.corked &&
6681 !state.finished &&
6682 !state.bufferProcessing &&
6683 state.buffer.length)
6684 clearBuffer(this, state);
ebd8d4e8 6685 }
ab78acc6 6686};
ebd8d4e8 6687
ab78acc6
IC
6688function decodeChunk(state, chunk, encoding) {
6689 if (!state.objectMode &&
6690 state.decodeStrings !== false &&
6691 util.isString(chunk)) {
6692 chunk = new Buffer(chunk, encoding);
ebd8d4e8 6693 }
ab78acc6 6694 return chunk;
ebd8d4e8
IC
6695}
6696
ab78acc6
IC
6697// if we're already writing something, then just put this
6698// in the queue, and wait our turn. Otherwise, call _write
6699// If we return false, then we need a drain event, so set that flag.
6700function writeOrBuffer(stream, state, chunk, encoding, cb) {
6701 chunk = decodeChunk(state, chunk, encoding);
6702 if (util.isBuffer(chunk))
6703 encoding = 'buffer';
6704 var len = state.objectMode ? 1 : chunk.length;
6705
6706 state.length += len;
6707
6708 var ret = state.length < state.highWaterMark;
6709 // we must ensure that previous needDrain will not be reset to false.
6710 if (!ret)
6711 state.needDrain = true;
6712
6713 if (state.writing || state.corked)
6714 state.buffer.push(new WriteReq(chunk, encoding, cb));
6715 else
6716 doWrite(stream, state, false, len, chunk, encoding, cb);
6717
6718 return ret;
ebd8d4e8
IC
6719}
6720
ab78acc6
IC
6721function doWrite(stream, state, writev, len, chunk, encoding, cb) {
6722 state.writelen = len;
6723 state.writecb = cb;
6724 state.writing = true;
6725 state.sync = true;
6726 if (writev)
6727 stream._writev(chunk, state.onwrite);
6728 else
6729 stream._write(chunk, encoding, state.onwrite);
6730 state.sync = false;
ebd8d4e8
IC
6731}
6732
ab78acc6
IC
6733function onwriteError(stream, state, sync, er, cb) {
6734 if (sync)
6735 process.nextTick(function() {
6736 state.pendingcb--;
6737 cb(er);
6738 });
6739 else {
6740 state.pendingcb--;
6741 cb(er);
6742 }
ebd8d4e8 6743
ab78acc6
IC
6744 stream._writableState.errorEmitted = true;
6745 stream.emit('error', er);
6746}
ebd8d4e8 6747
ab78acc6
IC
6748function onwriteStateUpdate(state) {
6749 state.writing = false;
6750 state.writecb = null;
6751 state.length -= state.writelen;
6752 state.writelen = 0;
6753}
ebd8d4e8 6754
ab78acc6
IC
6755function onwrite(stream, er) {
6756 var state = stream._writableState;
6757 var sync = state.sync;
6758 var cb = state.writecb;
ebd8d4e8 6759
ab78acc6 6760 onwriteStateUpdate(state);
ebd8d4e8 6761
ab78acc6
IC
6762 if (er)
6763 onwriteError(stream, state, sync, er, cb);
6764 else {
6765 // Check if we're actually ready to finish, but don't emit yet
6766 var finished = needFinish(stream, state);
ebd8d4e8 6767
ab78acc6
IC
6768 if (!finished &&
6769 !state.corked &&
6770 !state.bufferProcessing &&
6771 state.buffer.length) {
6772 clearBuffer(stream, state);
6773 }
6774
6775 if (sync) {
6776 process.nextTick(function() {
6777 afterWrite(stream, state, finished, cb);
6778 });
6779 } else {
6780 afterWrite(stream, state, finished, cb);
ebd8d4e8 6781 }
ebd8d4e8
IC
6782 }
6783}
6784
ab78acc6
IC
6785function afterWrite(stream, state, finished, cb) {
6786 if (!finished)
6787 onwriteDrain(stream, state);
6788 state.pendingcb--;
6789 cb();
6790 finishMaybe(stream, state);
6791}
6792
6793// Must force callback to be called on nextTick, so that we don't
6794// emit 'drain' before the write() consumer gets the 'false' return
6795// value, and has a chance to attach a 'drain' listener.
6796function onwriteDrain(stream, state) {
6797 if (state.length === 0 && state.needDrain) {
6798 state.needDrain = false;
6799 stream.emit('drain');
ebd8d4e8
IC
6800 }
6801}
6802
ebd8d4e8 6803
ab78acc6
IC
6804// if there's something in the buffer waiting, then process it
6805function clearBuffer(stream, state) {
6806 state.bufferProcessing = true;
6807
6808 if (stream._writev && state.buffer.length > 1) {
6809 // Fast case, write everything using _writev()
6810 var cbs = [];
6811 for (var c = 0; c < state.buffer.length; c++)
6812 cbs.push(state.buffer[c].callback);
6813
6814 // count the one we are adding, as well.
6815 // TODO(isaacs) clean this up
6816 state.pendingcb++;
6817 doWrite(stream, state, true, state.length, state.buffer, '', function(err) {
6818 for (var i = 0; i < cbs.length; i++) {
6819 state.pendingcb--;
6820 cbs[i](err);
6821 }
6822 });
6823
6824 // Clear buffer
6825 state.buffer = [];
6826 } else {
6827 // Slow case, write chunks one-by-one
6828 for (var c = 0; c < state.buffer.length; c++) {
6829 var entry = state.buffer[c];
6830 var chunk = entry.chunk;
6831 var encoding = entry.encoding;
6832 var cb = entry.callback;
6833 var len = state.objectMode ? 1 : chunk.length;
6834
6835 doWrite(stream, state, false, len, chunk, encoding, cb);
6836
6837 // if we didn't call the onwrite immediately, then
6838 // it means that we need to wait until it does.
6839 // also, that means that the chunk and cb are currently
6840 // being processed, so move the buffer counter past them.
6841 if (state.writing) {
6842 c++;
6843 break;
6844 }
ebd8d4e8 6845 }
ab78acc6
IC
6846
6847 if (c < state.buffer.length)
6848 state.buffer = state.buffer.slice(c);
6849 else
6850 state.buffer.length = 0;
ebd8d4e8
IC
6851 }
6852
ab78acc6 6853 state.bufferProcessing = false;
ebd8d4e8
IC
6854}
6855
ab78acc6
IC
6856Writable.prototype._write = function(chunk, encoding, cb) {
6857 cb(new Error('not implemented'));
ebd8d4e8 6858
ab78acc6 6859};
ebd8d4e8 6860
ab78acc6 6861Writable.prototype._writev = null;
ebd8d4e8 6862
ab78acc6
IC
6863Writable.prototype.end = function(chunk, encoding, cb) {
6864 var state = this._writableState;
ebd8d4e8 6865
ab78acc6
IC
6866 if (util.isFunction(chunk)) {
6867 cb = chunk;
6868 chunk = null;
6869 encoding = null;
6870 } else if (util.isFunction(encoding)) {
6871 cb = encoding;
6872 encoding = null;
6873 }
ebd8d4e8 6874
ab78acc6
IC
6875 if (!util.isNullOrUndefined(chunk))
6876 this.write(chunk, encoding);
6877
6878 // .end() fully uncorks
6879 if (state.corked) {
6880 state.corked = 1;
6881 this.uncork();
ebd8d4e8 6882 }
ab78acc6
IC
6883
6884 // ignore unnecessary end() calls.
6885 if (!state.ending && !state.finished)
6886 endWritable(this, state, cb);
6887};
6888
6889
6890function needFinish(stream, state) {
6891 return (state.ending &&
6892 state.length === 0 &&
6893 !state.finished &&
6894 !state.writing);
ebd8d4e8
IC
6895}
6896
ab78acc6
IC
6897function prefinish(stream, state) {
6898 if (!state.prefinished) {
6899 state.prefinished = true;
6900 stream.emit('prefinish');
ebd8d4e8 6901 }
ebd8d4e8
IC
6902}
6903
ab78acc6
IC
6904function finishMaybe(stream, state) {
6905 var need = needFinish(stream, state);
6906 if (need) {
6907 if (state.pendingcb === 0) {
6908 prefinish(stream, state);
6909 state.finished = true;
6910 stream.emit('finish');
6911 } else
6912 prefinish(stream, state);
6913 }
6914 return need;
6915}
ebd8d4e8 6916
ab78acc6
IC
6917function endWritable(stream, state, cb) {
6918 state.ending = true;
6919 finishMaybe(stream, state);
6920 if (cb) {
6921 if (state.finished)
6922 process.nextTick(cb);
6923 else
6924 stream.once('finish', cb);
ebd8d4e8 6925 }
ab78acc6 6926 state.ended = true;
ebd8d4e8
IC
6927}
6928
ab78acc6
IC
6929}).call(this,require('_process'))
6930},{"./_stream_duplex":16,"_process":14,"buffer":7,"core-util-is":21,"inherits":12,"stream":26}],21:[function(require,module,exports){
6931(function (Buffer){
6932// Copyright Joyent, Inc. and other Node contributors.
6933//
6934// Permission is hereby granted, free of charge, to any person obtaining a
6935// copy of this software and associated documentation files (the
6936// "Software"), to deal in the Software without restriction, including
6937// without limitation the rights to use, copy, modify, merge, publish,
6938// distribute, sublicense, and/or sell copies of the Software, and to permit
6939// persons to whom the Software is furnished to do so, subject to the
6940// following conditions:
6941//
6942// The above copyright notice and this permission notice shall be included
6943// in all copies or substantial portions of the Software.
6944//
6945// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6946// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6947// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6948// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6949// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6950// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6951// USE OR OTHER DEALINGS IN THE SOFTWARE.
6952
6953// NOTE: These type checking functions intentionally don't use `instanceof`
6954// because it is fragile and can be easily faked with `Object.create()`.
6955function isArray(ar) {
6956 return Array.isArray(ar);
ebd8d4e8 6957}
ab78acc6 6958exports.isArray = isArray;
ebd8d4e8 6959
ab78acc6
IC
6960function isBoolean(arg) {
6961 return typeof arg === 'boolean';
ebd8d4e8 6962}
ab78acc6 6963exports.isBoolean = isBoolean;
ebd8d4e8 6964
ab78acc6
IC
6965function isNull(arg) {
6966 return arg === null;
6967}
6968exports.isNull = isNull;
ebd8d4e8 6969
ab78acc6
IC
6970function isNullOrUndefined(arg) {
6971 return arg == null;
6972}
6973exports.isNullOrUndefined = isNullOrUndefined;
ebd8d4e8 6974
ab78acc6
IC
6975function isNumber(arg) {
6976 return typeof arg === 'number';
ebd8d4e8 6977}
ab78acc6 6978exports.isNumber = isNumber;
ebd8d4e8 6979
ab78acc6
IC
6980function isString(arg) {
6981 return typeof arg === 'string';
6982}
6983exports.isString = isString;
ebd8d4e8 6984
ab78acc6
IC
6985function isSymbol(arg) {
6986 return typeof arg === 'symbol';
6987}
6988exports.isSymbol = isSymbol;
ebd8d4e8 6989
ab78acc6
IC
6990function isUndefined(arg) {
6991 return arg === void 0;
ebd8d4e8 6992}
ab78acc6 6993exports.isUndefined = isUndefined;
ebd8d4e8 6994
ab78acc6
IC
6995function isRegExp(re) {
6996 return isObject(re) && objectToString(re) === '[object RegExp]';
ebd8d4e8 6997}
ab78acc6 6998exports.isRegExp = isRegExp;
ebd8d4e8 6999
ab78acc6
IC
7000function isObject(arg) {
7001 return typeof arg === 'object' && arg !== null;
ebd8d4e8 7002}
ab78acc6 7003exports.isObject = isObject;
ebd8d4e8 7004
ab78acc6
IC
7005function isDate(d) {
7006 return isObject(d) && objectToString(d) === '[object Date]';
7007}
7008exports.isDate = isDate;
ebd8d4e8 7009
ab78acc6
IC
7010function isError(e) {
7011 return isObject(e) &&
7012 (objectToString(e) === '[object Error]' || e instanceof Error);
7013}
7014exports.isError = isError;
ebd8d4e8 7015
ab78acc6
IC
7016function isFunction(arg) {
7017 return typeof arg === 'function';
7018}
7019exports.isFunction = isFunction;
7020
7021function isPrimitive(arg) {
7022 return arg === null ||
7023 typeof arg === 'boolean' ||
7024 typeof arg === 'number' ||
7025 typeof arg === 'string' ||
7026 typeof arg === 'symbol' || // ES6 symbol
7027 typeof arg === 'undefined';
ebd8d4e8 7028}
ab78acc6 7029exports.isPrimitive = isPrimitive;
ebd8d4e8 7030
ab78acc6
IC
7031function isBuffer(arg) {
7032 return Buffer.isBuffer(arg);
ebd8d4e8 7033}
ab78acc6 7034exports.isBuffer = isBuffer;
ebd8d4e8 7035
ab78acc6
IC
7036function objectToString(o) {
7037 return Object.prototype.toString.call(o);
ebd8d4e8 7038}
ab78acc6
IC
7039}).call(this,require("buffer").Buffer)
7040},{"buffer":7}],22:[function(require,module,exports){
7041module.exports = require("./lib/_stream_passthrough.js")
ebd8d4e8 7042
ab78acc6
IC
7043},{"./lib/_stream_passthrough.js":17}],23:[function(require,module,exports){
7044exports = module.exports = require('./lib/_stream_readable.js');
7045exports.Stream = require('stream');
7046exports.Readable = exports;
7047exports.Writable = require('./lib/_stream_writable.js');
7048exports.Duplex = require('./lib/_stream_duplex.js');
7049exports.Transform = require('./lib/_stream_transform.js');
7050exports.PassThrough = require('./lib/_stream_passthrough.js');
ebd8d4e8 7051
ab78acc6
IC
7052},{"./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){
7053module.exports = require("./lib/_stream_transform.js")
ebd8d4e8 7054
ab78acc6
IC
7055},{"./lib/_stream_transform.js":19}],25:[function(require,module,exports){
7056module.exports = require("./lib/_stream_writable.js")
7057
7058},{"./lib/_stream_writable.js":20}],26:[function(require,module,exports){
7059// Copyright Joyent, Inc. and other Node contributors.
7060//
7061// Permission is hereby granted, free of charge, to any person obtaining a
7062// copy of this software and associated documentation files (the
7063// "Software"), to deal in the Software without restriction, including
7064// without limitation the rights to use, copy, modify, merge, publish,
7065// distribute, sublicense, and/or sell copies of the Software, and to permit
7066// persons to whom the Software is furnished to do so, subject to the
7067// following conditions:
7068//
7069// The above copyright notice and this permission notice shall be included
7070// in all copies or substantial portions of the Software.
7071//
7072// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7073// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7074// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7075// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7076// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7077// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7078// USE OR OTHER DEALINGS IN THE SOFTWARE.
7079
7080module.exports = Stream;
7081
7082var EE = require('events').EventEmitter;
7083var inherits = require('inherits');
7084
7085inherits(Stream, EE);
7086Stream.Readable = require('readable-stream/readable.js');
7087Stream.Writable = require('readable-stream/writable.js');
7088Stream.Duplex = require('readable-stream/duplex.js');
7089Stream.Transform = require('readable-stream/transform.js');
7090Stream.PassThrough = require('readable-stream/passthrough.js');
7091
7092// Backwards-compat with node 0.4.x
7093Stream.Stream = Stream;
7094
7095
7096
7097// old-style streams. Note that the pipe method (the only relevant
7098// part of this class) is overridden in the Readable class.
7099
7100function Stream() {
7101 EE.call(this);
ebd8d4e8
IC
7102}
7103
ab78acc6
IC
7104Stream.prototype.pipe = function(dest, options) {
7105 var source = this;
ebd8d4e8 7106
ab78acc6
IC
7107 function ondata(chunk) {
7108 if (dest.writable) {
7109 if (false === dest.write(chunk) && source.pause) {
7110 source.pause();
7111 }
7112 }
7113 }
ebd8d4e8 7114
ab78acc6 7115 source.on('data', ondata);
ebd8d4e8 7116
ab78acc6
IC
7117 function ondrain() {
7118 if (source.readable && source.resume) {
7119 source.resume();
7120 }
7121 }
ebd8d4e8 7122
ab78acc6 7123 dest.on('drain', ondrain);
ebd8d4e8 7124
ab78acc6
IC
7125 // If the 'end' option is not supplied, dest.end() will be called when
7126 // source gets the 'end' or 'close' events. Only dest.end() once.
7127 if (!dest._isStdio && (!options || options.end !== false)) {
7128 source.on('end', onend);
7129 source.on('close', onclose);
ebd8d4e8
IC
7130 }
7131
ab78acc6
IC
7132 var didOnEnd = false;
7133 function onend() {
7134 if (didOnEnd) return;
7135 didOnEnd = true;
ebd8d4e8 7136
ab78acc6
IC
7137 dest.end();
7138 }
ebd8d4e8 7139
ebd8d4e8 7140
ab78acc6
IC
7141 function onclose() {
7142 if (didOnEnd) return;
7143 didOnEnd = true;
ebd8d4e8 7144
ab78acc6 7145 if (typeof dest.destroy === 'function') dest.destroy();
ebd8d4e8
IC
7146 }
7147
ab78acc6
IC
7148 // don't leave dangling pipes when there are errors.
7149 function onerror(er) {
7150 cleanup();
7151 if (EE.listenerCount(this, 'error') === 0) {
7152 throw er; // Unhandled stream error in pipe.
7153 }
7154 }
ebd8d4e8 7155
ab78acc6
IC
7156 source.on('error', onerror);
7157 dest.on('error', onerror);
ebd8d4e8 7158
ab78acc6
IC
7159 // remove all the event listeners that were added.
7160 function cleanup() {
7161 source.removeListener('data', ondata);
7162 dest.removeListener('drain', ondrain);
ebd8d4e8 7163
ab78acc6
IC
7164 source.removeListener('end', onend);
7165 source.removeListener('close', onclose);
7166
7167 source.removeListener('error', onerror);
7168 dest.removeListener('error', onerror);
7169
7170 source.removeListener('end', cleanup);
7171 source.removeListener('close', cleanup);
7172
7173 dest.removeListener('close', cleanup);
ebd8d4e8
IC
7174 }
7175
ab78acc6
IC
7176 source.on('end', cleanup);
7177 source.on('close', cleanup);
ebd8d4e8 7178
ab78acc6 7179 dest.on('close', cleanup);
ebd8d4e8 7180
ab78acc6 7181 dest.emit('pipe', source);
ebd8d4e8 7182
ab78acc6
IC
7183 // Allow for unix-like usage: A.pipe(B).pipe(C)
7184 return dest;
7185};
ebd8d4e8 7186
ab78acc6
IC
7187},{"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){
7188// Copyright Joyent, Inc. and other Node contributors.
7189//
7190// Permission is hereby granted, free of charge, to any person obtaining a
7191// copy of this software and associated documentation files (the
7192// "Software"), to deal in the Software without restriction, including
7193// without limitation the rights to use, copy, modify, merge, publish,
7194// distribute, sublicense, and/or sell copies of the Software, and to permit
7195// persons to whom the Software is furnished to do so, subject to the
7196// following conditions:
7197//
7198// The above copyright notice and this permission notice shall be included
7199// in all copies or substantial portions of the Software.
7200//
7201// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7202// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7203// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7204// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7205// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7206// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7207// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 7208
ab78acc6 7209var Buffer = require('buffer').Buffer;
ebd8d4e8 7210
ab78acc6
IC
7211var isBufferEncoding = Buffer.isEncoding
7212 || function(encoding) {
7213 switch (encoding && encoding.toLowerCase()) {
7214 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;
7215 default: return false;
7216 }
7217 }
ebd8d4e8 7218
ebd8d4e8 7219
ab78acc6
IC
7220function assertEncoding(encoding) {
7221 if (encoding && !isBufferEncoding(encoding)) {
7222 throw new Error('Unknown encoding: ' + encoding);
ebd8d4e8 7223 }
ebd8d4e8
IC
7224}
7225
ab78acc6
IC
7226// StringDecoder provides an interface for efficiently splitting a series of
7227// buffers into a series of JS strings without breaking apart multi-byte
7228// characters. CESU-8 is handled as part of the UTF-8 encoding.
7229//
7230// @TODO Handling all encodings inside a single object makes it very difficult
7231// to reason about this code, so it should be split up in the future.
7232// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code
7233// points as used by CESU-8.
7234var StringDecoder = exports.StringDecoder = function(encoding) {
7235 this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
7236 assertEncoding(encoding);
7237 switch (this.encoding) {
7238 case 'utf8':
7239 // CESU-8 represents each of Surrogate Pair by 3-bytes
7240 this.surrogateSize = 3;
7241 break;
7242 case 'ucs2':
7243 case 'utf16le':
7244 // UTF-16 represents each of Surrogate Pair by 2-bytes
7245 this.surrogateSize = 2;
7246 this.detectIncompleteChar = utf16DetectIncompleteChar;
7247 break;
7248 case 'base64':
7249 // Base-64 stores 3 bytes in 4 chars, and pads the remainder.
7250 this.surrogateSize = 3;
7251 this.detectIncompleteChar = base64DetectIncompleteChar;
7252 break;
7253 default:
7254 this.write = passThroughWrite;
7255 return;
7256 }
ebd8d4e8 7257
ab78acc6
IC
7258 // Enough space to store all bytes of a single character. UTF-8 needs 4
7259 // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).
7260 this.charBuffer = new Buffer(6);
7261 // Number of bytes received for the current incomplete multi-byte character.
7262 this.charReceived = 0;
7263 // Number of bytes expected for the current incomplete multi-byte character.
7264 this.charLength = 0;
7265};
ebd8d4e8 7266
ebd8d4e8 7267
ab78acc6
IC
7268// write decodes the given buffer and returns it as JS string that is
7269// guaranteed to not contain any partial multi-byte characters. Any partial
7270// character found at the end of the buffer is buffered up, and will be
7271// returned when calling write again with the remaining bytes.
7272//
7273// Note: Converting a Buffer containing an orphan surrogate to a String
7274// currently works, but converting a String to a Buffer (via `new Buffer`, or
7275// Buffer#write) will replace incomplete surrogates with the unicode
7276// replacement character. See https://codereview.chromium.org/121173009/ .
7277StringDecoder.prototype.write = function(buffer) {
7278 var charStr = '';
7279 // if our last write ended with an incomplete multibyte character
7280 while (this.charLength) {
7281 // determine how many remaining bytes this buffer has to offer for this char
7282 var available = (buffer.length >= this.charLength - this.charReceived) ?
7283 this.charLength - this.charReceived :
7284 buffer.length;
7285
7286 // add the new bytes to the char buffer
7287 buffer.copy(this.charBuffer, this.charReceived, 0, available);
7288 this.charReceived += available;
7289
7290 if (this.charReceived < this.charLength) {
7291 // still not enough chars in this buffer? wait for more ...
7292 return '';
7293 }
7294
7295 // remove bytes belonging to the current character from the buffer
7296 buffer = buffer.slice(available, buffer.length);
7297
7298 // get the character that was split
7299 charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
7300
7301 // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
7302 var charCode = charStr.charCodeAt(charStr.length - 1);
7303 if (charCode >= 0xD800 && charCode <= 0xDBFF) {
7304 this.charLength += this.surrogateSize;
7305 charStr = '';
7306 continue;
7307 }
7308 this.charReceived = this.charLength = 0;
ebd8d4e8 7309
ab78acc6
IC
7310 // if there are no more bytes in this buffer, just emit our char
7311 if (buffer.length === 0) {
7312 return charStr;
7313 }
7314 break;
ebd8d4e8 7315 }
ebd8d4e8 7316
ab78acc6
IC
7317 // determine and set charLength / charReceived
7318 this.detectIncompleteChar(buffer);
ebd8d4e8 7319
ab78acc6
IC
7320 var end = buffer.length;
7321 if (this.charLength) {
7322 // buffer the incomplete character bytes we got
7323 buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);
7324 end -= this.charReceived;
ebd8d4e8
IC
7325 }
7326
ab78acc6 7327 charStr += buffer.toString(this.encoding, 0, end);
ebd8d4e8 7328
ab78acc6
IC
7329 var end = charStr.length - 1;
7330 var charCode = charStr.charCodeAt(end);
7331 // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
7332 if (charCode >= 0xD800 && charCode <= 0xDBFF) {
7333 var size = this.surrogateSize;
7334 this.charLength += size;
7335 this.charReceived += size;
7336 this.charBuffer.copy(this.charBuffer, size, 0, size);
7337 buffer.copy(this.charBuffer, 0, 0, size);
7338 return charStr.substring(0, end);
ebd8d4e8
IC
7339 }
7340
ab78acc6
IC
7341 // or just emit the charStr
7342 return charStr;
7343};
ebd8d4e8 7344
ab78acc6
IC
7345// detectIncompleteChar determines if there is an incomplete UTF-8 character at
7346// the end of the given buffer. If so, it sets this.charLength to the byte
7347// length that character, and sets this.charReceived to the number of bytes
7348// that are available for this character.
7349StringDecoder.prototype.detectIncompleteChar = function(buffer) {
7350 // determine how many bytes we have to check at the end of this buffer
7351 var i = (buffer.length >= 3) ? 3 : buffer.length;
ebd8d4e8 7352
ab78acc6
IC
7353 // Figure out if one of the last i bytes of our buffer announces an
7354 // incomplete char.
7355 for (; i > 0; i--) {
7356 var c = buffer[buffer.length - i];
ebd8d4e8 7357
ab78acc6 7358 // See http://en.wikipedia.org/wiki/UTF-8#Description
ebd8d4e8 7359
ab78acc6
IC
7360 // 110XXXXX
7361 if (i == 1 && c >> 5 == 0x06) {
7362 this.charLength = 2;
7363 break;
7364 }
ebd8d4e8 7365
ab78acc6
IC
7366 // 1110XXXX
7367 if (i <= 2 && c >> 4 == 0x0E) {
7368 this.charLength = 3;
7369 break;
7370 }
ebd8d4e8 7371
ab78acc6
IC
7372 // 11110XXX
7373 if (i <= 3 && c >> 3 == 0x1E) {
7374 this.charLength = 4;
7375 break;
7376 }
7377 }
7378 this.charReceived = i;
7379};
ebd8d4e8 7380
ab78acc6
IC
7381StringDecoder.prototype.end = function(buffer) {
7382 var res = '';
7383 if (buffer && buffer.length)
7384 res = this.write(buffer);
ebd8d4e8 7385
ab78acc6
IC
7386 if (this.charReceived) {
7387 var cr = this.charReceived;
7388 var buf = this.charBuffer;
7389 var enc = this.encoding;
7390 res += buf.slice(0, cr).toString(enc);
ebd8d4e8
IC
7391 }
7392
ab78acc6
IC
7393 return res;
7394};
ebd8d4e8 7395
ab78acc6
IC
7396function passThroughWrite(buffer) {
7397 return buffer.toString(this.encoding);
ebd8d4e8
IC
7398}
7399
ab78acc6
IC
7400function utf16DetectIncompleteChar(buffer) {
7401 this.charReceived = buffer.length % 2;
7402 this.charLength = this.charReceived ? 2 : 0;
ebd8d4e8
IC
7403}
7404
ab78acc6
IC
7405function base64DetectIncompleteChar(buffer) {
7406 this.charReceived = buffer.length % 3;
7407 this.charLength = this.charReceived ? 3 : 0;
ebd8d4e8
IC
7408}
7409
ab78acc6
IC
7410},{"buffer":7}],28:[function(require,module,exports){
7411module.exports = function isBuffer(arg) {
7412 return arg && typeof arg === 'object'
7413 && typeof arg.copy === 'function'
7414 && typeof arg.fill === 'function'
7415 && typeof arg.readUInt8 === 'function';
7416}
7417},{}],29:[function(require,module,exports){
7418(function (process,global){
7419// Copyright Joyent, Inc. and other Node contributors.
7420//
7421// Permission is hereby granted, free of charge, to any person obtaining a
7422// copy of this software and associated documentation files (the
7423// "Software"), to deal in the Software without restriction, including
7424// without limitation the rights to use, copy, modify, merge, publish,
7425// distribute, sublicense, and/or sell copies of the Software, and to permit
7426// persons to whom the Software is furnished to do so, subject to the
7427// following conditions:
7428//
7429// The above copyright notice and this permission notice shall be included
7430// in all copies or substantial portions of the Software.
7431//
7432// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7433// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7434// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7435// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7436// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7437// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7438// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 7439
ab78acc6
IC
7440var formatRegExp = /%[sdj%]/g;
7441exports.format = function(f) {
7442 if (!isString(f)) {
7443 var objects = [];
7444 for (var i = 0; i < arguments.length; i++) {
7445 objects.push(inspect(arguments[i]));
7446 }
7447 return objects.join(' ');
7448 }
ebd8d4e8 7449
ab78acc6
IC
7450 var i = 1;
7451 var args = arguments;
7452 var len = args.length;
7453 var str = String(f).replace(formatRegExp, function(x) {
7454 if (x === '%%') return '%';
7455 if (i >= len) return x;
7456 switch (x) {
7457 case '%s': return String(args[i++]);
7458 case '%d': return Number(args[i++]);
7459 case '%j':
7460 try {
7461 return JSON.stringify(args[i++]);
7462 } catch (_) {
7463 return '[Circular]';
7464 }
7465 default:
7466 return x;
7467 }
7468 });
7469 for (var x = args[i]; i < len; x = args[++i]) {
7470 if (isNull(x) || !isObject(x)) {
7471 str += ' ' + x;
7472 } else {
7473 str += ' ' + inspect(x);
7474 }
7475 }
7476 return str;
7477};
ebd8d4e8 7478
ebd8d4e8 7479
ab78acc6
IC
7480// Mark that a method should not be used.
7481// Returns a modified function which warns once by default.
7482// If --no-deprecation is set, then it is a no-op.
7483exports.deprecate = function(fn, msg) {
7484 // Allow for deprecating things in the process of starting up.
7485 if (isUndefined(global.process)) {
7486 return function() {
7487 return exports.deprecate(fn, msg).apply(this, arguments);
7488 };
7489 }
ebd8d4e8 7490
ab78acc6
IC
7491 if (process.noDeprecation === true) {
7492 return fn;
7493 }
ebd8d4e8 7494
ab78acc6
IC
7495 var warned = false;
7496 function deprecated() {
7497 if (!warned) {
7498 if (process.throwDeprecation) {
7499 throw new Error(msg);
7500 } else if (process.traceDeprecation) {
7501 console.trace(msg);
7502 } else {
7503 console.error(msg);
7504 }
7505 warned = true;
7506 }
7507 return fn.apply(this, arguments);
7508 }
ebd8d4e8 7509
ab78acc6
IC
7510 return deprecated;
7511};
ebd8d4e8 7512
ebd8d4e8 7513
ab78acc6
IC
7514var debugs = {};
7515var debugEnviron;
7516exports.debuglog = function(set) {
7517 if (isUndefined(debugEnviron))
7518 debugEnviron = process.env.NODE_DEBUG || '';
7519 set = set.toUpperCase();
7520 if (!debugs[set]) {
7521 if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
7522 var pid = process.pid;
7523 debugs[set] = function() {
7524 var msg = exports.format.apply(exports, arguments);
7525 console.error('%s %d: %s', set, pid, msg);
7526 };
7527 } else {
7528 debugs[set] = function() {};
ebd8d4e8
IC
7529 }
7530 }
ab78acc6
IC
7531 return debugs[set];
7532};
ebd8d4e8 7533
ebd8d4e8
IC
7534
7535/**
ab78acc6
IC
7536 * Echos the value of a value. Trys to print the value out
7537 * in the best way possible given the different types.
7538 *
7539 * @param {Object} obj The object to print out.
7540 * @param {Object} opts Optional options object that alters the output.
ebd8d4e8 7541 */
ab78acc6
IC
7542/* legacy: obj, showHidden, depth, colors*/
7543function inspect(obj, opts) {
7544 // default options
7545 var ctx = {
7546 seen: [],
7547 stylize: stylizeNoColor
7548 };
7549 // legacy...
7550 if (arguments.length >= 3) ctx.depth = arguments[2];
7551 if (arguments.length >= 4) ctx.colors = arguments[3];
7552 if (isBoolean(opts)) {
7553 // legacy...
7554 ctx.showHidden = opts;
7555 } else if (opts) {
7556 // got an "options" object
7557 exports._extend(ctx, opts);
ebd8d4e8 7558 }
ab78acc6
IC
7559 // set default options
7560 if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
7561 if (isUndefined(ctx.depth)) ctx.depth = 2;
7562 if (isUndefined(ctx.colors)) ctx.colors = false;
7563 if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
7564 if (ctx.colors) ctx.stylize = stylizeWithColor;
7565 return formatValue(ctx, obj, ctx.depth);
ebd8d4e8 7566}
ab78acc6 7567exports.inspect = inspect;
ebd8d4e8 7568
ebd8d4e8 7569
ab78acc6
IC
7570// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
7571inspect.colors = {
7572 'bold' : [1, 22],
7573 'italic' : [3, 23],
7574 'underline' : [4, 24],
7575 'inverse' : [7, 27],
7576 'white' : [37, 39],
7577 'grey' : [90, 39],
7578 'black' : [30, 39],
7579 'blue' : [34, 39],
7580 'cyan' : [36, 39],
7581 'green' : [32, 39],
7582 'magenta' : [35, 39],
7583 'red' : [31, 39],
7584 'yellow' : [33, 39]
7585};
ebd8d4e8 7586
ab78acc6
IC
7587// Don't use 'blue' not visible on cmd.exe
7588inspect.styles = {
7589 'special': 'cyan',
7590 'number': 'yellow',
7591 'boolean': 'yellow',
7592 'undefined': 'grey',
7593 'null': 'bold',
7594 'string': 'green',
7595 'date': 'magenta',
7596 // "name": intentionally not styling
7597 'regexp': 'red'
7598};
ebd8d4e8 7599
ebd8d4e8 7600
ab78acc6
IC
7601function stylizeWithColor(str, styleType) {
7602 var style = inspect.styles[styleType];
ebd8d4e8 7603
ab78acc6
IC
7604 if (style) {
7605 return '\u001b[' + inspect.colors[style][0] + 'm' + str +
7606 '\u001b[' + inspect.colors[style][1] + 'm';
7607 } else {
7608 return str;
ebd8d4e8 7609 }
ebd8d4e8
IC
7610}
7611
ebd8d4e8 7612
ab78acc6
IC
7613function stylizeNoColor(str, styleType) {
7614 return str;
ebd8d4e8
IC
7615}
7616
ebd8d4e8 7617
ab78acc6
IC
7618function arrayToHash(array) {
7619 var hash = {};
ebd8d4e8 7620
ab78acc6
IC
7621 array.forEach(function(val, idx) {
7622 hash[val] = true;
7623 });
ebd8d4e8 7624
ab78acc6 7625 return hash;
ebd8d4e8
IC
7626}
7627
ebd8d4e8 7628
ab78acc6
IC
7629function formatValue(ctx, value, recurseTimes) {
7630 // Provide a hook for user-specified inspect functions.
7631 // Check that value is an object with an inspect function on it
7632 if (ctx.customInspect &&
7633 value &&
7634 isFunction(value.inspect) &&
7635 // Filter out the util module, it's inspect function is special
7636 value.inspect !== exports.inspect &&
7637 // Also filter out any prototype objects using the circular check.
7638 !(value.constructor && value.constructor.prototype === value)) {
7639 var ret = value.inspect(recurseTimes, ctx);
7640 if (!isString(ret)) {
7641 ret = formatValue(ctx, ret, recurseTimes);
7642 }
7643 return ret;
ebd8d4e8 7644 }
ebd8d4e8 7645
ab78acc6
IC
7646 // Primitive types cannot have properties
7647 var primitive = formatPrimitive(ctx, value);
7648 if (primitive) {
7649 return primitive;
ebd8d4e8
IC
7650 }
7651
ab78acc6
IC
7652 // Look up the keys of the object.
7653 var keys = Object.keys(value);
7654 var visibleKeys = arrayToHash(keys);
ebd8d4e8 7655
ab78acc6
IC
7656 if (ctx.showHidden) {
7657 keys = Object.getOwnPropertyNames(value);
7658 }
ebd8d4e8 7659
ab78acc6
IC
7660 // IE doesn't make error fields non-enumerable
7661 // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
7662 if (isError(value)
7663 && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
7664 return formatError(value);
ebd8d4e8 7665 }
ebd8d4e8 7666
ab78acc6
IC
7667 // Some type of object without properties can be shortcutted.
7668 if (keys.length === 0) {
7669 if (isFunction(value)) {
7670 var name = value.name ? ': ' + value.name : '';
7671 return ctx.stylize('[Function' + name + ']', 'special');
7672 }
7673 if (isRegExp(value)) {
7674 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
7675 }
7676 if (isDate(value)) {
7677 return ctx.stylize(Date.prototype.toString.call(value), 'date');
7678 }
7679 if (isError(value)) {
7680 return formatError(value);
7681 }
ebd8d4e8 7682 }
ebd8d4e8 7683
ab78acc6 7684 var base = '', array = false, braces = ['{', '}'];
ebd8d4e8 7685
ab78acc6
IC
7686 // Make Array say that they are Array
7687 if (isArray(value)) {
7688 array = true;
7689 braces = ['[', ']'];
7690 }
ebd8d4e8 7691
ab78acc6
IC
7692 // Make functions say that they are functions
7693 if (isFunction(value)) {
7694 var n = value.name ? ': ' + value.name : '';
7695 base = ' [Function' + n + ']';
7696 }
ebd8d4e8 7697
ab78acc6
IC
7698 // Make RegExps say that they are RegExps
7699 if (isRegExp(value)) {
7700 base = ' ' + RegExp.prototype.toString.call(value);
7701 }
ebd8d4e8 7702
ab78acc6
IC
7703 // Make dates with properties first say the date
7704 if (isDate(value)) {
7705 base = ' ' + Date.prototype.toUTCString.call(value);
7706 }
ebd8d4e8 7707
ab78acc6
IC
7708 // Make error with message first say the error
7709 if (isError(value)) {
7710 base = ' ' + formatError(value);
7711 }
ebd8d4e8 7712
ab78acc6
IC
7713 if (keys.length === 0 && (!array || value.length == 0)) {
7714 return braces[0] + base + braces[1];
7715 }
ebd8d4e8 7716
ab78acc6
IC
7717 if (recurseTimes < 0) {
7718 if (isRegExp(value)) {
7719 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
7720 } else {
7721 return ctx.stylize('[Object]', 'special');
7722 }
7723 }
ebd8d4e8 7724
ab78acc6 7725 ctx.seen.push(value);
ebd8d4e8 7726
ab78acc6
IC
7727 var output;
7728 if (array) {
7729 output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
7730 } else {
7731 output = keys.map(function(key) {
7732 return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
7733 });
7734 }
ebd8d4e8 7735
ab78acc6 7736 ctx.seen.pop();
ebd8d4e8 7737
ab78acc6
IC
7738 return reduceToSingleString(output, base, braces);
7739}
ebd8d4e8 7740
ebd8d4e8 7741
ab78acc6
IC
7742function formatPrimitive(ctx, value) {
7743 if (isUndefined(value))
7744 return ctx.stylize('undefined', 'undefined');
7745 if (isString(value)) {
7746 var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
7747 .replace(/'/g, "\\'")
7748 .replace(/\\"/g, '"') + '\'';
7749 return ctx.stylize(simple, 'string');
7750 }
7751 if (isNumber(value))
7752 return ctx.stylize('' + value, 'number');
7753 if (isBoolean(value))
7754 return ctx.stylize('' + value, 'boolean');
7755 // For some reason typeof null is "object", so special case here.
7756 if (isNull(value))
7757 return ctx.stylize('null', 'null');
7758}
ebd8d4e8 7759
ebd8d4e8 7760
ab78acc6
IC
7761function formatError(value) {
7762 return '[' + Error.prototype.toString.call(value) + ']';
7763}
ebd8d4e8 7764
ebd8d4e8 7765
ab78acc6
IC
7766function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
7767 var output = [];
7768 for (var i = 0, l = value.length; i < l; ++i) {
7769 if (hasOwnProperty(value, String(i))) {
7770 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
7771 String(i), true));
7772 } else {
7773 output.push('');
7774 }
7775 }
7776 keys.forEach(function(key) {
7777 if (!key.match(/^\d+$/)) {
7778 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
7779 key, true));
7780 }
7781 });
7782 return output;
7783}
ebd8d4e8 7784
ebd8d4e8 7785
ab78acc6
IC
7786function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
7787 var name, str, desc;
7788 desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
7789 if (desc.get) {
7790 if (desc.set) {
7791 str = ctx.stylize('[Getter/Setter]', 'special');
7792 } else {
7793 str = ctx.stylize('[Getter]', 'special');
7794 }
7795 } else {
7796 if (desc.set) {
7797 str = ctx.stylize('[Setter]', 'special');
7798 }
7799 }
7800 if (!hasOwnProperty(visibleKeys, key)) {
7801 name = '[' + key + ']';
7802 }
7803 if (!str) {
7804 if (ctx.seen.indexOf(desc.value) < 0) {
7805 if (isNull(recurseTimes)) {
7806 str = formatValue(ctx, desc.value, null);
7807 } else {
7808 str = formatValue(ctx, desc.value, recurseTimes - 1);
7809 }
7810 if (str.indexOf('\n') > -1) {
7811 if (array) {
7812 str = str.split('\n').map(function(line) {
7813 return ' ' + line;
7814 }).join('\n').substr(2);
7815 } else {
7816 str = '\n' + str.split('\n').map(function(line) {
7817 return ' ' + line;
7818 }).join('\n');
7819 }
7820 }
7821 } else {
7822 str = ctx.stylize('[Circular]', 'special');
7823 }
7824 }
7825 if (isUndefined(name)) {
7826 if (array && key.match(/^\d+$/)) {
7827 return str;
7828 }
7829 name = JSON.stringify('' + key);
7830 if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
7831 name = name.substr(1, name.length - 2);
7832 name = ctx.stylize(name, 'name');
7833 } else {
7834 name = name.replace(/'/g, "\\'")
7835 .replace(/\\"/g, '"')
7836 .replace(/(^"|"$)/g, "'");
7837 name = ctx.stylize(name, 'string');
7838 }
7839 }
ebd8d4e8 7840
ab78acc6
IC
7841 return name + ': ' + str;
7842}
ebd8d4e8 7843
ebd8d4e8 7844
ab78acc6
IC
7845function reduceToSingleString(output, base, braces) {
7846 var numLinesEst = 0;
7847 var length = output.reduce(function(prev, cur) {
7848 numLinesEst++;
7849 if (cur.indexOf('\n') >= 0) numLinesEst++;
7850 return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
7851 }, 0);
ebd8d4e8 7852
ab78acc6
IC
7853 if (length > 60) {
7854 return braces[0] +
7855 (base === '' ? '' : base + '\n ') +
7856 ' ' +
7857 output.join(',\n ') +
7858 ' ' +
7859 braces[1];
7860 }
ebd8d4e8 7861
ab78acc6
IC
7862 return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
7863}
ebd8d4e8 7864
ebd8d4e8 7865
ab78acc6
IC
7866// NOTE: These type checking functions intentionally don't use `instanceof`
7867// because it is fragile and can be easily faked with `Object.create()`.
7868function isArray(ar) {
7869 return Array.isArray(ar);
7870}
7871exports.isArray = isArray;
ebd8d4e8 7872
ab78acc6
IC
7873function isBoolean(arg) {
7874 return typeof arg === 'boolean';
7875}
7876exports.isBoolean = isBoolean;
ebd8d4e8 7877
ab78acc6
IC
7878function isNull(arg) {
7879 return arg === null;
7880}
7881exports.isNull = isNull;
ebd8d4e8 7882
ab78acc6
IC
7883function isNullOrUndefined(arg) {
7884 return arg == null;
7885}
7886exports.isNullOrUndefined = isNullOrUndefined;
ebd8d4e8 7887
ab78acc6
IC
7888function isNumber(arg) {
7889 return typeof arg === 'number';
7890}
7891exports.isNumber = isNumber;
ebd8d4e8 7892
ab78acc6
IC
7893function isString(arg) {
7894 return typeof arg === 'string';
7895}
7896exports.isString = isString;
ebd8d4e8 7897
ab78acc6
IC
7898function isSymbol(arg) {
7899 return typeof arg === 'symbol';
7900}
7901exports.isSymbol = isSymbol;
ebd8d4e8 7902
ab78acc6
IC
7903function isUndefined(arg) {
7904 return arg === void 0;
7905}
7906exports.isUndefined = isUndefined;
ebd8d4e8 7907
ab78acc6
IC
7908function isRegExp(re) {
7909 return isObject(re) && objectToString(re) === '[object RegExp]';
7910}
7911exports.isRegExp = isRegExp;
ebd8d4e8 7912
ab78acc6
IC
7913function isObject(arg) {
7914 return typeof arg === 'object' && arg !== null;
ebd8d4e8 7915}
ab78acc6 7916exports.isObject = isObject;
ebd8d4e8 7917
ab78acc6
IC
7918function isDate(d) {
7919 return isObject(d) && objectToString(d) === '[object Date]';
7920}
7921exports.isDate = isDate;
ebd8d4e8 7922
ab78acc6
IC
7923function isError(e) {
7924 return isObject(e) &&
7925 (objectToString(e) === '[object Error]' || e instanceof Error);
7926}
7927exports.isError = isError;
ebd8d4e8 7928
ab78acc6
IC
7929function isFunction(arg) {
7930 return typeof arg === 'function';
7931}
7932exports.isFunction = isFunction;
ebd8d4e8 7933
ab78acc6
IC
7934function isPrimitive(arg) {
7935 return arg === null ||
7936 typeof arg === 'boolean' ||
7937 typeof arg === 'number' ||
7938 typeof arg === 'string' ||
7939 typeof arg === 'symbol' || // ES6 symbol
7940 typeof arg === 'undefined';
7941}
7942exports.isPrimitive = isPrimitive;
ebd8d4e8 7943
ab78acc6 7944exports.isBuffer = require('./support/isBuffer');
ebd8d4e8 7945
ab78acc6
IC
7946function objectToString(o) {
7947 return Object.prototype.toString.call(o);
7948}
ebd8d4e8 7949
ebd8d4e8 7950
ab78acc6
IC
7951function pad(n) {
7952 return n < 10 ? '0' + n.toString(10) : n.toString(10);
7953}
ebd8d4e8 7954
ebd8d4e8 7955
ab78acc6
IC
7956var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
7957 'Oct', 'Nov', 'Dec'];
ebd8d4e8 7958
ab78acc6
IC
7959// 26 Feb 16:19:34
7960function timestamp() {
7961 var d = new Date();
7962 var time = [pad(d.getHours()),
7963 pad(d.getMinutes()),
7964 pad(d.getSeconds())].join(':');
7965 return [d.getDate(), months[d.getMonth()], time].join(' ');
ebd8d4e8
IC
7966}
7967
ab78acc6
IC
7968
7969// log is just a thin wrapper to console.log that prepends a timestamp
7970exports.log = function() {
7971 console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
ebd8d4e8
IC
7972};
7973
ab78acc6
IC
7974
7975/**
7976 * Inherit the prototype methods from one constructor into another.
7977 *
7978 * The Function.prototype.inherits from lang.js rewritten as a standalone
7979 * function (not on Function.prototype). NOTE: If this file is to be loaded
7980 * during bootstrapping this function needs to be rewritten using some native
7981 * functions as prototype setup using normal JavaScript does not work as
7982 * expected during bootstrapping (see mirror.js in r114903).
7983 *
7984 * @param {function} ctor Constructor function which needs to inherit the
7985 * prototype.
7986 * @param {function} superCtor Constructor function to inherit prototype from.
7987 */
7988exports.inherits = require('inherits');
7989
7990exports._extend = function(origin, add) {
7991 // Don't do anything if add isn't an object
7992 if (!add || !isObject(add)) return origin;
7993
7994 var keys = Object.keys(add);
7995 var i = keys.length;
7996 while (i--) {
7997 origin[keys[i]] = add[keys[i]];
7998 }
7999 return origin;
8000};
8001
8002function hasOwnProperty(obj, prop) {
8003 return Object.prototype.hasOwnProperty.call(obj, prop);
8004}
8005
8006}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
8007},{"./support/isBuffer":28,"_process":14,"inherits":12}],30:[function(require,module,exports){
ebd8d4e8
IC
8008// Base58 encoding/decoding
8009// Originally written by Mike Hearn for BitcoinJ
8010// Copyright (c) 2011 Google Inc
8011// Ported to JavaScript by Stefan Thomas
8012// Merged Buffer refactorings from base58-native by Stephen Pair
8013// Copyright (c) 2013 BitPay Inc
8014
ebd8d4e8 8015var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
ebd8d4e8
IC
8016var ALPHABET_MAP = {}
8017for(var i = 0; i < ALPHABET.length; i++) {
ab78acc6 8018 ALPHABET_MAP[ALPHABET.charAt(i)] = i
ebd8d4e8 8019}
ab78acc6 8020var BASE = 58
ebd8d4e8
IC
8021
8022function encode(buffer) {
ab78acc6
IC
8023 if (buffer.length === 0) return ''
8024
8025 var i, j, digits = [0]
8026 for (i = 0; i < buffer.length; i++) {
8027 for (j = 0; j < digits.length; j++) digits[j] <<= 8
8028
8029 digits[0] += buffer[i]
ebd8d4e8 8030
ab78acc6
IC
8031 var carry = 0
8032 for (j = 0; j < digits.length; ++j) {
8033 digits[j] += carry
ebd8d4e8 8034
ab78acc6
IC
8035 carry = (digits[j] / BASE) | 0
8036 digits[j] %= BASE
8037 }
8038
8039 while (carry) {
8040 digits.push(carry % BASE)
8041
8042 carry = (carry / BASE) | 0
8043 }
ebd8d4e8
IC
8044 }
8045
8046 // deal with leading zeros
ab78acc6 8047 for (i = 0; buffer[i] === 0 && i < buffer.length - 1; i++) digits.push(0)
ebd8d4e8 8048
ab78acc6
IC
8049 // convert digits to a string
8050 var stringOutput = ""
8051 for (var i = digits.length - 1; i >= 0; i--) {
8052 stringOutput = stringOutput + ALPHABET[digits[i]]
8053 }
8054 return stringOutput
ebd8d4e8
IC
8055}
8056
8057function decode(string) {
ab78acc6 8058 if (string.length === 0) return []
ebd8d4e8 8059
ab78acc6
IC
8060 var i, j, bytes = [0]
8061 for (i = 0; i < string.length; i++) {
8062 var c = string[i]
8063 if (!(c in ALPHABET_MAP)) throw new Error('Non-base58 character')
ebd8d4e8 8064
ab78acc6
IC
8065 for (j = 0; j < bytes.length; j++) bytes[j] *= BASE
8066 bytes[0] += ALPHABET_MAP[c]
ebd8d4e8 8067
ab78acc6
IC
8068 var carry = 0
8069 for (j = 0; j < bytes.length; ++j) {
8070 bytes[j] += carry
ebd8d4e8 8071
ab78acc6
IC
8072 carry = bytes[j] >> 8
8073 bytes[j] &= 0xff
8074 }
ebd8d4e8 8075
ab78acc6
IC
8076 while (carry) {
8077 bytes.push(carry & 0xff)
8078
8079 carry >>= 8
8080 }
ebd8d4e8
IC
8081 }
8082
ab78acc6
IC
8083 // deal with leading zeros
8084 for (i = 0; string[i] === '1' && i < string.length - 1; i++) bytes.push(0)
ebd8d4e8 8085
ab78acc6 8086 return bytes.reverse()
ebd8d4e8
IC
8087}
8088
8089module.exports = {
8090 encode: encode,
8091 decode: decode
8092}
8093
ab78acc6 8094},{}],31:[function(require,module,exports){
ebd8d4e8 8095(function (Buffer){
ab78acc6
IC
8096'use strict'
8097
8098var base58 = require('bs58')
8099var createHash = require('create-hash')
8100
8101// SHA256(SHA256(buffer))
8102function sha256x2 (buffer) {
8103 buffer = createHash('sha256').update(buffer).digest()
8104 return createHash('sha256').update(buffer).digest()
8105}
8106
8107// Encode a buffer as a base58-check encoded string
8108function encode (payload) {
8109 var checksum = sha256x2(payload).slice(0, 4)
8110
8111 return base58.encode(Buffer.concat([
8112 payload,
8113 checksum
8114 ]))
8115}
8116
8117// Decode a base58-check encoded string to a buffer
8118function decode (string) {
8119 var buffer = new Buffer(base58.decode(string))
8120
8121 var payload = buffer.slice(0, -4)
8122 var checksum = buffer.slice(-4)
8123 var newChecksum = sha256x2(payload).slice(0, 4)
8124
8125 for (var i = 0; i < newChecksum.length; ++i) {
8126 if (newChecksum[i] === checksum[i]) continue
8127
8128 throw new Error('Invalid checksum')
ebd8d4e8 8129 }
ab78acc6
IC
8130
8131 return payload
ebd8d4e8
IC
8132}
8133
ab78acc6
IC
8134module.exports = {
8135 encode: encode,
8136 decode: decode
ebd8d4e8
IC
8137}
8138
ab78acc6
IC
8139}).call(this,require("buffer").Buffer)
8140},{"bs58":30,"buffer":7,"create-hash":32}],32:[function(require,module,exports){
ebd8d4e8 8141(function (Buffer){
ab78acc6
IC
8142'use strict';
8143var inherits = require('inherits')
8144var md5 = require('./md5')
8145var rmd160 = require('ripemd160')
8146var sha = require('sha.js')
ebd8d4e8 8147
ab78acc6 8148var Transform = require('stream').Transform
ebd8d4e8 8149
ab78acc6
IC
8150function HashNoConstructor(hash) {
8151 Transform.call(this)
ebd8d4e8 8152
ab78acc6
IC
8153 this._hash = hash
8154 this.buffers = []
8155}
ebd8d4e8 8156
ab78acc6 8157inherits(HashNoConstructor, Transform)
ebd8d4e8 8158
ab78acc6
IC
8159HashNoConstructor.prototype._transform = function (data, _, next) {
8160 this.buffers.push(data)
ebd8d4e8 8161
ab78acc6
IC
8162 next()
8163}
ebd8d4e8 8164
ab78acc6
IC
8165HashNoConstructor.prototype._flush = function (next) {
8166 this.push(this.digest())
8167 next()
8168}
8169
8170HashNoConstructor.prototype.update = function (data, enc) {
8171 if (typeof data === 'string') {
8172 data = new Buffer(data, enc)
ebd8d4e8
IC
8173 }
8174
ab78acc6
IC
8175 this.buffers.push(data)
8176 return this
8177}
8178
8179HashNoConstructor.prototype.digest = function (enc) {
8180 var buf = Buffer.concat(this.buffers)
8181 var r = this._hash(buf)
8182 this.buffers = null
8183
8184 return enc ? r.toString(enc) : r
8185}
8186
8187function Hash(hash) {
8188 Transform.call(this)
8189
8190 this._hash = hash
8191}
8192
8193inherits(Hash, Transform)
8194
8195Hash.prototype._transform = function (data, enc, next) {
8196 if (enc) data = new Buffer(data, enc)
8197
8198 this._hash.update(data)
8199
8200 next()
ebd8d4e8
IC
8201}
8202
ab78acc6
IC
8203Hash.prototype._flush = function (next) {
8204 this.push(this._hash.digest())
8205 this._hash = null
8206
8207 next()
8208}
8209
8210Hash.prototype.update = function (data, enc) {
8211 if (typeof data === 'string') {
8212 data = new Buffer(data, enc)
8213 }
8214
8215 this._hash.update(data)
ebd8d4e8
IC
8216 return this
8217}
8218
ab78acc6
IC
8219Hash.prototype.digest = function (enc) {
8220 var outData = this._hash.digest()
8221
8222 return enc ? outData.toString(enc) : outData
ebd8d4e8
IC
8223}
8224
ab78acc6
IC
8225module.exports = function createHash (alg) {
8226 if ('md5' === alg) return new HashNoConstructor(md5)
8227 if ('rmd160' === alg) return new HashNoConstructor(rmd160)
8228
8229 return new Hash(sha(alg))
8230}
ebd8d4e8 8231
ab78acc6
IC
8232}).call(this,require("buffer").Buffer)
8233},{"./md5":34,"buffer":7,"inherits":35,"ripemd160":36,"sha.js":38,"stream":26}],33:[function(require,module,exports){
ebd8d4e8 8234(function (Buffer){
ab78acc6 8235'use strict';
ebd8d4e8
IC
8236var intSize = 4;
8237var zeroBuffer = new Buffer(intSize); zeroBuffer.fill(0);
8238var chrsz = 8;
8239
8240function toArray(buf, bigEndian) {
8241 if ((buf.length % intSize) !== 0) {
8242 var len = buf.length + (intSize - (buf.length % intSize));
8243 buf = Buffer.concat([buf, zeroBuffer], len);
8244 }
8245
8246 var arr = [];
8247 var fn = bigEndian ? buf.readInt32BE : buf.readInt32LE;
8248 for (var i = 0; i < buf.length; i += intSize) {
8249 arr.push(fn.call(buf, i));
8250 }
8251 return arr;
8252}
8253
8254function toBuffer(arr, size, bigEndian) {
8255 var buf = new Buffer(size);
8256 var fn = bigEndian ? buf.writeInt32BE : buf.writeInt32LE;
8257 for (var i = 0; i < arr.length; i++) {
8258 fn.call(buf, arr[i], i * 4, true);
8259 }
8260 return buf;
8261}
8262
8263function hash(buf, fn, hashSize, bigEndian) {
8264 if (!Buffer.isBuffer(buf)) buf = new Buffer(buf);
8265 var arr = fn(toArray(buf, bigEndian), buf.length * chrsz);
8266 return toBuffer(arr, hashSize, bigEndian);
8267}
ab78acc6
IC
8268exports.hash = hash;
8269}).call(this,require("buffer").Buffer)
8270},{"buffer":7}],34:[function(require,module,exports){
8271'use strict';
ebd8d4e8
IC
8272/*
8273 * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
8274 * Digest Algorithm, as defined in RFC 1321.
8275 * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
8276 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8277 * Distributed under the BSD License
8278 * See http://pajhome.org.uk/crypt/md5 for more info.
8279 */
8280
ab78acc6 8281var helpers = require('./helpers');
ebd8d4e8
IC
8282
8283/*
8284 * Calculate the MD5 of an array of little-endian words, and a bit length
8285 */
8286function core_md5(x, len)
8287{
8288 /* append padding */
8289 x[len >> 5] |= 0x80 << ((len) % 32);
8290 x[(((len + 64) >>> 9) << 4) + 14] = len;
8291
8292 var a = 1732584193;
8293 var b = -271733879;
8294 var c = -1732584194;
8295 var d = 271733878;
8296
8297 for(var i = 0; i < x.length; i += 16)
8298 {
8299 var olda = a;
8300 var oldb = b;
8301 var oldc = c;
8302 var oldd = d;
8303
8304 a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
8305 d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
8306 c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
8307 b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
8308 a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
8309 d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
8310 c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
8311 b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
8312 a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
8313 d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
8314 c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
8315 b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
8316 a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
8317 d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
8318 c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
8319 b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
8320
8321 a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
8322 d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
8323 c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
8324 b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
8325 a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
8326 d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
8327 c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
8328 b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
8329 a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
8330 d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
8331 c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
8332 b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
8333 a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
8334 d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
8335 c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
8336 b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
8337
8338 a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
8339 d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
8340 c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
8341 b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
8342 a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
8343 d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
8344 c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
8345 b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
8346 a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
8347 d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
8348 c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
8349 b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
8350 a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
8351 d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
8352 c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
8353 b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
8354
8355 a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
8356 d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
8357 c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
8358 b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
8359 a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
8360 d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
8361 c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
8362 b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
8363 a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
8364 d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
8365 c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
8366 b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
8367 a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
8368 d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
8369 c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
8370 b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
8371
8372 a = safe_add(a, olda);
8373 b = safe_add(b, oldb);
8374 c = safe_add(c, oldc);
8375 d = safe_add(d, oldd);
8376 }
8377 return Array(a, b, c, d);
8378
8379}
8380
8381/*
8382 * These functions implement the four basic operations the algorithm uses.
8383 */
8384function md5_cmn(q, a, b, x, s, t)
8385{
8386 return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
8387}
8388function md5_ff(a, b, c, d, x, s, t)
8389{
8390 return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
8391}
8392function md5_gg(a, b, c, d, x, s, t)
8393{
8394 return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
8395}
8396function md5_hh(a, b, c, d, x, s, t)
8397{
8398 return md5_cmn(b ^ c ^ d, a, b, x, s, t);
8399}
8400function md5_ii(a, b, c, d, x, s, t)
8401{
8402 return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
8403}
8404
8405/*
8406 * Add integers, wrapping at 2^32. This uses 16-bit operations internally
8407 * to work around bugs in some JS interpreters.
8408 */
8409function safe_add(x, y)
8410{
8411 var lsw = (x & 0xFFFF) + (y & 0xFFFF);
8412 var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
8413 return (msw << 16) | (lsw & 0xFFFF);
8414}
8415
8416/*
8417 * Bitwise rotate a 32-bit number to the left.
8418 */
8419function bit_rol(num, cnt)
8420{
8421 return (num << cnt) | (num >>> (32 - cnt));
8422}
8423
8424module.exports = function md5(buf) {
8425 return helpers.hash(buf, core_md5, 16);
8426};
ab78acc6
IC
8427},{"./helpers":33}],35:[function(require,module,exports){
8428arguments[4][12][0].apply(exports,arguments)
8429},{"dup":12}],36:[function(require,module,exports){
ebd8d4e8 8430(function (Buffer){
ebd8d4e8
IC
8431/*
8432CryptoJS v3.1.2
8433code.google.com/p/crypto-js
8434(c) 2009-2013 by Jeff Mott. All rights reserved.
8435code.google.com/p/crypto-js/wiki/License
8436*/
8437/** @preserve
8438(c) 2012 by Cédric Mesnil. All rights reserved.
8439
8440Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
8441
8442 - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
8443 - 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.
8444
8445THIS 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.
8446*/
8447
ab78acc6 8448// constants table
ebd8d4e8 8449var zl = [
ab78acc6
IC
8450 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
8451 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
8452 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
8453 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
8454 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
8455]
8456
ebd8d4e8 8457var zr = [
ab78acc6
IC
8458 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
8459 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
8460 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
8461 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
8462 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
8463]
8464
ebd8d4e8 8465var sl = [
ab78acc6
IC
8466 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
8467 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
8468 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
8469 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
8470 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
8471]
8472
ebd8d4e8 8473var sr = [
ab78acc6
IC
8474 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
8475 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
8476 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
8477 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
8478 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
8479]
ebd8d4e8 8480
ab78acc6
IC
8481var hl = [0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]
8482var hr = [0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]
ebd8d4e8 8483
ab78acc6
IC
8484function bytesToWords (bytes) {
8485 var words = []
ebd8d4e8 8486 for (var i = 0, b = 0; i < bytes.length; i++, b += 8) {
ab78acc6 8487 words[b >>> 5] |= bytes[i] << (24 - b % 32)
ebd8d4e8 8488 }
ab78acc6
IC
8489 return words
8490}
ebd8d4e8 8491
ab78acc6
IC
8492function wordsToBytes (words) {
8493 var bytes = []
ebd8d4e8 8494 for (var b = 0; b < words.length * 32; b += 8) {
ab78acc6 8495 bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF)
ebd8d4e8 8496 }
ab78acc6
IC
8497 return bytes
8498}
ebd8d4e8 8499
ab78acc6
IC
8500function processBlock (H, M, offset) {
8501 // swap endian
ebd8d4e8 8502 for (var i = 0; i < 16; i++) {
ab78acc6
IC
8503 var offset_i = offset + i
8504 var M_offset_i = M[offset_i]
ebd8d4e8
IC
8505
8506 // Swap
8507 M[offset_i] = (
ab78acc6
IC
8508 (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
8509 (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)
8510 )
ebd8d4e8
IC
8511 }
8512
8513 // Working variables
ab78acc6
IC
8514 var al, bl, cl, dl, el
8515 var ar, br, cr, dr, er
8516
8517 ar = al = H[0]
8518 br = bl = H[1]
8519 cr = cl = H[2]
8520 dr = dl = H[3]
8521 er = el = H[4]
8522
8523 // computation
8524 var t
8525 for (i = 0; i < 80; i += 1) {
8526 t = (al + M[offset + zl[i]]) | 0
8527 if (i < 16) {
8528 t += f1(bl, cl, dl) + hl[0]
8529 } else if (i < 32) {
8530 t += f2(bl, cl, dl) + hl[1]
8531 } else if (i < 48) {
8532 t += f3(bl, cl, dl) + hl[2]
8533 } else if (i < 64) {
8534 t += f4(bl, cl, dl) + hl[3]
ebd8d4e8 8535 } else {// if (i<80) {
ab78acc6
IC
8536 t += f5(bl, cl, dl) + hl[4]
8537 }
8538 t = t | 0
8539 t = rotl(t, sl[i])
8540 t = (t + el) | 0
8541 al = el
8542 el = dl
8543 dl = rotl(cl, 10)
8544 cl = bl
8545 bl = t
8546
8547 t = (ar + M[offset + zr[i]]) | 0
8548 if (i < 16) {
8549 t += f5(br, cr, dr) + hr[0]
8550 } else if (i < 32) {
8551 t += f4(br, cr, dr) + hr[1]
8552 } else if (i < 48) {
8553 t += f3(br, cr, dr) + hr[2]
8554 } else if (i < 64) {
8555 t += f2(br, cr, dr) + hr[3]
ebd8d4e8 8556 } else {// if (i<80) {
ab78acc6 8557 t += f1(br, cr, dr) + hr[4]
ebd8d4e8 8558 }
ebd8d4e8 8559
ab78acc6
IC
8560 t = t | 0
8561 t = rotl(t, sr[i])
8562 t = (t + er) | 0
8563 ar = er
8564 er = dr
8565 dr = rotl(cr, 10)
8566 cr = br
8567 br = t
8568 }
8569
8570 // intermediate hash value
8571 t = (H[1] + cl + dr) | 0
8572 H[1] = (H[2] + dl + er) | 0
8573 H[2] = (H[3] + el + ar) | 0
8574 H[3] = (H[4] + al + br) | 0
8575 H[4] = (H[0] + bl + cr) | 0
8576 H[0] = t
ebd8d4e8
IC
8577}
8578
ab78acc6
IC
8579function f1 (x, y, z) {
8580 return ((x) ^ (y) ^ (z))
ebd8d4e8
IC
8581}
8582
ab78acc6
IC
8583function f2 (x, y, z) {
8584 return (((x) & (y)) | ((~x) & (z)))
ebd8d4e8
IC
8585}
8586
ab78acc6
IC
8587function f3 (x, y, z) {
8588 return (((x) | (~(y))) ^ (z))
ebd8d4e8
IC
8589}
8590
ab78acc6
IC
8591function f4 (x, y, z) {
8592 return (((x) & (z)) | ((y) & (~(z))))
ebd8d4e8
IC
8593}
8594
ab78acc6
IC
8595function f5 (x, y, z) {
8596 return ((x) ^ ((y) | (~(z))))
ebd8d4e8
IC
8597}
8598
ab78acc6
IC
8599function rotl (x, n) {
8600 return (x << n) | (x >>> (32 - n))
8601}
8602
8603function ripemd160 (message) {
8604 var H = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]
ebd8d4e8 8605
ab78acc6
IC
8606 if (typeof message === 'string') {
8607 message = new Buffer(message, 'utf8')
8608 }
ebd8d4e8 8609
ab78acc6 8610 var m = bytesToWords(message)
ebd8d4e8 8611
ab78acc6
IC
8612 var nBitsLeft = message.length * 8
8613 var nBitsTotal = message.length * 8
ebd8d4e8
IC
8614
8615 // Add padding
ab78acc6 8616 m[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32)
ebd8d4e8 8617 m[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (
ab78acc6
IC
8618 (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) |
8619 (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00)
8620 )
ebd8d4e8 8621
ab78acc6
IC
8622 for (var i = 0; i < m.length; i += 16) {
8623 processBlock(H, m, i)
ebd8d4e8
IC
8624 }
8625
ab78acc6
IC
8626 // swap endian
8627 for (i = 0; i < 5; i++) {
8628 // shortcut
8629 var H_i = H[i]
ebd8d4e8
IC
8630
8631 // Swap
ab78acc6
IC
8632 H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
8633 (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00)
ebd8d4e8
IC
8634 }
8635
ab78acc6
IC
8636 var digestbytes = wordsToBytes(H)
8637 return new Buffer(digestbytes)
ebd8d4e8
IC
8638}
8639
ab78acc6
IC
8640module.exports = ripemd160
8641
8642}).call(this,require("buffer").Buffer)
8643},{"buffer":7}],37:[function(require,module,exports){
8644(function (Buffer){
8645// prototype class for hash functions
8646function Hash (blockSize, finalSize) {
8647 this._block = new Buffer(blockSize)
8648 this._finalSize = finalSize
8649 this._blockSize = blockSize
8650 this._len = 0
8651 this._s = 0
8652}
ebd8d4e8 8653
ab78acc6
IC
8654Hash.prototype.update = function (data, enc) {
8655 if (typeof data === 'string') {
8656 enc = enc || 'utf8'
8657 data = new Buffer(data, enc)
8658 }
ebd8d4e8 8659
ab78acc6
IC
8660 var l = this._len += data.length
8661 var s = this._s || 0
8662 var f = 0
8663 var buffer = this._block
ebd8d4e8 8664
ab78acc6
IC
8665 while (s < l) {
8666 var t = Math.min(data.length, f + this._blockSize - (s % this._blockSize))
8667 var ch = (t - f)
ebd8d4e8 8668
ab78acc6
IC
8669 for (var i = 0; i < ch; i++) {
8670 buffer[(s % this._blockSize) + i] = data[i + f]
8671 }
8672
8673 s += ch
8674 f += ch
ebd8d4e8 8675
ab78acc6
IC
8676 if ((s % this._blockSize) === 0) {
8677 this._update(buffer)
8678 }
ebd8d4e8 8679 }
ab78acc6
IC
8680 this._s = s
8681
8682 return this
8683}
ebd8d4e8 8684
ab78acc6
IC
8685Hash.prototype.digest = function (enc) {
8686 // Suppose the length of the message M, in bits, is l
8687 var l = this._len * 8
8688
8689 // Append the bit 1 to the end of the message
8690 this._block[this._len % this._blockSize] = 0x80
8691
8692 // and then k zero bits, where k is the smallest non-negative solution to the equation (l + 1 + k) === finalSize mod blockSize
8693 this._block.fill(0, this._len % this._blockSize + 1)
8694
8695 if (l % (this._blockSize * 8) >= this._finalSize * 8) {
8696 this._update(this._block)
8697 this._block.fill(0)
ebd8d4e8
IC
8698 }
8699
ab78acc6
IC
8700 // to this append the block which is equal to the number l written in binary
8701 // TODO: handle case where l is > Math.pow(2, 29)
8702 this._block.writeInt32BE(l, this._blockSize - 4)
8703
8704 var hash = this._update(this._block) || this._hash()
ebd8d4e8 8705
ab78acc6
IC
8706 return enc ? hash.toString(enc) : hash
8707}
ebd8d4e8 8708
ab78acc6
IC
8709Hash.prototype._update = function () {
8710 throw new Error('_update must be implemented by subclass')
8711}
ebd8d4e8 8712
ab78acc6 8713module.exports = Hash
ebd8d4e8 8714
ab78acc6
IC
8715}).call(this,require("buffer").Buffer)
8716},{"buffer":7}],38:[function(require,module,exports){
8717var exports = module.exports = function SHA (algorithm) {
8718 algorithm = algorithm.toLowerCase()
ebd8d4e8 8719
ab78acc6
IC
8720 var Algorithm = exports[algorithm]
8721 if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')
ebd8d4e8 8722
ab78acc6
IC
8723 return new Algorithm()
8724}
8725
8726exports.sha = require('./sha')
8727exports.sha1 = require('./sha1')
8728exports.sha224 = require('./sha224')
8729exports.sha256 = require('./sha256')
8730exports.sha384 = require('./sha384')
8731exports.sha512 = require('./sha512')
8732
8733},{"./sha":39,"./sha1":40,"./sha224":41,"./sha256":42,"./sha384":43,"./sha512":44}],39:[function(require,module,exports){
8734(function (Buffer){
8735/*
8736 * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined
8737 * in FIPS PUB 180-1
8738 * This source code is derived from sha1.js of the same repository.
8739 * The difference between SHA-0 and SHA-1 is just a bitwise rotate left
8740 * operation was added.
8741 */
ebd8d4e8 8742
ab78acc6
IC
8743var inherits = require('inherits')
8744var Hash = require('./hash')
ebd8d4e8 8745
ab78acc6 8746var W = new Array(80)
ebd8d4e8 8747
ab78acc6
IC
8748function Sha () {
8749 this.init()
8750 this._w = W
ebd8d4e8 8751
ab78acc6
IC
8752 Hash.call(this, 64, 56)
8753}
ebd8d4e8 8754
ab78acc6 8755inherits(Sha, Hash)
ebd8d4e8 8756
ab78acc6
IC
8757Sha.prototype.init = function () {
8758 this._a = 0x67452301 | 0
8759 this._b = 0xefcdab89 | 0
8760 this._c = 0x98badcfe | 0
8761 this._d = 0x10325476 | 0
8762 this._e = 0xc3d2e1f0 | 0
ebd8d4e8 8763
ab78acc6
IC
8764 return this
8765}
8766
8767/*
8768 * Bitwise rotate a 32-bit number to the left.
8769 */
8770function rol (num, cnt) {
8771 return (num << cnt) | (num >>> (32 - cnt))
8772}
8773
8774Sha.prototype._update = function (M) {
8775 var W = this._w
8776
8777 var a = this._a
8778 var b = this._b
8779 var c = this._c
8780 var d = this._d
8781 var e = this._e
ebd8d4e8 8782
ab78acc6
IC
8783 var j = 0, k
8784
8785 /*
8786 * SHA-1 has a bitwise rotate left operation. But, SHA is not
8787 * function calcW() { return rol(W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16], 1) }
8788 */
8789 function calcW () { return W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16] }
8790 function loop (w, f) {
8791 W[j] = w
8792
8793 var t = rol(a, 5) + f + e + w + k
8794
8795 e = d
8796 d = c
8797 c = rol(b, 30)
8798 b = a
8799 a = t
8800 j++
ebd8d4e8
IC
8801 }
8802
ab78acc6
IC
8803 k = 1518500249
8804 while (j < 16) loop(M.readInt32BE(j * 4), (b & c) | ((~b) & d))
8805 while (j < 20) loop(calcW(), (b & c) | ((~b) & d))
8806 k = 1859775393
8807 while (j < 40) loop(calcW(), b ^ c ^ d)
8808 k = -1894007588
8809 while (j < 60) loop(calcW(), (b & c) | (b & d) | (c & d))
8810 k = -899497514
8811 while (j < 80) loop(calcW(), b ^ c ^ d)
8812
8813 this._a = (a + this._a) | 0
8814 this._b = (b + this._b) | 0
8815 this._c = (c + this._c) | 0
8816 this._d = (d + this._d) | 0
8817 this._e = (e + this._e) | 0
ebd8d4e8
IC
8818}
8819
ab78acc6
IC
8820Sha.prototype._hash = function () {
8821 var H = new Buffer(20)
8822
8823 H.writeInt32BE(this._a | 0, 0)
8824 H.writeInt32BE(this._b | 0, 4)
8825 H.writeInt32BE(this._c | 0, 8)
8826 H.writeInt32BE(this._d | 0, 12)
8827 H.writeInt32BE(this._e | 0, 16)
8828
8829 return H
ebd8d4e8
IC
8830}
8831
ab78acc6 8832module.exports = Sha
ebd8d4e8 8833
ebd8d4e8 8834
ab78acc6
IC
8835}).call(this,require("buffer").Buffer)
8836},{"./hash":37,"buffer":7,"inherits":35}],40:[function(require,module,exports){
8837(function (Buffer){
ebd8d4e8
IC
8838/*
8839 * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
8840 * in FIPS PUB 180-1
8841 * Version 2.1a Copyright Paul Johnston 2000 - 2002.
8842 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8843 * Distributed under the BSD License
8844 * See http://pajhome.org.uk/crypt/md5 for details.
8845 */
ebd8d4e8 8846
ab78acc6
IC
8847var inherits = require('inherits')
8848var Hash = require('./hash')
ebd8d4e8 8849
ab78acc6 8850var W = new Array(80)
ebd8d4e8 8851
ab78acc6
IC
8852function Sha1 () {
8853 this.init()
8854 this._w = W
ebd8d4e8 8855
ab78acc6
IC
8856 Hash.call(this, 64, 56)
8857}
ebd8d4e8 8858
ab78acc6 8859inherits(Sha1, Hash)
ebd8d4e8 8860
ab78acc6
IC
8861Sha1.prototype.init = function () {
8862 this._a = 0x67452301 | 0
8863 this._b = 0xefcdab89 | 0
8864 this._c = 0x98badcfe | 0
8865 this._d = 0x10325476 | 0
8866 this._e = 0xc3d2e1f0 | 0
ebd8d4e8 8867
ab78acc6
IC
8868 return this
8869}
ebd8d4e8 8870
ab78acc6
IC
8871/*
8872 * Bitwise rotate a 32-bit number to the left.
8873 */
8874function rol (num, cnt) {
8875 return (num << cnt) | (num >>> (32 - cnt))
8876}
ebd8d4e8 8877
ab78acc6
IC
8878Sha1.prototype._update = function (M) {
8879 var W = this._w
ebd8d4e8 8880
ab78acc6
IC
8881 var a = this._a
8882 var b = this._b
8883 var c = this._c
8884 var d = this._d
8885 var e = this._e
ebd8d4e8 8886
ab78acc6 8887 var j = 0, k
ebd8d4e8 8888
ab78acc6
IC
8889 function calcW () { return rol(W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16], 1) }
8890 function loop (w, f) {
8891 W[j] = w
ebd8d4e8 8892
ab78acc6 8893 var t = rol(a, 5) + f + e + w + k
ebd8d4e8 8894
ab78acc6
IC
8895 e = d
8896 d = c
8897 c = rol(b, 30)
8898 b = a
8899 a = t
8900 j++
ebd8d4e8
IC
8901 }
8902
ab78acc6
IC
8903 k = 1518500249
8904 while (j < 16) loop(M.readInt32BE(j * 4), (b & c) | ((~b) & d))
8905 while (j < 20) loop(calcW(), (b & c) | ((~b) & d))
8906 k = 1859775393
8907 while (j < 40) loop(calcW(), b ^ c ^ d)
8908 k = -1894007588
8909 while (j < 60) loop(calcW(), (b & c) | (b & d) | (c & d))
8910 k = -899497514
8911 while (j < 80) loop(calcW(), b ^ c ^ d)
ebd8d4e8 8912
ab78acc6
IC
8913 this._a = (a + this._a) | 0
8914 this._b = (b + this._b) | 0
8915 this._c = (c + this._c) | 0
8916 this._d = (d + this._d) | 0
8917 this._e = (e + this._e) | 0
8918}
ebd8d4e8 8919
ab78acc6
IC
8920Sha1.prototype._hash = function () {
8921 var H = new Buffer(20)
ebd8d4e8 8922
ab78acc6
IC
8923 H.writeInt32BE(this._a | 0, 0)
8924 H.writeInt32BE(this._b | 0, 4)
8925 H.writeInt32BE(this._c | 0, 8)
8926 H.writeInt32BE(this._d | 0, 12)
8927 H.writeInt32BE(this._e | 0, 16)
ebd8d4e8 8928
ab78acc6
IC
8929 return H
8930}
ebd8d4e8 8931
ab78acc6 8932module.exports = Sha1
ebd8d4e8 8933
ab78acc6
IC
8934}).call(this,require("buffer").Buffer)
8935},{"./hash":37,"buffer":7,"inherits":35}],41:[function(require,module,exports){
8936(function (Buffer){
8937/**
8938 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
8939 * in FIPS 180-2
8940 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
8941 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8942 *
8943 */
ebd8d4e8 8944
ab78acc6
IC
8945var inherits = require('inherits')
8946var Sha256 = require('./sha256')
8947var Hash = require('./hash')
ebd8d4e8 8948
ab78acc6 8949var W = new Array(64)
ebd8d4e8 8950
ab78acc6
IC
8951function Sha224 () {
8952 this.init()
ebd8d4e8 8953
ab78acc6 8954 this._w = W // new Array(64)
ebd8d4e8 8955
ab78acc6
IC
8956 Hash.call(this, 64, 56)
8957}
ebd8d4e8 8958
ab78acc6 8959inherits(Sha224, Sha256)
ebd8d4e8 8960
ab78acc6
IC
8961Sha224.prototype.init = function () {
8962 this._a = 0xc1059ed8 | 0
8963 this._b = 0x367cd507 | 0
8964 this._c = 0x3070dd17 | 0
8965 this._d = 0xf70e5939 | 0
8966 this._e = 0xffc00b31 | 0
8967 this._f = 0x68581511 | 0
8968 this._g = 0x64f98fa7 | 0
8969 this._h = 0xbefa4fa4 | 0
8970
8971 return this
8972}
8973
8974Sha224.prototype._hash = function () {
8975 var H = new Buffer(28)
8976
8977 H.writeInt32BE(this._a, 0)
8978 H.writeInt32BE(this._b, 4)
8979 H.writeInt32BE(this._c, 8)
8980 H.writeInt32BE(this._d, 12)
8981 H.writeInt32BE(this._e, 16)
8982 H.writeInt32BE(this._f, 20)
8983 H.writeInt32BE(this._g, 24)
8984
8985 return H
ebd8d4e8
IC
8986}
8987
ab78acc6 8988module.exports = Sha224
ebd8d4e8 8989
ab78acc6
IC
8990}).call(this,require("buffer").Buffer)
8991},{"./hash":37,"./sha256":42,"buffer":7,"inherits":35}],42:[function(require,module,exports){
8992(function (Buffer){
ebd8d4e8
IC
8993/**
8994 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
8995 * in FIPS 180-2
8996 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
8997 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8998 *
8999 */
9000
ab78acc6
IC
9001var inherits = require('inherits')
9002var Hash = require('./hash')
9003
9004var K = [
9005 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,
9006 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,
9007 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,
9008 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,
9009 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,
9010 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
9011 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,
9012 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,
9013 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,
9014 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,
9015 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,
9016 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
9017 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,
9018 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,
9019 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,
9020 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2
9021]
9022
9023var W = new Array(64)
9024
9025function Sha256 () {
9026 this.init()
9027
9028 this._w = W // new Array(64)
9029
9030 Hash.call(this, 64, 56)
9031}
9032
9033inherits(Sha256, Hash)
9034
9035Sha256.prototype.init = function () {
9036 this._a = 0x6a09e667 | 0
9037 this._b = 0xbb67ae85 | 0
9038 this._c = 0x3c6ef372 | 0
9039 this._d = 0xa54ff53a | 0
9040 this._e = 0x510e527f | 0
9041 this._f = 0x9b05688c | 0
9042 this._g = 0x1f83d9ab | 0
9043 this._h = 0x5be0cd19 | 0
ebd8d4e8 9044
ab78acc6
IC
9045 return this
9046}
ebd8d4e8 9047
ab78acc6
IC
9048function S (X, n) {
9049 return (X >>> n) | (X << (32 - n))
9050}
ebd8d4e8 9051
ab78acc6
IC
9052function R (X, n) {
9053 return (X >>> n)
9054}
ebd8d4e8 9055
ab78acc6
IC
9056function Ch (x, y, z) {
9057 return ((x & y) ^ ((~x) & z))
9058}
ebd8d4e8 9059
ab78acc6
IC
9060function Maj (x, y, z) {
9061 return ((x & y) ^ (x & z) ^ (y & z))
9062}
ebd8d4e8 9063
ab78acc6
IC
9064function Sigma0256 (x) {
9065 return (S(x, 2) ^ S(x, 13) ^ S(x, 22))
9066}
ebd8d4e8 9067
ab78acc6
IC
9068function Sigma1256 (x) {
9069 return (S(x, 6) ^ S(x, 11) ^ S(x, 25))
9070}
ebd8d4e8 9071
ab78acc6
IC
9072function Gamma0256 (x) {
9073 return (S(x, 7) ^ S(x, 18) ^ R(x, 3))
9074}
ebd8d4e8 9075
ab78acc6
IC
9076function Gamma1256 (x) {
9077 return (S(x, 17) ^ S(x, 19) ^ R(x, 10))
9078}
ebd8d4e8 9079
ab78acc6
IC
9080Sha256.prototype._update = function (M) {
9081 var W = this._w
ebd8d4e8 9082
ab78acc6
IC
9083 var a = this._a | 0
9084 var b = this._b | 0
9085 var c = this._c | 0
9086 var d = this._d | 0
9087 var e = this._e | 0
9088 var f = this._f | 0
9089 var g = this._g | 0
9090 var h = this._h | 0
ebd8d4e8 9091
ab78acc6 9092 var j = 0
ebd8d4e8 9093
ab78acc6
IC
9094 function calcW () { return Gamma1256(W[j - 2]) + W[j - 7] + Gamma0256(W[j - 15]) + W[j - 16] }
9095 function loop (w) {
9096 W[j] = w
ebd8d4e8 9097
ab78acc6
IC
9098 var T1 = h + Sigma1256(e) + Ch(e, f, g) + K[j] + w
9099 var T2 = Sigma0256(a) + Maj(a, b, c)
ebd8d4e8 9100
ab78acc6
IC
9101 h = g
9102 g = f
9103 f = e
9104 e = d + T1
9105 d = c
9106 c = b
9107 b = a
9108 a = T1 + T2
ebd8d4e8 9109
ab78acc6 9110 j++
ebd8d4e8
IC
9111 }
9112
ab78acc6
IC
9113 while (j < 16) loop(M.readInt32BE(j * 4))
9114 while (j < 64) loop(calcW())
ebd8d4e8 9115
ab78acc6
IC
9116 this._a = (a + this._a) | 0
9117 this._b = (b + this._b) | 0
9118 this._c = (c + this._c) | 0
9119 this._d = (d + this._d) | 0
9120 this._e = (e + this._e) | 0
9121 this._f = (f + this._f) | 0
9122 this._g = (g + this._g) | 0
9123 this._h = (h + this._h) | 0
9124}
ebd8d4e8 9125
ab78acc6
IC
9126Sha256.prototype._hash = function () {
9127 var H = new Buffer(32)
ebd8d4e8 9128
ab78acc6
IC
9129 H.writeInt32BE(this._a, 0)
9130 H.writeInt32BE(this._b, 4)
9131 H.writeInt32BE(this._c, 8)
9132 H.writeInt32BE(this._d, 12)
9133 H.writeInt32BE(this._e, 16)
9134 H.writeInt32BE(this._f, 20)
9135 H.writeInt32BE(this._g, 24)
9136 H.writeInt32BE(this._h, 28)
ebd8d4e8 9137
ab78acc6
IC
9138 return H
9139}
ebd8d4e8 9140
ab78acc6 9141module.exports = Sha256
ebd8d4e8 9142
ab78acc6
IC
9143}).call(this,require("buffer").Buffer)
9144},{"./hash":37,"buffer":7,"inherits":35}],43:[function(require,module,exports){
9145(function (Buffer){
9146var inherits = require('inherits')
9147var SHA512 = require('./sha512')
9148var Hash = require('./hash')
ebd8d4e8 9149
ab78acc6 9150var W = new Array(160)
ebd8d4e8 9151
ab78acc6
IC
9152function Sha384 () {
9153 this.init()
9154 this._w = W
ebd8d4e8 9155
ab78acc6
IC
9156 Hash.call(this, 128, 112)
9157}
ebd8d4e8 9158
ab78acc6 9159inherits(Sha384, SHA512)
ebd8d4e8 9160
ab78acc6
IC
9161Sha384.prototype.init = function () {
9162 this._a = 0xcbbb9d5d | 0
9163 this._b = 0x629a292a | 0
9164 this._c = 0x9159015a | 0
9165 this._d = 0x152fecd8 | 0
9166 this._e = 0x67332667 | 0
9167 this._f = 0x8eb44a87 | 0
9168 this._g = 0xdb0c2e0d | 0
9169 this._h = 0x47b5481d | 0
ebd8d4e8 9170
ab78acc6
IC
9171 this._al = 0xc1059ed8 | 0
9172 this._bl = 0x367cd507 | 0
9173 this._cl = 0x3070dd17 | 0
9174 this._dl = 0xf70e5939 | 0
9175 this._el = 0xffc00b31 | 0
9176 this._fl = 0x68581511 | 0
9177 this._gl = 0x64f98fa7 | 0
9178 this._hl = 0xbefa4fa4 | 0
ebd8d4e8 9179
ab78acc6 9180 return this
ebd8d4e8
IC
9181}
9182
ab78acc6
IC
9183Sha384.prototype._hash = function () {
9184 var H = new Buffer(48)
ebd8d4e8 9185
ab78acc6
IC
9186 function writeInt64BE (h, l, offset) {
9187 H.writeInt32BE(h, offset)
9188 H.writeInt32BE(l, offset + 4)
ebd8d4e8 9189 }
ebd8d4e8 9190
ab78acc6
IC
9191 writeInt64BE(this._a, this._al, 0)
9192 writeInt64BE(this._b, this._bl, 8)
9193 writeInt64BE(this._c, this._cl, 16)
9194 writeInt64BE(this._d, this._dl, 24)
9195 writeInt64BE(this._e, this._el, 32)
9196 writeInt64BE(this._f, this._fl, 40)
9197
9198 return H
ebd8d4e8
IC
9199}
9200
ab78acc6 9201module.exports = Sha384
ebd8d4e8 9202
ab78acc6
IC
9203}).call(this,require("buffer").Buffer)
9204},{"./hash":37,"./sha512":44,"buffer":7,"inherits":35}],44:[function(require,module,exports){
ebd8d4e8 9205(function (Buffer){
ab78acc6
IC
9206var inherits = require('inherits')
9207var Hash = require('./hash')
9208
9209var K = [
9210 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,
9211 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
9212 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,
9213 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
9214 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,
9215 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
9216 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,
9217 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
9218 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,
9219 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
9220 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,
9221 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
9222 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,
9223 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
9224 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
9225 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
9226 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,
9227 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
9228 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,
9229 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
9230 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,
9231 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
9232 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,
9233 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
9234 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,
9235 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
9236 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,
9237 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
9238 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,
9239 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
9240 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,
9241 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
9242 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,
9243 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
9244 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
9245 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
9246 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,
9247 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
9248 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,
9249 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817
9250]
9251
9252var W = new Array(160)
9253
9254function Sha512 () {
9255 this.init()
9256 this._w = W
9257
9258 Hash.call(this, 128, 112)
9259}
9260
9261inherits(Sha512, Hash)
9262
9263Sha512.prototype.init = function () {
9264 this._a = 0x6a09e667 | 0
9265 this._b = 0xbb67ae85 | 0
9266 this._c = 0x3c6ef372 | 0
9267 this._d = 0xa54ff53a | 0
9268 this._e = 0x510e527f | 0
9269 this._f = 0x9b05688c | 0
9270 this._g = 0x1f83d9ab | 0
9271 this._h = 0x5be0cd19 | 0
9272
9273 this._al = 0xf3bcc908 | 0
9274 this._bl = 0x84caa73b | 0
9275 this._cl = 0xfe94f82b | 0
9276 this._dl = 0x5f1d36f1 | 0
9277 this._el = 0xade682d1 | 0
9278 this._fl = 0x2b3e6c1f | 0
9279 this._gl = 0xfb41bd6b | 0
9280 this._hl = 0x137e2179 | 0
ebd8d4e8 9281
ab78acc6 9282 return this
ebd8d4e8
IC
9283}
9284
ab78acc6
IC
9285function S (X, Xl, n) {
9286 return (X >>> n) | (Xl << (32 - n))
9287}
9288
9289function Ch (x, y, z) {
9290 return ((x & y) ^ ((~x) & z))
9291}
9292
9293function Maj (x, y, z) {
9294 return ((x & y) ^ (x & z) ^ (y & z))
9295}
9296
9297Sha512.prototype._update = function (M) {
9298 var W = this._w
9299
9300 var a = this._a | 0
9301 var b = this._b | 0
9302 var c = this._c | 0
9303 var d = this._d | 0
9304 var e = this._e | 0
9305 var f = this._f | 0
9306 var g = this._g | 0
9307 var h = this._h | 0
9308
9309 var al = this._al | 0
9310 var bl = this._bl | 0
9311 var cl = this._cl | 0
9312 var dl = this._dl | 0
9313 var el = this._el | 0
9314 var fl = this._fl | 0
9315 var gl = this._gl | 0
9316 var hl = this._hl | 0
9317
9318 var i = 0, j = 0
9319 var Wi, Wil
9320 function calcW () {
9321 var x = W[j - 15 * 2]
9322 var xl = W[j - 15 * 2 + 1]
9323 var gamma0 = S(x, xl, 1) ^ S(x, xl, 8) ^ (x >>> 7)
9324 var gamma0l = S(xl, x, 1) ^ S(xl, x, 8) ^ S(xl, x, 7)
9325
9326 x = W[j - 2 * 2]
9327 xl = W[j - 2 * 2 + 1]
9328 var gamma1 = S(x, xl, 19) ^ S(xl, x, 29) ^ (x >>> 6)
9329 var gamma1l = S(xl, x, 19) ^ S(x, xl, 29) ^ S(xl, x, 6)
9330
9331 // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
9332 var Wi7 = W[j - 7 * 2]
9333 var Wi7l = W[j - 7 * 2 + 1]
9334
9335 var Wi16 = W[j - 16 * 2]
9336 var Wi16l = W[j - 16 * 2 + 1]
ebd8d4e8 9337
ab78acc6
IC
9338 Wil = gamma0l + Wi7l
9339 Wi = gamma0 + Wi7 + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0)
9340 Wil = Wil + gamma1l
9341 Wi = Wi + gamma1 + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0)
9342 Wil = Wil + Wi16l
9343 Wi = Wi + Wi16 + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0)
9344 }
9345
9346 function loop () {
9347 W[j] = Wi
9348 W[j + 1] = Wil
ebd8d4e8 9349
ab78acc6
IC
9350 var maj = Maj(a, b, c)
9351 var majl = Maj(al, bl, cl)
ebd8d4e8 9352
ab78acc6
IC
9353 var sigma0h = S(a, al, 28) ^ S(al, a, 2) ^ S(al, a, 7)
9354 var sigma0l = S(al, a, 28) ^ S(a, al, 2) ^ S(a, al, 7)
9355 var sigma1h = S(e, el, 14) ^ S(e, el, 18) ^ S(el, e, 9)
9356 var sigma1l = S(el, e, 14) ^ S(el, e, 18) ^ S(e, el, 9)
ebd8d4e8 9357
ab78acc6
IC
9358 // t1 = h + sigma1 + ch + K[i] + W[i]
9359 var Ki = K[j]
9360 var Kil = K[j + 1]
ebd8d4e8 9361
ab78acc6
IC
9362 var ch = Ch(e, f, g)
9363 var chl = Ch(el, fl, gl)
ebd8d4e8 9364
ab78acc6
IC
9365 var t1l = hl + sigma1l
9366 var t1 = h + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0)
9367 t1l = t1l + chl
9368 t1 = t1 + ch + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0)
9369 t1l = t1l + Kil
9370 t1 = t1 + Ki + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0)
9371 t1l = t1l + Wil
9372 t1 = t1 + Wi + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0)
ebd8d4e8 9373
ab78acc6
IC
9374 // t2 = sigma0 + maj
9375 var t2l = sigma0l + majl
9376 var t2 = sigma0h + maj + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0)
ebd8d4e8 9377
ab78acc6
IC
9378 h = g
9379 hl = gl
9380 g = f
9381 gl = fl
9382 f = e
9383 fl = el
9384 el = (dl + t1l) | 0
9385 e = (d + t1 + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
9386 d = c
9387 dl = cl
9388 c = b
9389 cl = bl
9390 b = a
9391 bl = al
9392 al = (t1l + t2l) | 0
9393 a = (t1 + t2 + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0
9394
9395 i++
9396 j += 2
9397 }
9398
9399 while (i < 16) {
9400 Wi = M.readInt32BE(j * 4)
9401 Wil = M.readInt32BE(j * 4 + 4)
9402
9403 loop()
9404 }
9405
9406 while (i < 80) {
9407 calcW()
9408 loop()
9409 }
9410
9411 this._al = (this._al + al) | 0
9412 this._bl = (this._bl + bl) | 0
9413 this._cl = (this._cl + cl) | 0
9414 this._dl = (this._dl + dl) | 0
9415 this._el = (this._el + el) | 0
9416 this._fl = (this._fl + fl) | 0
9417 this._gl = (this._gl + gl) | 0
9418 this._hl = (this._hl + hl) | 0
9419
9420 this._a = (this._a + a + ((this._al >>> 0) < (al >>> 0) ? 1 : 0)) | 0
9421 this._b = (this._b + b + ((this._bl >>> 0) < (bl >>> 0) ? 1 : 0)) | 0
9422 this._c = (this._c + c + ((this._cl >>> 0) < (cl >>> 0) ? 1 : 0)) | 0
9423 this._d = (this._d + d + ((this._dl >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
9424 this._e = (this._e + e + ((this._el >>> 0) < (el >>> 0) ? 1 : 0)) | 0
9425 this._f = (this._f + f + ((this._fl >>> 0) < (fl >>> 0) ? 1 : 0)) | 0
9426 this._g = (this._g + g + ((this._gl >>> 0) < (gl >>> 0) ? 1 : 0)) | 0
9427 this._h = (this._h + h + ((this._hl >>> 0) < (hl >>> 0) ? 1 : 0)) | 0
9428}
9429
9430Sha512.prototype._hash = function () {
9431 var H = new Buffer(64)
9432
9433 function writeInt64BE (h, l, offset) {
9434 H.writeInt32BE(h, offset)
9435 H.writeInt32BE(l, offset + 4)
9436 }
9437
9438 writeInt64BE(this._a, this._al, 0)
9439 writeInt64BE(this._b, this._bl, 8)
9440 writeInt64BE(this._c, this._cl, 16)
9441 writeInt64BE(this._d, this._dl, 24)
9442 writeInt64BE(this._e, this._el, 32)
9443 writeInt64BE(this._f, this._fl, 40)
9444 writeInt64BE(this._g, this._gl, 48)
9445 writeInt64BE(this._h, this._hl, 56)
9446
9447 return H
9448}
9449
9450module.exports = Sha512
9451
9452}).call(this,require("buffer").Buffer)
9453},{"./hash":37,"buffer":7,"inherits":35}],45:[function(require,module,exports){
9454(function (Buffer){
9455'use strict';
9456var createHash = require('create-hash/browser');
9457var inherits = require('inherits')
ebd8d4e8 9458
ab78acc6 9459var Transform = require('stream').Transform
ebd8d4e8 9460
ab78acc6
IC
9461var ZEROS = new Buffer(128)
9462ZEROS.fill(0)
ebd8d4e8 9463
ab78acc6
IC
9464function Hmac(alg, key) {
9465 Transform.call(this)
ebd8d4e8 9466
ab78acc6
IC
9467 if (typeof key === 'string') {
9468 key = new Buffer(key)
9469 }
ebd8d4e8 9470
ab78acc6 9471 var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64
ebd8d4e8 9472
ab78acc6
IC
9473 this._alg = alg
9474 this._key = key
ebd8d4e8 9475
ab78acc6
IC
9476 if (key.length > blocksize) {
9477 key = createHash(alg).update(key).digest()
ebd8d4e8 9478
ab78acc6
IC
9479 } else if (key.length < blocksize) {
9480 key = Buffer.concat([key, ZEROS], blocksize)
9481 }
ebd8d4e8 9482
ab78acc6
IC
9483 var ipad = this._ipad = new Buffer(blocksize)
9484 var opad = this._opad = new Buffer(blocksize)
ebd8d4e8 9485
ab78acc6
IC
9486 for (var i = 0; i < blocksize; i++) {
9487 ipad[i] = key[i] ^ 0x36
9488 opad[i] = key[i] ^ 0x5C
9489 }
ebd8d4e8 9490
ab78acc6
IC
9491 this._hash = createHash(alg).update(ipad)
9492}
ebd8d4e8 9493
ab78acc6 9494inherits(Hmac, Transform)
ebd8d4e8 9495
ab78acc6
IC
9496Hmac.prototype.update = function (data, enc) {
9497 this._hash.update(data, enc)
ebd8d4e8 9498
ab78acc6
IC
9499 return this
9500}
ebd8d4e8 9501
ab78acc6
IC
9502Hmac.prototype._transform = function (data, _, next) {
9503 this._hash.update(data)
ebd8d4e8 9504
ab78acc6
IC
9505 next()
9506}
ebd8d4e8 9507
ab78acc6
IC
9508Hmac.prototype._flush = function (next) {
9509 this.push(this.digest())
ebd8d4e8 9510
ab78acc6
IC
9511 next()
9512}
ebd8d4e8 9513
ab78acc6
IC
9514Hmac.prototype.digest = function (enc) {
9515 var h = this._hash.digest()
ebd8d4e8 9516
ab78acc6
IC
9517 return createHash(this._alg).update(this._opad).update(h).digest(enc)
9518}
ebd8d4e8 9519
ab78acc6
IC
9520module.exports = function createHmac(alg, key) {
9521 return new Hmac(alg, key)
9522}
ebd8d4e8 9523
ab78acc6
IC
9524}).call(this,require("buffer").Buffer)
9525},{"buffer":7,"create-hash/browser":32,"inherits":46,"stream":26}],46:[function(require,module,exports){
9526arguments[4][12][0].apply(exports,arguments)
9527},{"dup":12}],47:[function(require,module,exports){
9528var assert = require('assert')
9529var BigInteger = require('bigi')
ebd8d4e8 9530
ab78acc6 9531var Point = require('./point')
ebd8d4e8
IC
9532
9533function Curve(p, a, b, Gx, Gy, n, h) {
9534 this.p = p
9535 this.a = a
9536 this.b = b
9537 this.G = Point.fromAffine(this, Gx, Gy)
9538 this.n = n
9539 this.h = h
9540
9541 this.infinity = new Point(this, null, null, BigInteger.ZERO)
9542
9543 // result caching
9544 this.pOverFour = p.add(BigInteger.ONE).shiftRight(2)
9545}
9546
9547Curve.prototype.pointFromX = function(isOdd, x) {
9548 var alpha = x.pow(3).add(this.a.multiply(x)).add(this.b).mod(this.p)
ab78acc6 9549 var beta = alpha.modPow(this.pOverFour, this.p) // XXX: not compatible with all curves
ebd8d4e8
IC
9550
9551 var y = beta
9552 if (beta.isEven() ^ !isOdd) {
9553 y = this.p.subtract(y) // -y % p
9554 }
9555
9556 return Point.fromAffine(this, x, y)
9557}
9558
9559Curve.prototype.isInfinity = function(Q) {
9560 if (Q === this.infinity) return true
9561
9562 return Q.z.signum() === 0 && Q.y.signum() !== 0
9563}
9564
9565Curve.prototype.isOnCurve = function(Q) {
9566 if (this.isInfinity(Q)) return true
9567
9568 var x = Q.affineX
9569 var y = Q.affineY
9570 var a = this.a
9571 var b = this.b
9572 var p = this.p
9573
9574 // Check that xQ and yQ are integers in the interval [0, p - 1]
9575 if (x.signum() < 0 || x.compareTo(p) >= 0) return false
9576 if (y.signum() < 0 || y.compareTo(p) >= 0) return false
9577
9578 // and check that y^2 = x^3 + ax + b (mod p)
9579 var lhs = y.square().mod(p)
9580 var rhs = x.pow(3).add(a.multiply(x)).add(b).mod(p)
9581 return lhs.equals(rhs)
9582}
9583
9584/**
9585 * Validate an elliptic curve point.
9586 *
9587 * See SEC 1, section 3.2.2.1: Elliptic Curve Public Key Validation Primitive
9588 */
9589Curve.prototype.validate = function(Q) {
9590 // Check Q != O
9591 assert(!this.isInfinity(Q), 'Point is at infinity')
9592 assert(this.isOnCurve(Q), 'Point is not on the curve')
9593
9594 // Check nQ = O (where Q is a scalar multiple of G)
9595 var nQ = Q.multiply(this.n)
9596 assert(this.isInfinity(nQ), 'Point is not a scalar multiple of G')
9597
9598 return true
9599}
9600
9601module.exports = Curve
9602
ab78acc6 9603},{"./point":51,"assert":5,"bigi":3}],48:[function(require,module,exports){
ebd8d4e8
IC
9604module.exports={
9605 "secp128r1": {
9606 "p": "fffffffdffffffffffffffffffffffff",
9607 "a": "fffffffdfffffffffffffffffffffffc",
9608 "b": "e87579c11079f43dd824993c2cee5ed3",
9609 "n": "fffffffe0000000075a30d1b9038a115",
9610 "h": "01",
9611 "Gx": "161ff7528b899b2d0c28607ca52c5b86",
9612 "Gy": "cf5ac8395bafeb13c02da292dded7a83"
9613 },
9614 "secp160k1": {
9615 "p": "fffffffffffffffffffffffffffffffeffffac73",
9616 "a": "00",
9617 "b": "07",
9618 "n": "0100000000000000000001b8fa16dfab9aca16b6b3",
9619 "h": "01",
9620 "Gx": "3b4c382ce37aa192a4019e763036f4f5dd4d7ebb",
9621 "Gy": "938cf935318fdced6bc28286531733c3f03c4fee"
9622 },
9623 "secp160r1": {
9624 "p": "ffffffffffffffffffffffffffffffff7fffffff",
9625 "a": "ffffffffffffffffffffffffffffffff7ffffffc",
9626 "b": "1c97befc54bd7a8b65acf89f81d4d4adc565fa45",
9627 "n": "0100000000000000000001f4c8f927aed3ca752257",
9628 "h": "01",
9629 "Gx": "4a96b5688ef573284664698968c38bb913cbfc82",
9630 "Gy": "23a628553168947d59dcc912042351377ac5fb32"
9631 },
9632 "secp192k1": {
9633 "p": "fffffffffffffffffffffffffffffffffffffffeffffee37",
9634 "a": "00",
9635 "b": "03",
9636 "n": "fffffffffffffffffffffffe26f2fc170f69466a74defd8d",
9637 "h": "01",
9638 "Gx": "db4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d",
9639 "Gy": "9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d"
9640 },
9641 "secp192r1": {
9642 "p": "fffffffffffffffffffffffffffffffeffffffffffffffff",
9643 "a": "fffffffffffffffffffffffffffffffefffffffffffffffc",
9644 "b": "64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1",
9645 "n": "ffffffffffffffffffffffff99def836146bc9b1b4d22831",
9646 "h": "01",
9647 "Gx": "188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012",
9648 "Gy": "07192b95ffc8da78631011ed6b24cdd573f977a11e794811"
9649 },
ebd8d4e8
IC
9650 "secp256k1": {
9651 "p": "fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
9652 "a": "00",
9653 "b": "07",
9654 "n": "fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
9655 "h": "01",
9656 "Gx": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
9657 "Gy": "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
9658 },
9659 "secp256r1": {
9660 "p": "ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
9661 "a": "ffffffff00000001000000000000000000000000fffffffffffffffffffffffc",
9662 "b": "5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b",
9663 "n": "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
9664 "h": "01",
9665 "Gx": "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
9666 "Gy": "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"
9667 }
9668}
9669
ab78acc6
IC
9670},{}],49:[function(require,module,exports){
9671var Point = require('./point')
9672var Curve = require('./curve')
ebd8d4e8 9673
ab78acc6 9674var getCurveByName = require('./names')
ebd8d4e8
IC
9675
9676module.exports = {
9677 Curve: Curve,
9678 Point: Point,
9679 getCurveByName: getCurveByName
9680}
9681
ab78acc6
IC
9682},{"./curve":47,"./names":50,"./point":51}],50:[function(require,module,exports){
9683var BigInteger = require('bigi')
ebd8d4e8 9684
ab78acc6
IC
9685var curves = require('./curves')
9686var Curve = require('./curve')
ebd8d4e8
IC
9687
9688function getCurveByName(name) {
9689 var curve = curves[name]
9690 if (!curve) return null
9691
9692 var p = new BigInteger(curve.p, 16)
9693 var a = new BigInteger(curve.a, 16)
9694 var b = new BigInteger(curve.b, 16)
9695 var n = new BigInteger(curve.n, 16)
9696 var h = new BigInteger(curve.h, 16)
9697 var Gx = new BigInteger(curve.Gx, 16)
9698 var Gy = new BigInteger(curve.Gy, 16)
9699
9700 return new Curve(p, a, b, Gx, Gy, n, h)
9701}
9702
9703module.exports = getCurveByName
9704
ab78acc6 9705},{"./curve":47,"./curves":48,"bigi":3}],51:[function(require,module,exports){
ebd8d4e8 9706(function (Buffer){
ab78acc6
IC
9707var assert = require('assert')
9708var BigInteger = require('bigi')
ebd8d4e8
IC
9709
9710var THREE = BigInteger.valueOf(3)
9711
9712function Point(curve, x, y, z) {
9713 assert.notStrictEqual(z, undefined, 'Missing Z coordinate')
9714
9715 this.curve = curve
9716 this.x = x
9717 this.y = y
9718 this.z = z
9719 this._zInv = null
9720
9721 this.compressed = true
9722}
9723
9724Object.defineProperty(Point.prototype, 'zInv', {
9725 get: function() {
9726 if (this._zInv === null) {
9727 this._zInv = this.z.modInverse(this.curve.p)
9728 }
9729
9730 return this._zInv
9731 }
9732})
9733
9734Object.defineProperty(Point.prototype, 'affineX', {
9735 get: function() {
9736 return this.x.multiply(this.zInv).mod(this.curve.p)
9737 }
9738})
9739
9740Object.defineProperty(Point.prototype, 'affineY', {
9741 get: function() {
9742 return this.y.multiply(this.zInv).mod(this.curve.p)
9743 }
9744})
9745
9746Point.fromAffine = function(curve, x, y) {
9747 return new Point(curve, x, y, BigInteger.ONE)
9748}
9749
9750Point.prototype.equals = function(other) {
9751 if (other === this) return true
9752 if (this.curve.isInfinity(this)) return this.curve.isInfinity(other)
9753 if (this.curve.isInfinity(other)) return this.curve.isInfinity(this)
9754
9755 // u = Y2 * Z1 - Y1 * Z2
9756 var u = other.y.multiply(this.z).subtract(this.y.multiply(other.z)).mod(this.curve.p)
9757
9758 if (u.signum() !== 0) return false
9759
9760 // v = X2 * Z1 - X1 * Z2
9761 var v = other.x.multiply(this.z).subtract(this.x.multiply(other.z)).mod(this.curve.p)
9762
9763 return v.signum() === 0
9764}
9765
9766Point.prototype.negate = function() {
9767 var y = this.curve.p.subtract(this.y)
9768
9769 return new Point(this.curve, this.x, y, this.z)
9770}
9771
9772Point.prototype.add = function(b) {
9773 if (this.curve.isInfinity(this)) return b
9774 if (this.curve.isInfinity(b)) return this
9775
9776 var x1 = this.x
9777 var y1 = this.y
9778 var x2 = b.x
9779 var y2 = b.y
9780
9781 // u = Y2 * Z1 - Y1 * Z2
9782 var u = y2.multiply(this.z).subtract(y1.multiply(b.z)).mod(this.curve.p)
9783 // v = X2 * Z1 - X1 * Z2
9784 var v = x2.multiply(this.z).subtract(x1.multiply(b.z)).mod(this.curve.p)
9785
9786 if (v.signum() === 0) {
9787 if (u.signum() === 0) {
9788 return this.twice() // this == b, so double
9789 }
9790
9791 return this.curve.infinity // this = -b, so infinity
9792 }
9793
9794 var v2 = v.square()
9795 var v3 = v2.multiply(v)
9796 var x1v2 = x1.multiply(v2)
9797 var zu2 = u.square().multiply(this.z)
9798
9799 // x3 = v * (z2 * (z1 * u^2 - 2 * x1 * v^2) - v^3)
9800 var x3 = zu2.subtract(x1v2.shiftLeft(1)).multiply(b.z).subtract(v3).multiply(v).mod(this.curve.p)
9801 // y3 = z2 * (3 * x1 * u * v^2 - y1 * v^3 - z1 * u^3) + u * v^3
9802 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)
9803 // z3 = v^3 * z1 * z2
9804 var z3 = v3.multiply(this.z).multiply(b.z).mod(this.curve.p)
9805
9806 return new Point(this.curve, x3, y3, z3)
9807}
9808
9809Point.prototype.twice = function() {
9810 if (this.curve.isInfinity(this)) return this
9811 if (this.y.signum() === 0) return this.curve.infinity
9812
9813 var x1 = this.x
9814 var y1 = this.y
9815
9816 var y1z1 = y1.multiply(this.z)
9817 var y1sqz1 = y1z1.multiply(y1).mod(this.curve.p)
9818 var a = this.curve.a
9819
9820 // w = 3 * x1^2 + a * z1^2
9821 var w = x1.square().multiply(THREE)
9822
9823 if (a.signum() !== 0) {
9824 w = w.add(this.z.square().multiply(a))
9825 }
9826
9827 w = w.mod(this.curve.p)
9828 // x3 = 2 * y1 * z1 * (w^2 - 8 * x1 * y1^2 * z1)
9829 var x3 = w.square().subtract(x1.shiftLeft(3).multiply(y1sqz1)).shiftLeft(1).multiply(y1z1).mod(this.curve.p)
9830 // y3 = 4 * y1^2 * z1 * (3 * w * x1 - 2 * y1^2 * z1) - w^3
9831 var y3 = w.multiply(THREE).multiply(x1).subtract(y1sqz1.shiftLeft(1)).shiftLeft(2).multiply(y1sqz1).subtract(w.pow(3)).mod(this.curve.p)
9832 // z3 = 8 * (y1 * z1)^3
9833 var z3 = y1z1.pow(3).shiftLeft(3).mod(this.curve.p)
9834
9835 return new Point(this.curve, x3, y3, z3)
9836}
9837
9838// Simple NAF (Non-Adjacent Form) multiplication algorithm
9839// TODO: modularize the multiplication algorithm
9840Point.prototype.multiply = function(k) {
9841 if (this.curve.isInfinity(this)) return this
9842 if (k.signum() === 0) return this.curve.infinity
9843
9844 var e = k
9845 var h = e.multiply(THREE)
9846
9847 var neg = this.negate()
9848 var R = this
9849
9850 for (var i = h.bitLength() - 2; i > 0; --i) {
9851 R = R.twice()
9852
9853 var hBit = h.testBit(i)
9854 var eBit = e.testBit(i)
9855
9856 if (hBit != eBit) {
9857 R = R.add(hBit ? this : neg)
9858 }
9859 }
9860
9861 return R
9862}
9863
9864// Compute this*j + x*k (simultaneous multiplication)
9865Point.prototype.multiplyTwo = function(j, x, k) {
9866 var i
9867
9868 if (j.bitLength() > k.bitLength())
9869 i = j.bitLength() - 1
9870 else
9871 i = k.bitLength() - 1
9872
9873 var R = this.curve.infinity
9874 var both = this.add(x)
9875
9876 while (i >= 0) {
9877 R = R.twice()
9878
9879 var jBit = j.testBit(i)
9880 var kBit = k.testBit(i)
9881
9882 if (jBit) {
9883 if (kBit) {
9884 R = R.add(both)
9885
9886 } else {
9887 R = R.add(this)
9888 }
9889
9890 } else {
9891 if (kBit) {
9892 R = R.add(x)
9893 }
9894 }
9895 --i
9896 }
9897
9898 return R
9899}
9900
9901Point.prototype.getEncoded = function(compressed) {
9902 if (compressed == undefined) compressed = this.compressed
9903 if (this.curve.isInfinity(this)) return new Buffer('00', 'hex') // Infinity point encoded is simply '00'
9904
9905 var x = this.affineX
9906 var y = this.affineY
9907
9908 var buffer
9909
9910 // Determine size of q in bytes
9911 var byteLength = Math.floor((this.curve.p.bitLength() + 7) / 8)
9912
9913 // 0x02/0x03 | X
9914 if (compressed) {
9915 buffer = new Buffer(1 + byteLength)
9916 buffer.writeUInt8(y.isEven() ? 0x02 : 0x03, 0)
9917
9918 // 0x04 | X | Y
9919 } else {
9920 buffer = new Buffer(1 + byteLength + byteLength)
9921 buffer.writeUInt8(0x04, 0)
9922
9923 y.toBuffer(byteLength).copy(buffer, 1 + byteLength)
9924 }
9925
9926 x.toBuffer(byteLength).copy(buffer, 1)
9927
9928 return buffer
9929}
9930
9931Point.decodeFrom = function(curve, buffer) {
9932 var type = buffer.readUInt8(0)
9933 var compressed = (type !== 4)
9934
ebd8d4e8 9935 var byteLength = Math.floor((curve.p.bitLength() + 7) / 8)
ab78acc6 9936 var x = BigInteger.fromBuffer(buffer.slice(1, 1 + byteLength))
ebd8d4e8
IC
9937
9938 var Q
9939 if (compressed) {
9940 assert.equal(buffer.length, byteLength + 1, 'Invalid sequence length')
9941 assert(type === 0x02 || type === 0x03, 'Invalid sequence tag')
9942
9943 var isOdd = (type === 0x03)
9944 Q = curve.pointFromX(isOdd, x)
9945
9946 } else {
9947 assert.equal(buffer.length, 1 + byteLength + byteLength, 'Invalid sequence length')
9948
9949 var y = BigInteger.fromBuffer(buffer.slice(1 + byteLength))
9950 Q = Point.fromAffine(curve, x, y)
9951 }
9952
9953 Q.compressed = compressed
9954 return Q
9955}
9956
9957Point.prototype.toString = function () {
9958 if (this.curve.isInfinity(this)) return '(INFINITY)'
9959
9960 return '(' + this.affineX.toString() + ',' + this.affineY.toString() + ')'
9961}
9962
9963module.exports = Point
9964
ab78acc6
IC
9965}).call(this,require("buffer").Buffer)
9966},{"assert":5,"bigi":3,"buffer":7}],52:[function(require,module,exports){
9967(function (process,global,Buffer){
9968'use strict';
ebd8d4e8 9969
ab78acc6
IC
9970var crypto = global.crypto || global.msCrypto
9971if(crypto && crypto.getRandomValues) {
9972 module.exports = randomBytes;
9973} else {
9974 module.exports = oldBrowser;
9975}
9976function randomBytes(size, cb) {
9977 var bytes = new Buffer(size); //in browserify, this is an extended Uint8Array
9978 /* This will not work in older browsers.
9979 * See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
9980 */
9981
9982 crypto.getRandomValues(bytes);
9983 if (typeof cb === 'function') {
9984 return process.nextTick(function () {
9985 cb(null, bytes);
9986 });
ebd8d4e8 9987 }
ab78acc6
IC
9988 return bytes;
9989}
9990function oldBrowser() {
9991 throw new Error(
9992 'secure random number generation not supported by this browser\n'+
9993 'use chrome, FireFox or Internet Explorer 11'
9994 )
ebd8d4e8
IC
9995}
9996
ab78acc6
IC
9997}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer)
9998},{"_process":14,"buffer":7}],53:[function(require,module,exports){
9999(function (Buffer){
10000'use strict';
ebd8d4e8 10001
ab78acc6
IC
10002function getFunctionName(fn) {
10003 return fn.name || fn.toString().match(/function (.*?)\s*\(/)[1];
10004}
10005
10006function getTypeTypeName(type) {
10007 if (nativeTypes.Function(type)) {
10008 type = type.toJSON ? type.toJSON() : getFunctionName(type);
ebd8d4e8 10009 }
ab78acc6
IC
10010 if (nativeTypes.Object(type)) return JSON.stringify(type);
10011
10012 return type;
ebd8d4e8
IC
10013}
10014
ab78acc6
IC
10015function getValueTypeName(value) {
10016 if (nativeTypes.Null(value)) return '';
ebd8d4e8 10017
ab78acc6
IC
10018 return getFunctionName(value.constructor);
10019}
10020
10021function tfErrorString(type, value) {
10022 var typeTypeName = getTypeTypeName(type);
10023 var valueTypeName = getValueTypeName(value);
10024
10025 return 'Expected ' + typeTypeName + ', got ' + (valueTypeName && valueTypeName + ' ') + JSON.stringify(value);
10026}
10027
10028function tfPropertyErrorString(type, name, value) {
10029 return tfErrorString('property \"' + name + '\" of type ' + getTypeTypeName(type), value);
10030}
10031
10032var nativeTypes = {
10033 Array: (function (_Array) {
10034 function Array(_x) {
10035 return _Array.apply(this, arguments);
10036 }
10037
10038 Array.toString = function () {
10039 return _Array.toString();
10040 };
10041
10042 return Array;
10043 })(function (value) {
10044 return value !== null && value !== undefined && value.constructor === Array;
10045 }),
10046 Boolean: function Boolean(value) {
10047 return typeof value === 'boolean';
10048 },
10049 Buffer: (function (_Buffer) {
10050 function Buffer(_x2) {
10051 return _Buffer.apply(this, arguments);
10052 }
10053
10054 Buffer.toString = function () {
10055 return _Buffer.toString();
10056 };
10057
10058 return Buffer;
10059 })(function (value) {
10060 return Buffer.isBuffer(value);
10061 }),
10062 Function: function Function(value) {
10063 return typeof value === 'function';
10064 },
10065 Null: function Null(value) {
10066 return value === undefined || value === null;
10067 },
10068 Number: function Number(value) {
10069 return typeof value === 'number';
10070 },
10071 Object: function Object(value) {
10072 return typeof value === 'object';
10073 },
10074 String: function String(value) {
10075 return typeof value === 'string';
10076 },
10077 '': function _() {
10078 return true;
ebd8d4e8 10079 }
ab78acc6
IC
10080};
10081
10082function tJSON(type) {
10083 return type && type.toJSON ? type.toJSON() : type;
ebd8d4e8
IC
10084}
10085
ab78acc6
IC
10086function sJSON(type) {
10087 var json = tJSON(type);
10088 return nativeTypes.Object(json) ? JSON.stringify(json) : json;
ebd8d4e8
IC
10089}
10090
ab78acc6
IC
10091var otherTypes = {
10092 arrayOf: function arrayOf(type) {
10093 function arrayOf(value, strict) {
10094 try {
10095 return nativeTypes.Array(value) && value.every(function (x) {
10096 return typeforce(type, x, strict);
10097 });
10098 } catch (e) {
10099 return false;
10100 }
10101 }
10102 arrayOf.toJSON = function () {
10103 return [tJSON(type)];
10104 };
10105
10106 return arrayOf;
10107 },
10108
10109 maybe: function maybe(type) {
10110 function maybe(value, strict) {
10111 return nativeTypes.Null(value) || typeforce(type, value, strict);
10112 }
10113 maybe.toJSON = function () {
10114 return '?' + sJSON(type);
10115 };
10116
10117 return maybe;
10118 },
10119
10120 object: function object(type) {
10121 function object(value, strict) {
10122 typeforce(nativeTypes.Object, value, strict);
10123
10124 var propertyName, propertyType, propertyValue;
10125
10126 try {
10127 for (propertyName in type) {
10128 propertyType = type[propertyName];
10129 propertyValue = value[propertyName];
10130
10131 typeforce(propertyType, propertyValue, strict);
10132 }
10133 } catch (e) {
10134 throw new TypeError(tfPropertyErrorString(propertyType, propertyName, propertyValue));
10135 }
10136
10137 if (strict) {
10138 for (propertyName in value) {
10139 if (type[propertyName]) continue;
10140
10141 throw new TypeError('Unexpected property "' + propertyName + '"');
10142 }
10143 }
10144
10145 return true;
10146 }
10147 object.toJSON = function () {
10148 return type;
10149 };
10150
10151 return object;
10152 },
10153
10154 oneOf: function oneOf() {
10155 for (var _len = arguments.length, types = Array(_len), _key = 0; _key < _len; _key++) {
10156 types[_key] = arguments[_key];
10157 }
10158
10159 function oneOf(value, strict) {
10160 return types.some(function (type) {
10161 try {
10162 return typeforce(type, value, strict);
10163 } catch (e) {
10164 return false;
10165 }
10166 });
10167 }
10168 oneOf.toJSON = function () {
10169 return types.map(sJSON).join('|');
10170 };
10171
10172 return oneOf;
10173 },
10174
10175 quacksLike: function quacksLike(type) {
10176 function quacksLike(value, strict) {
10177 return type === getValueTypeName(value);
10178 }
10179 quacksLike.toJSON = function () {
10180 return type;
10181 };
10182
10183 return quacksLike;
10184 },
10185
10186 tuple: function tuple() {
10187 for (var _len2 = arguments.length, types = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
10188 types[_key2] = arguments[_key2];
10189 }
10190
10191 function tuple(value, strict) {
10192 return types.every(function (type, i) {
10193 return typeforce(type, value[i], strict);
10194 });
10195 }
10196 tuple.toJSON = function () {
10197 return '(' + types.map(sJSON).join(', ') + ')';
10198 };
10199
10200 return tuple;
10201 },
10202
10203 value: function value(expected) {
10204 function value(actual) {
10205 return actual === expected;
10206 }
10207 value.toJSON = function () {
10208 return expected;
10209 };
10210
10211 return value;
10212 }
10213};
10214
10215function compile(type) {
10216 if (nativeTypes.String(type)) {
10217 if (type[0] === '?') return otherTypes.maybe(compile(type.slice(1)));
10218
10219 return nativeTypes[type] || otherTypes.quacksLike(type);
10220 } else if (type && nativeTypes.Object(type)) {
10221 if (nativeTypes.Array(type)) return otherTypes.arrayOf(compile(type[0]));
10222
10223 var compiled = {};
10224
10225 for (var propertyName in type) {
10226 compiled[propertyName] = compile(type[propertyName]);
10227 }
10228
10229 return otherTypes.object(compiled);
10230 } else if (nativeTypes.Function(type)) {
10231 return type;
10232 }
10233
10234 return otherTypes.value(type);
ebd8d4e8
IC
10235}
10236
ab78acc6
IC
10237function typeforce(_x3, _x4, _x5) {
10238 var _again = true;
10239
10240 _function: while (_again) {
10241 var type = _x3,
10242 value = _x4,
10243 strict = _x5;
10244 _again = false;
10245
10246 if (nativeTypes.Function(type)) {
10247 if (type(value, strict)) return true;
10248
10249 throw new TypeError(tfErrorString(type, value));
10250 }
10251
10252 // JIT
10253 _x3 = compile(type);
10254 _x4 = value;
10255 _x5 = strict;
10256 _again = true;
10257 continue _function;
10258 }
ebd8d4e8
IC
10259}
10260
ab78acc6
IC
10261// assign all types to typeforce function
10262var typeName;
10263Object.keys(nativeTypes).forEach(function (typeName) {
10264 var nativeType = nativeTypes[typeName];
10265 nativeType.toJSON = function () {
10266 return typeName;
10267 };
10268
10269 typeforce[typeName] = nativeType;
10270});
ebd8d4e8 10271
ab78acc6
IC
10272for (typeName in otherTypes) {
10273 typeforce[typeName] = otherTypes[typeName];
10274}
ebd8d4e8 10275
ab78acc6
IC
10276module.exports = typeforce;
10277module.exports.compile = compile;
10278}).call(this,require("buffer").Buffer)
10279},{"buffer":7}],54:[function(require,module,exports){
ebd8d4e8 10280(function (Buffer){
ab78acc6
IC
10281var assert = require('assert')
10282var base58check = require('bs58check')
10283var typeForce = require('typeforce')
10284var networks = require('./networks')
10285var scripts = require('./scripts')
ebd8d4e8 10286
ab78acc6 10287function findScriptTypeByVersion (version) {
ebd8d4e8
IC
10288 for (var networkName in networks) {
10289 var network = networks[networkName]
10290
10291 if (version === network.pubKeyHash) return 'pubkeyhash'
10292 if (version === network.scriptHash) return 'scripthash'
10293 }
10294}
10295
ab78acc6
IC
10296function Address (hash, version) {
10297 typeForce('Buffer', hash)
10298
ebd8d4e8
IC
10299 assert.strictEqual(hash.length, 20, 'Invalid hash length')
10300 assert.strictEqual(version & 0xff, version, 'Invalid version byte')
10301
10302 this.hash = hash
10303 this.version = version
10304}
10305
ab78acc6 10306Address.fromBase58Check = function (string) {
ebd8d4e8
IC
10307 var payload = base58check.decode(string)
10308 var version = payload.readUInt8(0)
10309 var hash = payload.slice(1)
10310
10311 return new Address(hash, version)
10312}
10313
ab78acc6 10314Address.fromOutputScript = function (script, network) {
ebd8d4e8
IC
10315 network = network || networks.bitcoin
10316
ab78acc6
IC
10317 if (scripts.isPubKeyHashOutput(script)) return new Address(script.chunks[2], network.pubKeyHash)
10318 if (scripts.isScriptHashOutput(script)) return new Address(script.chunks[1], network.scriptHash)
ebd8d4e8 10319
ab78acc6 10320 assert(false, script.toASM() + ' has no matching Address')
ebd8d4e8
IC
10321}
10322
ebd8d4e8
IC
10323Address.prototype.toBase58Check = function () {
10324 var payload = new Buffer(21)
10325 payload.writeUInt8(this.version, 0)
10326 this.hash.copy(payload, 1)
10327
10328 return base58check.encode(payload)
10329}
10330
ab78acc6 10331Address.prototype.toOutputScript = function () {
ebd8d4e8
IC
10332 var scriptType = findScriptTypeByVersion(this.version)
10333
10334 if (scriptType === 'pubkeyhash') return scripts.pubKeyHashOutput(this.hash)
10335 if (scriptType === 'scripthash') return scripts.scriptHashOutput(this.hash)
10336
ab78acc6
IC
10337 assert(false, this.toString() + ' has no matching Script')
10338}
10339
10340Address.prototype.toString = Address.prototype.toBase58Check
10341
10342module.exports = Address
10343
10344}).call(this,require("buffer").Buffer)
10345},{"./networks":66,"./scripts":69,"assert":5,"bs58check":31,"buffer":7,"typeforce":53}],55:[function(require,module,exports){
10346var bs58check = require('bs58check')
10347
10348function decode () {
10349 console.warn('bs58check will be removed in 2.0.0. require("bs58check") instead.')
10350
10351 return bs58check.decode.apply(undefined, arguments)
10352}
10353
10354function encode () {
10355 console.warn('bs58check will be removed in 2.0.0. require("bs58check") instead.')
10356
10357 return bs58check.encode.apply(undefined, arguments)
10358}
10359
10360module.exports = {
10361 decode: decode,
10362 encode: encode
10363}
10364
10365},{"bs58check":31}],56:[function(require,module,exports){
10366(function (Buffer){
10367var assert = require('assert')
10368var bufferutils = require('./bufferutils')
10369var crypto = require('./crypto')
10370
10371var Transaction = require('./transaction')
10372
10373function Block () {
10374 this.version = 1
10375 this.prevHash = null
10376 this.merkleRoot = null
10377 this.timestamp = 0
10378 this.bits = 0
10379 this.nonce = 0
10380}
10381
10382Block.fromBuffer = function (buffer) {
10383 assert(buffer.length >= 80, 'Buffer too small (< 80 bytes)')
10384
10385 var offset = 0
10386 function readSlice (n) {
10387 offset += n
10388 return buffer.slice(offset - n, offset)
10389 }
10390
10391 function readUInt32 () {
10392 var i = buffer.readUInt32LE(offset)
10393 offset += 4
10394 return i
10395 }
10396
10397 var block = new Block()
10398 block.version = readUInt32()
10399 block.prevHash = readSlice(32)
10400 block.merkleRoot = readSlice(32)
10401 block.timestamp = readUInt32()
10402 block.bits = readUInt32()
10403 block.nonce = readUInt32()
10404
10405 if (buffer.length === 80) return block
10406
10407 function readVarInt () {
10408 var vi = bufferutils.readVarInt(buffer, offset)
10409 offset += vi.size
10410 return vi.number
10411 }
10412
10413 // FIXME: poor performance
10414 function readTransaction () {
10415 var tx = Transaction.fromBuffer(buffer.slice(offset), true)
10416
10417 offset += tx.toBuffer().length
10418 return tx
10419 }
10420
10421 var nTransactions = readVarInt()
10422 block.transactions = []
10423
10424 for (var i = 0; i < nTransactions; ++i) {
10425 var tx = readTransaction()
10426 block.transactions.push(tx)
10427 }
10428
10429 return block
10430}
10431
10432Block.fromHex = function (hex) {
10433 return Block.fromBuffer(new Buffer(hex, 'hex'))
10434}
10435
10436Block.prototype.getHash = function () {
10437 return crypto.hash256(this.toBuffer(true))
10438}
10439
10440Block.prototype.getId = function () {
10441 return bufferutils.reverse(this.getHash()).toString('hex')
ebd8d4e8
IC
10442}
10443
ab78acc6
IC
10444Block.prototype.getUTCDate = function () {
10445 var date = new Date(0) // epoch
10446 date.setUTCSeconds(this.timestamp)
ebd8d4e8 10447
ab78acc6
IC
10448 return date
10449}
ebd8d4e8 10450
ab78acc6
IC
10451Block.prototype.toBuffer = function (headersOnly) {
10452 var buffer = new Buffer(80)
ebd8d4e8 10453
ab78acc6
IC
10454 var offset = 0
10455 function writeSlice (slice) {
10456 slice.copy(buffer, offset)
10457 offset += slice.length
10458 }
ebd8d4e8 10459
ab78acc6
IC
10460 function writeUInt32 (i) {
10461 buffer.writeUInt32LE(i, offset)
10462 offset += 4
10463 }
ebd8d4e8 10464
ab78acc6
IC
10465 writeUInt32(this.version)
10466 writeSlice(this.prevHash)
10467 writeSlice(this.merkleRoot)
10468 writeUInt32(this.timestamp)
10469 writeUInt32(this.bits)
10470 writeUInt32(this.nonce)
ebd8d4e8 10471
ab78acc6 10472 if (headersOnly || !this.transactions) return buffer
ebd8d4e8 10473
ab78acc6
IC
10474 var txLenBuffer = bufferutils.varIntBuffer(this.transactions.length)
10475 var txBuffers = this.transactions.map(function (tx) {
10476 return tx.toBuffer()
10477 })
ebd8d4e8 10478
ab78acc6 10479 return Buffer.concat([buffer, txLenBuffer].concat(txBuffers))
ebd8d4e8
IC
10480}
10481
ab78acc6
IC
10482Block.prototype.toHex = function (headersOnly) {
10483 return this.toBuffer(headersOnly).toString('hex')
ebd8d4e8
IC
10484}
10485
ab78acc6
IC
10486module.exports = Block
10487
10488}).call(this,require("buffer").Buffer)
10489},{"./bufferutils":57,"./crypto":58,"./transaction":70,"assert":5,"buffer":7}],57:[function(require,module,exports){
10490(function (Buffer){
10491var assert = require('assert')
10492var opcodes = require('./opcodes')
ebd8d4e8
IC
10493
10494// https://github.com/feross/buffer/blob/master/index.js#L1127
ab78acc6 10495function verifuint (value, max) {
ebd8d4e8
IC
10496 assert(typeof value === 'number', 'cannot write a non-number as a number')
10497 assert(value >= 0, 'specified a negative value for writing an unsigned value')
10498 assert(value <= max, 'value is larger than maximum value for type')
10499 assert(Math.floor(value) === value, 'value has a fractional component')
10500}
10501
ab78acc6 10502function pushDataSize (i) {
ebd8d4e8 10503 return i < opcodes.OP_PUSHDATA1 ? 1
ab78acc6
IC
10504 : i < 0xff ? 2
10505 : i < 0xffff ? 3
10506 : 5
ebd8d4e8
IC
10507}
10508
ab78acc6 10509function readPushDataInt (buffer, offset) {
ebd8d4e8
IC
10510 var opcode = buffer.readUInt8(offset)
10511 var number, size
10512
10513 // ~6 bit
10514 if (opcode < opcodes.OP_PUSHDATA1) {
10515 number = opcode
10516 size = 1
10517
10518 // 8 bit
10519 } else if (opcode === opcodes.OP_PUSHDATA1) {
ab78acc6 10520 if (offset + 2 > buffer.length) return null
ebd8d4e8
IC
10521 number = buffer.readUInt8(offset + 1)
10522 size = 2
10523
10524 // 16 bit
10525 } else if (opcode === opcodes.OP_PUSHDATA2) {
ab78acc6 10526 if (offset + 3 > buffer.length) return null
ebd8d4e8
IC
10527 number = buffer.readUInt16LE(offset + 1)
10528 size = 3
10529
10530 // 32 bit
10531 } else {
ab78acc6 10532 if (offset + 5 > buffer.length) return null
ebd8d4e8
IC
10533 assert.equal(opcode, opcodes.OP_PUSHDATA4, 'Unexpected opcode')
10534
10535 number = buffer.readUInt32LE(offset + 1)
10536 size = 5
ebd8d4e8
IC
10537 }
10538
10539 return {
10540 opcode: opcode,
10541 number: number,
10542 size: size
10543 }
10544}
10545
ab78acc6 10546function readUInt64LE (buffer, offset) {
ebd8d4e8
IC
10547 var a = buffer.readUInt32LE(offset)
10548 var b = buffer.readUInt32LE(offset + 4)
10549 b *= 0x100000000
10550
10551 verifuint(b + a, 0x001fffffffffffff)
10552
10553 return b + a
10554}
10555
ab78acc6 10556function readVarInt (buffer, offset) {
ebd8d4e8
IC
10557 var t = buffer.readUInt8(offset)
10558 var number, size
10559
10560 // 8 bit
10561 if (t < 253) {
10562 number = t
10563 size = 1
10564
10565 // 16 bit
10566 } else if (t < 254) {
10567 number = buffer.readUInt16LE(offset + 1)
10568 size = 3
10569
10570 // 32 bit
10571 } else if (t < 255) {
10572 number = buffer.readUInt32LE(offset + 1)
10573 size = 5
10574
10575 // 64 bit
10576 } else {
10577 number = readUInt64LE(buffer, offset + 1)
10578 size = 9
10579 }
10580
10581 return {
10582 number: number,
10583 size: size
10584 }
10585}
10586
ab78acc6 10587function writePushDataInt (buffer, number, offset) {
ebd8d4e8
IC
10588 var size = pushDataSize(number)
10589
10590 // ~6 bit
10591 if (size === 1) {
10592 buffer.writeUInt8(number, offset)
10593
10594 // 8 bit
10595 } else if (size === 2) {
10596 buffer.writeUInt8(opcodes.OP_PUSHDATA1, offset)
10597 buffer.writeUInt8(number, offset + 1)
10598
10599 // 16 bit
10600 } else if (size === 3) {
10601 buffer.writeUInt8(opcodes.OP_PUSHDATA2, offset)
10602 buffer.writeUInt16LE(number, offset + 1)
10603
10604 // 32 bit
10605 } else {
10606 buffer.writeUInt8(opcodes.OP_PUSHDATA4, offset)
10607 buffer.writeUInt32LE(number, offset + 1)
ebd8d4e8
IC
10608 }
10609
10610 return size
10611}
10612
ab78acc6 10613function writeUInt64LE (buffer, value, offset) {
ebd8d4e8
IC
10614 verifuint(value, 0x001fffffffffffff)
10615
10616 buffer.writeInt32LE(value & -1, offset)
10617 buffer.writeUInt32LE(Math.floor(value / 0x100000000), offset + 4)
10618}
10619
ab78acc6
IC
10620function varIntSize (i) {
10621 return i < 253 ? 1
10622 : i < 0x10000 ? 3
10623 : i < 0x100000000 ? 5
10624 : 9
ebd8d4e8
IC
10625}
10626
ab78acc6 10627function writeVarInt (buffer, number, offset) {
ebd8d4e8
IC
10628 var size = varIntSize(number)
10629
10630 // 8 bit
10631 if (size === 1) {
10632 buffer.writeUInt8(number, offset)
10633
10634 // 16 bit
10635 } else if (size === 3) {
10636 buffer.writeUInt8(253, offset)
10637 buffer.writeUInt16LE(number, offset + 1)
10638
10639 // 32 bit
10640 } else if (size === 5) {
10641 buffer.writeUInt8(254, offset)
10642 buffer.writeUInt32LE(number, offset + 1)
10643
10644 // 64 bit
10645 } else {
10646 buffer.writeUInt8(255, offset)
10647 writeUInt64LE(buffer, number, offset + 1)
10648 }
10649
10650 return size
10651}
10652
ab78acc6
IC
10653function varIntBuffer (i) {
10654 var size = varIntSize(i)
10655 var buffer = new Buffer(size)
10656 writeVarInt(buffer, i, 0)
10657
10658 return buffer
10659}
10660
10661function reverse (buffer) {
10662 var buffer2 = new Buffer(buffer)
10663 Array.prototype.reverse.call(buffer2)
10664 return buffer2
10665}
10666
ebd8d4e8
IC
10667module.exports = {
10668 pushDataSize: pushDataSize,
10669 readPushDataInt: readPushDataInt,
10670 readUInt64LE: readUInt64LE,
10671 readVarInt: readVarInt,
ab78acc6
IC
10672 reverse: reverse,
10673 varIntBuffer: varIntBuffer,
ebd8d4e8
IC
10674 varIntSize: varIntSize,
10675 writePushDataInt: writePushDataInt,
10676 writeUInt64LE: writeUInt64LE,
10677 writeVarInt: writeVarInt
10678}
10679
ab78acc6
IC
10680}).call(this,require("buffer").Buffer)
10681},{"./opcodes":67,"assert":5,"buffer":7}],58:[function(require,module,exports){
10682var createHash = require('create-hash')
ebd8d4e8 10683
ab78acc6 10684function hash160 (buffer) {
ebd8d4e8
IC
10685 return ripemd160(sha256(buffer))
10686}
10687
ab78acc6 10688function hash256 (buffer) {
ebd8d4e8
IC
10689 return sha256(sha256(buffer))
10690}
10691
ab78acc6
IC
10692function ripemd160 (buffer) {
10693 return createHash('rmd160').update(buffer).digest()
ebd8d4e8
IC
10694}
10695
ab78acc6
IC
10696function sha1 (buffer) {
10697 return createHash('sha1').update(buffer).digest()
ebd8d4e8
IC
10698}
10699
ab78acc6
IC
10700function sha256 (buffer) {
10701 return createHash('sha256').update(buffer).digest()
ebd8d4e8
IC
10702}
10703
10704// FIXME: Name not consistent with others
ab78acc6 10705var createHmac = require('create-hmac')
ebd8d4e8 10706
ab78acc6
IC
10707function HmacSHA256 (buffer, secret) {
10708 console.warn('Hmac* functions are deprecated for removal in 2.0.0, use node crypto instead')
10709 return createHmac('sha256', secret).update(buffer).digest()
10710}
ebd8d4e8 10711
ab78acc6
IC
10712function HmacSHA512 (buffer, secret) {
10713 console.warn('Hmac* functions are deprecated for removal in 2.0.0, use node crypto instead')
10714 return createHmac('sha512', secret).update(buffer).digest()
ebd8d4e8
IC
10715}
10716
10717module.exports = {
10718 ripemd160: ripemd160,
10719 sha1: sha1,
10720 sha256: sha256,
10721 hash160: hash160,
10722 hash256: hash256,
10723 HmacSHA256: HmacSHA256,
10724 HmacSHA512: HmacSHA512
10725}
10726
ab78acc6 10727},{"create-hash":32,"create-hmac":45}],59:[function(require,module,exports){
ebd8d4e8 10728(function (Buffer){
ab78acc6
IC
10729var assert = require('assert')
10730var createHmac = require('create-hmac')
10731var typeForce = require('typeforce')
ebd8d4e8 10732
ab78acc6
IC
10733var BigInteger = require('bigi')
10734var ECSignature = require('./ecsignature')
10735
10736var ZERO = new Buffer([0])
10737var ONE = new Buffer([1])
ebd8d4e8
IC
10738
10739// https://tools.ietf.org/html/rfc6979#section-3.2
ab78acc6
IC
10740function deterministicGenerateK (curve, hash, d, checkSig) {
10741 typeForce('Buffer', hash)
10742 typeForce('BigInteger', d)
10743
10744 // FIXME: remove/uncomment for 2.0.0
10745 // typeForce('Function', checkSig)
10746
10747 if (typeof checkSig !== 'function') {
10748 console.warn('deterministicGenerateK requires a checkSig callback in 2.0.0, see #337 for more information')
10749
10750 checkSig = function (k) {
10751 var G = curve.G
10752 var n = curve.n
10753 var e = BigInteger.fromBuffer(hash)
10754
10755 var Q = G.multiply(k)
10756
10757 if (curve.isInfinity(Q))
10758 return false
10759
10760 var r = Q.affineX.mod(n)
10761 if (r.signum() === 0)
10762 return false
10763
10764 var s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
10765 if (s.signum() === 0)
10766 return false
10767
10768 return true
10769 }
10770 }
10771
10772 // sanity check
ebd8d4e8 10773 assert.equal(hash.length, 32, 'Hash must be 256 bit')
ebd8d4e8
IC
10774
10775 var x = d.toBuffer(32)
10776 var k = new Buffer(32)
10777 var v = new Buffer(32)
10778
ab78acc6 10779 // Step A, ignored as hash already provided
ebd8d4e8
IC
10780 // Step B
10781 v.fill(1)
10782
10783 // Step C
10784 k.fill(0)
10785
10786 // Step D
ab78acc6
IC
10787 k = createHmac('sha256', k)
10788 .update(v)
10789 .update(ZERO)
10790 .update(x)
10791 .update(hash)
10792 .digest()
ebd8d4e8
IC
10793
10794 // Step E
ab78acc6 10795 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10796
10797 // Step F
ab78acc6
IC
10798 k = createHmac('sha256', k)
10799 .update(v)
10800 .update(ONE)
10801 .update(x)
10802 .update(hash)
10803 .digest()
ebd8d4e8
IC
10804
10805 // Step G
ab78acc6 10806 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10807
10808 // Step H1/H2a, ignored as tlen === qlen (256 bit)
10809 // Step H2b
ab78acc6 10810 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10811
10812 var T = BigInteger.fromBuffer(v)
10813
ab78acc6
IC
10814 // Step H3, repeat until T is within the interval [1, n - 1] and is suitable for ECDSA
10815 while ((T.signum() <= 0) || (T.compareTo(curve.n) >= 0) || !checkSig(T)) {
10816 k = createHmac('sha256', k)
10817 .update(v)
10818 .update(ZERO)
10819 .digest()
10820
10821 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8 10822
ab78acc6
IC
10823 // Step H1/H2a, again, ignored as tlen === qlen (256 bit)
10824 // Step H2b again
10825 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10826 T = BigInteger.fromBuffer(v)
10827 }
10828
10829 return T
10830}
10831
ab78acc6
IC
10832function sign (curve, hash, d) {
10833 var r, s
ebd8d4e8 10834
ab78acc6 10835 var e = BigInteger.fromBuffer(hash)
ebd8d4e8
IC
10836 var n = curve.n
10837 var G = curve.G
ebd8d4e8 10838
ab78acc6
IC
10839 deterministicGenerateK(curve, hash, d, function (k) {
10840 var Q = G.multiply(k)
10841
10842 if (curve.isInfinity(Q))
10843 return false
10844
10845 r = Q.affineX.mod(n)
10846 if (r.signum() === 0)
10847 return false
10848
10849 s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
10850 if (s.signum() === 0)
10851 return false
ebd8d4e8 10852
ab78acc6
IC
10853 return true
10854 })
ebd8d4e8
IC
10855
10856 var N_OVER_TWO = n.shiftRight(1)
10857
10858 // enforce low S values, see bip62: 'low s values in signatures'
10859 if (s.compareTo(N_OVER_TWO) > 0) {
10860 s = n.subtract(s)
10861 }
10862
10863 return new ECSignature(r, s)
10864}
10865
ab78acc6 10866function verifyRaw (curve, e, signature, Q) {
ebd8d4e8
IC
10867 var n = curve.n
10868 var G = curve.G
10869
10870 var r = signature.r
10871 var s = signature.s
10872
ab78acc6
IC
10873 // 1.4.1 Enforce r and s are both integers in the interval [1, n − 1]
10874 if (r.signum() <= 0 || r.compareTo(n) >= 0) return false
10875 if (s.signum() <= 0 || s.compareTo(n) >= 0) return false
ebd8d4e8 10876
ab78acc6 10877 // c = s^-1 mod n
ebd8d4e8
IC
10878 var c = s.modInverse(n)
10879
ab78acc6
IC
10880 // 1.4.4 Compute u1 = es^−1 mod n
10881 // u2 = rs^−1 mod n
ebd8d4e8
IC
10882 var u1 = e.multiply(c).mod(n)
10883 var u2 = r.multiply(c).mod(n)
10884
ab78acc6
IC
10885 // 1.4.5 Compute R = (xR, yR) = u1G + u2Q
10886 var R = G.multiplyTwo(u1, Q, u2)
10887 var v = R.affineX.mod(n)
ebd8d4e8 10888
ab78acc6
IC
10889 // 1.4.5 (cont.) Enforce R is not at infinity
10890 if (curve.isInfinity(R)) return false
10891
10892 // 1.4.8 If v = r, output "valid", and if v != r, output "invalid"
ebd8d4e8
IC
10893 return v.equals(r)
10894}
10895
ab78acc6
IC
10896function verify (curve, hash, signature, Q) {
10897 // 1.4.2 H = Hash(M), already done by the user
10898 // 1.4.3 e = H
10899 var e = BigInteger.fromBuffer(hash)
10900
10901 return verifyRaw(curve, e, signature, Q)
10902}
10903
ebd8d4e8
IC
10904/**
10905 * Recover a public key from a signature.
10906 *
10907 * See SEC 1: Elliptic Curve Cryptography, section 4.1.6, "Public
10908 * Key Recovery Operation".
10909 *
10910 * http://www.secg.org/download/aid-780/sec1-v2.pdf
10911 */
ab78acc6 10912function recoverPubKey (curve, e, signature, i) {
ebd8d4e8
IC
10913 assert.strictEqual(i & 3, i, 'Recovery param is more than two bits')
10914
ab78acc6
IC
10915 var n = curve.n
10916 var G = curve.G
10917
ebd8d4e8
IC
10918 var r = signature.r
10919 var s = signature.s
10920
ab78acc6
IC
10921 assert(r.signum() > 0 && r.compareTo(n) < 0, 'Invalid r value')
10922 assert(s.signum() > 0 && s.compareTo(n) < 0, 'Invalid s value')
10923
ebd8d4e8
IC
10924 // A set LSB signifies that the y-coordinate is odd
10925 var isYOdd = i & 1
10926
10927 // The more significant bit specifies whether we should use the
10928 // first or second candidate key.
10929 var isSecondKey = i >> 1
10930
ebd8d4e8
IC
10931 // 1.1 Let x = r + jn
10932 var x = isSecondKey ? r.add(n) : r
10933 var R = curve.pointFromX(isYOdd, x)
10934
10935 // 1.4 Check that nR is at infinity
10936 var nR = R.multiply(n)
10937 assert(curve.isInfinity(nR), 'nR is not a valid curve point')
10938
10939 // Compute -e from e
10940 var eNeg = e.negate().mod(n)
10941
10942 // 1.6.1 Compute Q = r^-1 (sR - eG)
10943 // Q = r^-1 (sR + -eG)
10944 var rInv = r.modInverse(n)
10945
10946 var Q = R.multiplyTwo(s, G, eNeg).multiply(rInv)
10947 curve.validate(Q)
10948
10949 return Q
10950}
10951
10952/**
10953 * Calculate pubkey extraction parameter.
10954 *
10955 * When extracting a pubkey from a signature, we have to
10956 * distinguish four different cases. Rather than putting this
10957 * burden on the verifier, Bitcoin includes a 2-bit value with the
10958 * signature.
10959 *
10960 * This function simply tries all four cases and returns the value
10961 * that resulted in a successful pubkey recovery.
10962 */
ab78acc6 10963function calcPubKeyRecoveryParam (curve, e, signature, Q) {
ebd8d4e8
IC
10964 for (var i = 0; i < 4; i++) {
10965 var Qprime = recoverPubKey(curve, e, signature, i)
10966
10967 // 1.6.2 Verify Q
10968 if (Qprime.equals(Q)) {
10969 return i
10970 }
10971 }
10972
10973 throw new Error('Unable to find valid recovery factor')
10974}
10975
10976module.exports = {
10977 calcPubKeyRecoveryParam: calcPubKeyRecoveryParam,
10978 deterministicGenerateK: deterministicGenerateK,
10979 recoverPubKey: recoverPubKey,
10980 sign: sign,
10981 verify: verify,
10982 verifyRaw: verifyRaw
10983}
10984
ab78acc6
IC
10985}).call(this,require("buffer").Buffer)
10986},{"./ecsignature":62,"assert":5,"bigi":3,"buffer":7,"create-hmac":45,"typeforce":53}],60:[function(require,module,exports){
ebd8d4e8 10987(function (Buffer){
ab78acc6
IC
10988var assert = require('assert')
10989var base58check = require('bs58check')
10990var ecdsa = require('./ecdsa')
10991var networks = require('./networks')
10992var randomBytes = require('randombytes')
10993var typeForce = require('typeforce')
ebd8d4e8 10994
ab78acc6
IC
10995var BigInteger = require('bigi')
10996var ECPubKey = require('./ecpubkey')
ebd8d4e8 10997
ab78acc6
IC
10998var ecurve = require('ecurve')
10999var secp256k1 = ecurve.getCurveByName('secp256k1')
ebd8d4e8 11000
ab78acc6 11001function ECKey (d, compressed) {
ebd8d4e8 11002 assert(d.signum() > 0, 'Private key must be greater than 0')
ab78acc6 11003 assert(d.compareTo(ECKey.curve.n) < 0, 'Private key must be less than the curve order')
ebd8d4e8 11004
ab78acc6 11005 var Q = ECKey.curve.G.multiply(d)
ebd8d4e8
IC
11006
11007 this.d = d
11008 this.pub = new ECPubKey(Q, compressed)
11009}
11010
ab78acc6
IC
11011// Constants
11012ECKey.curve = secp256k1
11013
ebd8d4e8 11014// Static constructors
ab78acc6 11015ECKey.fromWIF = function (string) {
ebd8d4e8
IC
11016 var payload = base58check.decode(string)
11017 var compressed = false
11018
11019 // Ignore the version byte
11020 payload = payload.slice(1)
11021
11022 if (payload.length === 33) {
11023 assert.strictEqual(payload[32], 0x01, 'Invalid compression flag')
11024
11025 // Truncate the compression flag
11026 payload = payload.slice(0, -1)
11027 compressed = true
11028 }
11029
11030 assert.equal(payload.length, 32, 'Invalid WIF payload length')
11031
11032 var d = BigInteger.fromBuffer(payload)
11033 return new ECKey(d, compressed)
11034}
11035
ab78acc6
IC
11036ECKey.makeRandom = function (compressed, rng) {
11037 rng = rng || randomBytes
ebd8d4e8
IC
11038
11039 var buffer = rng(32)
ab78acc6
IC
11040 typeForce('Buffer', buffer)
11041 assert.equal(buffer.length, 32, 'Expected 256-bit Buffer from RNG')
ebd8d4e8
IC
11042
11043 var d = BigInteger.fromBuffer(buffer)
ab78acc6 11044 d = d.mod(ECKey.curve.n)
ebd8d4e8
IC
11045
11046 return new ECKey(d, compressed)
11047}
11048
11049// Export functions
ab78acc6 11050ECKey.prototype.toWIF = function (network) {
ebd8d4e8
IC
11051 network = network || networks.bitcoin
11052
11053 var bufferLen = this.pub.compressed ? 34 : 33
11054 var buffer = new Buffer(bufferLen)
11055
11056 buffer.writeUInt8(network.wif, 0)
11057 this.d.toBuffer(32).copy(buffer, 1)
11058
11059 if (this.pub.compressed) {
11060 buffer.writeUInt8(0x01, 33)
11061 }
11062
11063 return base58check.encode(buffer)
11064}
11065
11066// Operations
ab78acc6
IC
11067ECKey.prototype.sign = function (hash) {
11068 return ecdsa.sign(ECKey.curve, hash, this.d)
ebd8d4e8
IC
11069}
11070
11071module.exports = ECKey
11072
ab78acc6
IC
11073}).call(this,require("buffer").Buffer)
11074},{"./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 11075(function (Buffer){
ab78acc6
IC
11076var crypto = require('./crypto')
11077var ecdsa = require('./ecdsa')
11078var typeForce = require('typeforce')
11079var networks = require('./networks')
ebd8d4e8 11080
ab78acc6 11081var Address = require('./address')
ebd8d4e8 11082
ab78acc6
IC
11083var ecurve = require('ecurve')
11084var secp256k1 = ecurve.getCurveByName('secp256k1')
ebd8d4e8 11085
ab78acc6
IC
11086function ECPubKey (Q, compressed) {
11087 if (compressed === undefined) {
11088 compressed = true
11089 }
ebd8d4e8 11090
ab78acc6
IC
11091 typeForce('Point', Q)
11092 typeForce('Boolean', compressed)
ebd8d4e8
IC
11093
11094 this.compressed = compressed
11095 this.Q = Q
11096}
11097
ab78acc6
IC
11098// Constants
11099ECPubKey.curve = secp256k1
11100
ebd8d4e8 11101// Static constructors
ab78acc6
IC
11102ECPubKey.fromBuffer = function (buffer) {
11103 var Q = ecurve.Point.decodeFrom(ECPubKey.curve, buffer)
ebd8d4e8
IC
11104 return new ECPubKey(Q, Q.compressed)
11105}
11106
ab78acc6 11107ECPubKey.fromHex = function (hex) {
ebd8d4e8
IC
11108 return ECPubKey.fromBuffer(new Buffer(hex, 'hex'))
11109}
11110
11111// Operations
ab78acc6 11112ECPubKey.prototype.getAddress = function (network) {
ebd8d4e8
IC
11113 network = network || networks.bitcoin
11114
11115 return new Address(crypto.hash160(this.toBuffer()), network.pubKeyHash)
11116}
11117
ab78acc6
IC
11118ECPubKey.prototype.verify = function (hash, signature) {
11119 return ecdsa.verify(ECPubKey.curve, hash, signature, this.Q)
ebd8d4e8
IC
11120}
11121
11122// Export functions
ab78acc6 11123ECPubKey.prototype.toBuffer = function () {
ebd8d4e8
IC
11124 return this.Q.getEncoded(this.compressed)
11125}
11126
ab78acc6 11127ECPubKey.prototype.toHex = function () {
ebd8d4e8
IC
11128 return this.toBuffer().toString('hex')
11129}
11130
11131module.exports = ECPubKey
11132
ab78acc6
IC
11133}).call(this,require("buffer").Buffer)
11134},{"./address":54,"./crypto":58,"./ecdsa":59,"./networks":66,"buffer":7,"ecurve":49,"typeforce":53}],62:[function(require,module,exports){
ebd8d4e8 11135(function (Buffer){
ab78acc6
IC
11136var assert = require('assert')
11137var typeForce = require('typeforce')
11138
11139var BigInteger = require('bigi')
11140
11141function ECSignature (r, s) {
11142 typeForce('BigInteger', r)
11143 typeForce('BigInteger', s)
ebd8d4e8 11144
ebd8d4e8
IC
11145 this.r = r
11146 this.s = s
11147}
11148
ab78acc6 11149ECSignature.parseCompact = function (buffer) {
ebd8d4e8
IC
11150 assert.equal(buffer.length, 65, 'Invalid signature length')
11151 var i = buffer.readUInt8(0) - 27
11152
11153 // At most 3 bits
11154 assert.equal(i, i & 7, 'Invalid signature parameter')
11155 var compressed = !!(i & 4)
11156
11157 // Recovery param only
11158 i = i & 3
11159
11160 var r = BigInteger.fromBuffer(buffer.slice(1, 33))
11161 var s = BigInteger.fromBuffer(buffer.slice(33))
11162
11163 return {
11164 compressed: compressed,
11165 i: i,
11166 signature: new ECSignature(r, s)
11167 }
11168}
11169
ab78acc6 11170ECSignature.fromDER = function (buffer) {
ebd8d4e8
IC
11171 assert.equal(buffer.readUInt8(0), 0x30, 'Not a DER sequence')
11172 assert.equal(buffer.readUInt8(1), buffer.length - 2, 'Invalid sequence length')
11173 assert.equal(buffer.readUInt8(2), 0x02, 'Expected a DER integer')
11174
11175 var rLen = buffer.readUInt8(3)
11176 assert(rLen > 0, 'R length is zero')
11177
11178 var offset = 4 + rLen
11179 assert.equal(buffer.readUInt8(offset), 0x02, 'Expected a DER integer (2)')
11180
11181 var sLen = buffer.readUInt8(offset + 1)
11182 assert(sLen > 0, 'S length is zero')
11183
11184 var rB = buffer.slice(4, offset)
11185 var sB = buffer.slice(offset + 2)
11186 offset += 2 + sLen
11187
11188 if (rLen > 1 && rB.readUInt8(0) === 0x00) {
11189 assert(rB.readUInt8(1) & 0x80, 'R value excessively padded')
11190 }
11191
11192 if (sLen > 1 && sB.readUInt8(0) === 0x00) {
11193 assert(sB.readUInt8(1) & 0x80, 'S value excessively padded')
11194 }
11195
11196 assert.equal(offset, buffer.length, 'Invalid DER encoding')
11197 var r = BigInteger.fromDERInteger(rB)
11198 var s = BigInteger.fromDERInteger(sB)
11199
11200 assert(r.signum() >= 0, 'R value is negative')
11201 assert(s.signum() >= 0, 'S value is negative')
11202
11203 return new ECSignature(r, s)
11204}
11205
ab78acc6
IC
11206// BIP62: 1 byte hashType flag (only 0x01, 0x02, 0x03, 0x81, 0x82 and 0x83 are allowed)
11207ECSignature.parseScriptSignature = function (buffer) {
ebd8d4e8
IC
11208 var hashType = buffer.readUInt8(buffer.length - 1)
11209 var hashTypeMod = hashType & ~0x80
11210
ab78acc6 11211 assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType ' + hashType)
ebd8d4e8
IC
11212
11213 return {
11214 signature: ECSignature.fromDER(buffer.slice(0, -1)),
11215 hashType: hashType
11216 }
11217}
11218
ab78acc6
IC
11219ECSignature.prototype.toCompact = function (i, compressed) {
11220 if (compressed) {
11221 i += 4
11222 }
11223
ebd8d4e8
IC
11224 i += 27
11225
11226 var buffer = new Buffer(65)
11227 buffer.writeUInt8(i, 0)
11228
11229 this.r.toBuffer(32).copy(buffer, 1)
11230 this.s.toBuffer(32).copy(buffer, 33)
11231
11232 return buffer
11233}
11234
ab78acc6 11235ECSignature.prototype.toDER = function () {
ebd8d4e8
IC
11236 var rBa = this.r.toDERInteger()
11237 var sBa = this.s.toDERInteger()
11238
11239 var sequence = []
ab78acc6
IC
11240
11241 // INTEGER
11242 sequence.push(0x02, rBa.length)
ebd8d4e8
IC
11243 sequence = sequence.concat(rBa)
11244
ab78acc6
IC
11245 // INTEGER
11246 sequence.push(0x02, sBa.length)
ebd8d4e8
IC
11247 sequence = sequence.concat(sBa)
11248
ab78acc6
IC
11249 // SEQUENCE
11250 sequence.unshift(0x30, sequence.length)
ebd8d4e8
IC
11251
11252 return new Buffer(sequence)
11253}
11254
ab78acc6
IC
11255ECSignature.prototype.toScriptSignature = function (hashType) {
11256 var hashTypeMod = hashType & ~0x80
11257 assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType ' + hashType)
11258
ebd8d4e8
IC
11259 var hashTypeBuffer = new Buffer(1)
11260 hashTypeBuffer.writeUInt8(hashType, 0)
11261
11262 return Buffer.concat([this.toDER(), hashTypeBuffer])
11263}
11264
11265module.exports = ECSignature
11266
ab78acc6
IC
11267}).call(this,require("buffer").Buffer)
11268},{"assert":5,"bigi":3,"buffer":7,"typeforce":53}],63:[function(require,module,exports){
ebd8d4e8 11269(function (Buffer){
ab78acc6
IC
11270var assert = require('assert')
11271var base58check = require('bs58check')
11272var bcrypto = require('./crypto')
11273var createHmac = require('create-hmac')
11274var typeForce = require('typeforce')
11275var networks = require('./networks')
11276
11277var BigInteger = require('bigi')
11278var ECKey = require('./eckey')
11279var ECPubKey = require('./ecpubkey')
11280
11281var ecurve = require('ecurve')
ebd8d4e8
IC
11282var curve = ecurve.getCurveByName('secp256k1')
11283
ab78acc6 11284function findBIP32NetworkByVersion (version) {
ebd8d4e8
IC
11285 for (var name in networks) {
11286 var network = networks[name]
11287
ab78acc6
IC
11288 if (version === network.bip32.private || version === network.bip32.public) {
11289 return network
ebd8d4e8
IC
11290 }
11291 }
11292
ab78acc6 11293 assert(false, 'Could not find network for ' + version.toString(16))
ebd8d4e8
IC
11294}
11295
ab78acc6 11296function HDNode (K, chainCode, network) {
ebd8d4e8
IC
11297 network = network || networks.bitcoin
11298
ab78acc6
IC
11299 typeForce('Buffer', chainCode)
11300
11301 assert.equal(chainCode.length, 32, 'Expected chainCode length of 32, got ' + chainCode.length)
ebd8d4e8
IC
11302 assert(network.bip32, 'Unknown BIP32 constants for network')
11303
11304 this.chainCode = chainCode
11305 this.depth = 0
11306 this.index = 0
ab78acc6 11307 this.parentFingerprint = 0x00000000
ebd8d4e8
IC
11308 this.network = network
11309
11310 if (K instanceof BigInteger) {
11311 this.privKey = new ECKey(K, true)
11312 this.pubKey = this.privKey.pub
ab78acc6
IC
11313 } else if (K instanceof ECKey) {
11314 assert(K.pub.compressed, 'ECKey must be compressed')
11315 this.privKey = K
11316 this.pubKey = K.pub
11317 } else if (K instanceof ECPubKey) {
11318 assert(K.compressed, 'ECPubKey must be compressed')
11319 this.pubKey = K
ebd8d4e8
IC
11320 } else {
11321 this.pubKey = new ECPubKey(K, true)
11322 }
11323}
11324
11325HDNode.MASTER_SECRET = new Buffer('Bitcoin seed')
11326HDNode.HIGHEST_BIT = 0x80000000
11327HDNode.LENGTH = 78
11328
ab78acc6
IC
11329HDNode.fromSeedBuffer = function (seed, network) {
11330 typeForce('Buffer', seed)
11331
11332 assert(seed.length >= 16, 'Seed should be at least 128 bits')
11333 assert(seed.length <= 64, 'Seed should be at most 512 bits')
11334
11335 var I = createHmac('sha512', HDNode.MASTER_SECRET).update(seed).digest()
ebd8d4e8
IC
11336 var IL = I.slice(0, 32)
11337 var IR = I.slice(32)
11338
11339 // In case IL is 0 or >= n, the master key is invalid
11340 // This is handled by `new ECKey` in the HDNode constructor
11341 var pIL = BigInteger.fromBuffer(IL)
11342
11343 return new HDNode(pIL, IR, network)
11344}
11345
ab78acc6 11346HDNode.fromSeedHex = function (hex, network) {
ebd8d4e8
IC
11347 return HDNode.fromSeedBuffer(new Buffer(hex, 'hex'), network)
11348}
11349
ab78acc6
IC
11350HDNode.fromBase58 = function (string, network) {
11351 return HDNode.fromBuffer(base58check.decode(string), network, true)
ebd8d4e8
IC
11352}
11353
ab78acc6
IC
11354// FIXME: remove in 2.x.y
11355HDNode.fromBuffer = function (buffer, network, __ignoreDeprecation) {
11356 if (!__ignoreDeprecation) {
11357 console.warn('HDNode.fromBuffer() is deprecated for removal in 2.x.y, use fromBase58 instead')
11358 }
11359
ebd8d4e8
IC
11360 assert.strictEqual(buffer.length, HDNode.LENGTH, 'Invalid buffer length')
11361
11362 // 4 byte: version bytes
11363 var version = buffer.readUInt32BE(0)
ab78acc6
IC
11364
11365 if (network) {
11366 assert(version === network.bip32.private || version === network.bip32.public, "Network doesn't match")
11367
11368 // auto-detect
11369 } else {
11370 network = findBIP32NetworkByVersion(version)
11371 }
ebd8d4e8
IC
11372
11373 // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ...
11374 var depth = buffer.readUInt8(4)
11375
11376 // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
11377 var parentFingerprint = buffer.readUInt32BE(5)
11378 if (depth === 0) {
11379 assert.strictEqual(parentFingerprint, 0x00000000, 'Invalid parent fingerprint')
11380 }
11381
11382 // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
11383 // This is encoded in MSB order. (0x00000000 if master key)
11384 var index = buffer.readUInt32BE(9)
11385 assert(depth > 0 || index === 0, 'Invalid index')
11386
11387 // 32 bytes: the chain code
11388 var chainCode = buffer.slice(13, 45)
ab78acc6 11389 var data, hd
ebd8d4e8
IC
11390
11391 // 33 bytes: private key data (0x00 + k)
ab78acc6 11392 if (version === network.bip32.private) {
ebd8d4e8 11393 assert.strictEqual(buffer.readUInt8(45), 0x00, 'Invalid private key')
ab78acc6 11394 data = buffer.slice(46, 78)
ebd8d4e8 11395 var d = BigInteger.fromBuffer(data)
ab78acc6 11396 hd = new HDNode(d, chainCode, network)
ebd8d4e8
IC
11397
11398 // 33 bytes: public key data (0x02 + X or 0x03 + X)
11399 } else {
ab78acc6 11400 data = buffer.slice(45, 78)
ebd8d4e8
IC
11401 var Q = ecurve.Point.decodeFrom(curve, data)
11402 assert.equal(Q.compressed, true, 'Invalid public key')
11403
11404 // Verify that the X coordinate in the public point corresponds to a point on the curve.
11405 // If not, the extended public key is invalid.
11406 curve.validate(Q)
11407
ab78acc6 11408 hd = new HDNode(Q, chainCode, network)
ebd8d4e8
IC
11409 }
11410
11411 hd.depth = depth
11412 hd.index = index
11413 hd.parentFingerprint = parentFingerprint
11414
11415 return hd
11416}
11417
ab78acc6
IC
11418// FIXME: remove in 2.x.y
11419HDNode.fromHex = function (hex, network) {
11420 return HDNode.fromBuffer(new Buffer(hex, 'hex'), network)
ebd8d4e8
IC
11421}
11422
ab78acc6
IC
11423HDNode.prototype.getIdentifier = function () {
11424 return bcrypto.hash160(this.pubKey.toBuffer())
ebd8d4e8
IC
11425}
11426
ab78acc6 11427HDNode.prototype.getFingerprint = function () {
ebd8d4e8
IC
11428 return this.getIdentifier().slice(0, 4)
11429}
11430
ab78acc6 11431HDNode.prototype.getAddress = function () {
ebd8d4e8
IC
11432 return this.pubKey.getAddress(this.network)
11433}
11434
ab78acc6
IC
11435HDNode.prototype.neutered = function () {
11436 var neutered = new HDNode(this.pubKey.Q, this.chainCode, this.network)
11437 neutered.depth = this.depth
11438 neutered.index = this.index
11439 neutered.parentFingerprint = this.parentFingerprint
11440
11441 return neutered
11442}
11443
11444HDNode.prototype.toBase58 = function (isPrivate) {
11445 return base58check.encode(this.toBuffer(isPrivate, true))
ebd8d4e8
IC
11446}
11447
ab78acc6
IC
11448// FIXME: remove in 2.x.y
11449HDNode.prototype.toBuffer = function (isPrivate, __ignoreDeprecation) {
11450 if (isPrivate === undefined) {
11451 isPrivate = !!this.privKey
11452
11453 // FIXME: remove in 2.x.y
11454 } else {
11455 console.warn('isPrivate flag is deprecated, please use the .neutered() method instead')
11456 }
11457
11458 if (!__ignoreDeprecation) {
11459 console.warn('HDNode.toBuffer() is deprecated for removal in 2.x.y, use toBase58 instead')
11460 }
ebd8d4e8
IC
11461
11462 // Version
11463 var version = isPrivate ? this.network.bip32.private : this.network.bip32.public
11464 var buffer = new Buffer(HDNode.LENGTH)
11465
11466 // 4 bytes: version bytes
11467 buffer.writeUInt32BE(version, 0)
11468
11469 // Depth
11470 // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ....
11471 buffer.writeUInt8(this.depth, 4)
11472
11473 // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
ab78acc6 11474 buffer.writeUInt32BE(this.parentFingerprint, 5)
ebd8d4e8
IC
11475
11476 // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
11477 // This is encoded in Big endian. (0x00000000 if master key)
11478 buffer.writeUInt32BE(this.index, 9)
11479
11480 // 32 bytes: the chain code
11481 this.chainCode.copy(buffer, 13)
11482
11483 // 33 bytes: the public key or private key data
11484 if (isPrivate) {
ab78acc6 11485 // FIXME: remove in 2.x.y
ebd8d4e8
IC
11486 assert(this.privKey, 'Missing private key')
11487
11488 // 0x00 + k for private keys
11489 buffer.writeUInt8(0, 45)
11490 this.privKey.d.toBuffer(32).copy(buffer, 46)
11491 } else {
ebd8d4e8
IC
11492 // X9.62 encoding for public keys
11493 this.pubKey.toBuffer().copy(buffer, 45)
11494 }
11495
11496 return buffer
11497}
11498
ab78acc6
IC
11499// FIXME: remove in 2.x.y
11500HDNode.prototype.toHex = function (isPrivate) {
ebd8d4e8
IC
11501 return this.toBuffer(isPrivate).toString('hex')
11502}
11503
11504// https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#child-key-derivation-ckd-functions
ab78acc6 11505HDNode.prototype.derive = function (index) {
ebd8d4e8
IC
11506 var isHardened = index >= HDNode.HIGHEST_BIT
11507 var indexBuffer = new Buffer(4)
11508 indexBuffer.writeUInt32BE(index, 0)
11509
11510 var data
11511
11512 // Hardened child
11513 if (isHardened) {
11514 assert(this.privKey, 'Could not derive hardened child key')
11515
11516 // data = 0x00 || ser256(kpar) || ser32(index)
11517 data = Buffer.concat([
11518 this.privKey.d.toBuffer(33),
11519 indexBuffer
11520 ])
11521
11522 // Normal child
11523 } else {
11524 // data = serP(point(kpar)) || ser32(index)
11525 // = serP(Kpar) || ser32(index)
11526 data = Buffer.concat([
11527 this.pubKey.toBuffer(),
11528 indexBuffer
11529 ])
11530 }
11531
ab78acc6 11532 var I = createHmac('sha512', this.chainCode).update(data).digest()
ebd8d4e8
IC
11533 var IL = I.slice(0, 32)
11534 var IR = I.slice(32)
11535
11536 var pIL = BigInteger.fromBuffer(IL)
11537
11538 // In case parse256(IL) >= n, proceed with the next value for i
11539 if (pIL.compareTo(curve.n) >= 0) {
11540 return this.derive(index + 1)
11541 }
11542
11543 // Private parent key -> private child key
11544 var hd
11545 if (this.privKey) {
11546 // ki = parse256(IL) + kpar (mod n)
11547 var ki = pIL.add(this.privKey.d).mod(curve.n)
11548
11549 // In case ki == 0, proceed with the next value for i
11550 if (ki.signum() === 0) {
11551 return this.derive(index + 1)
11552 }
11553
11554 hd = new HDNode(ki, IR, this.network)
11555
11556 // Public parent key -> public child key
11557 } else {
11558 // Ki = point(parse256(IL)) + Kpar
11559 // = G*IL + Kpar
11560 var Ki = curve.G.multiply(pIL).add(this.pubKey.Q)
11561
11562 // In case Ki is the point at infinity, proceed with the next value for i
11563 if (curve.isInfinity(Ki)) {
11564 return this.derive(index + 1)
11565 }
11566
11567 hd = new HDNode(Ki, IR, this.network)
11568 }
11569
11570 hd.depth = this.depth + 1
11571 hd.index = index
11572 hd.parentFingerprint = this.getFingerprint().readUInt32BE(0)
11573
11574 return hd
11575}
11576
ab78acc6 11577HDNode.prototype.deriveHardened = function (index) {
ebd8d4e8
IC
11578 // Only derives hardened private keys by default
11579 return this.derive(index + HDNode.HIGHEST_BIT)
11580}
11581
11582HDNode.prototype.toString = HDNode.prototype.toBase58
11583
11584module.exports = HDNode
11585
ab78acc6
IC
11586}).call(this,require("buffer").Buffer)
11587},{"./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 11588module.exports = {
ab78acc6
IC
11589 Address: require('./address'),
11590 base58check: require('./base58check'),
11591 Block: require('./block'),
11592 bufferutils: require('./bufferutils'),
11593 crypto: require('./crypto'),
11594 ecdsa: require('./ecdsa'),
11595 ECKey: require('./eckey'),
11596 ECPubKey: require('./ecpubkey'),
11597 ECSignature: require('./ecsignature'),
11598 Message: require('./message'),
11599 opcodes: require('./opcodes'),
11600 HDNode: require('./hdnode'),
11601 Script: require('./script'),
11602 scripts: require('./scripts'),
11603 Transaction: require('./transaction'),
11604 TransactionBuilder: require('./transaction_builder'),
11605 networks: require('./networks'),
11606 Wallet: require('./wallet')
11607}
11608
11609},{"./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 11610(function (Buffer){
ab78acc6
IC
11611var bufferutils = require('./bufferutils')
11612var crypto = require('./crypto')
11613var ecdsa = require('./ecdsa')
11614var networks = require('./networks')
11615
11616var BigInteger = require('bigi')
11617var ECPubKey = require('./ecpubkey')
11618var ECSignature = require('./ecsignature')
11619
11620var ecurve = require('ecurve')
ebd8d4e8
IC
11621var ecparams = ecurve.getCurveByName('secp256k1')
11622
ab78acc6 11623function magicHash (message, network) {
ebd8d4e8
IC
11624 var magicPrefix = new Buffer(network.magicPrefix)
11625 var messageBuffer = new Buffer(message)
ab78acc6 11626 var lengthBuffer = bufferutils.varIntBuffer(messageBuffer.length)
ebd8d4e8
IC
11627
11628 var buffer = Buffer.concat([magicPrefix, lengthBuffer, messageBuffer])
11629 return crypto.hash256(buffer)
11630}
11631
ab78acc6 11632function sign (privKey, message, network) {
ebd8d4e8
IC
11633 network = network || networks.bitcoin
11634
11635 var hash = magicHash(message, network)
11636 var signature = privKey.sign(hash)
11637 var e = BigInteger.fromBuffer(hash)
11638 var i = ecdsa.calcPubKeyRecoveryParam(ecparams, e, signature, privKey.pub.Q)
11639
11640 return signature.toCompact(i, privKey.pub.compressed)
11641}
11642
11643// TODO: network could be implied from address
ab78acc6
IC
11644function verify (address, signature, message, network) {
11645 if (!Buffer.isBuffer(signature)) {
11646 signature = new Buffer(signature, 'base64')
ebd8d4e8 11647 }
ab78acc6 11648
ebd8d4e8
IC
11649 network = network || networks.bitcoin
11650
11651 var hash = magicHash(message, network)
ab78acc6 11652 var parsed = ECSignature.parseCompact(signature)
ebd8d4e8
IC
11653 var e = BigInteger.fromBuffer(hash)
11654 var Q = ecdsa.recoverPubKey(ecparams, e, parsed.signature, parsed.i)
11655
11656 var pubKey = new ECPubKey(Q, parsed.compressed)
ab78acc6 11657 return pubKey.getAddress(network).toString() === address.toString()
ebd8d4e8
IC
11658}
11659
11660module.exports = {
11661 magicHash: magicHash,
11662 sign: sign,
11663 verify: verify
11664}
11665
ab78acc6
IC
11666}).call(this,require("buffer").Buffer)
11667},{"./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
11668// https://en.bitcoin.it/wiki/List_of_address_prefixes
11669// Dogecoin BIP32 is a proposed standard: https://bitcointalk.org/index.php?topic=409731
11670
11671var networks = {
11672 bitcoin: {
11673 magicPrefix: '\x18Bitcoin Signed Message:\n',
11674 bip32: {
11675 public: 0x0488b21e,
11676 private: 0x0488ade4
11677 },
11678 pubKeyHash: 0x00,
11679 scriptHash: 0x05,
11680 wif: 0x80,
11681 dustThreshold: 546, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/core.h#L151-L162
11682 feePerKb: 10000, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/main.cpp#L53
11683 estimateFee: estimateFee('bitcoin')
a9385c1b 11684 },
ab78acc6
IC
11685 testnet: {
11686 magicPrefix: '\x18Bitcoin Signed Message:\n',
a9385c1b 11687 bip32: {
ab78acc6
IC
11688 public: 0x043587cf,
11689 private: 0x04358394
a9385c1b 11690 },
ab78acc6
IC
11691 pubKeyHash: 0x6f,
11692 scriptHash: 0xc4,
11693 wif: 0xef,
11694 dustThreshold: 546,
cb325c58 11695 feePerKb: 10000,
ab78acc6 11696 estimateFee: estimateFee('testnet')
a9385c1b 11697 },
ab78acc6
IC
11698 litecoin: {
11699 magicPrefix: '\x19Litecoin Signed Message:\n',
a9385c1b 11700 bip32: {
ab78acc6
IC
11701 public: 0x019da462,
11702 private: 0x019d9cfe
a9385c1b 11703 },
ab78acc6
IC
11704 pubKeyHash: 0x30,
11705 scriptHash: 0x05,
11706 wif: 0xb0,
11707 dustThreshold: 0, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L360-L365
11708 dustSoftThreshold: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.h#L53
11709 feePerKb: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L56
11710 estimateFee: estimateFee('litecoin')
ebd8d4e8
IC
11711 },
11712 dogecoin: {
11713 magicPrefix: '\x19Dogecoin Signed Message:\n',
11714 bip32: {
11715 public: 0x02facafd,
11716 private: 0x02fac398
11717 },
11718 pubKeyHash: 0x1e,
11719 scriptHash: 0x16,
11720 wif: 0x9e,
11721 dustThreshold: 0, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/core.h#L155-L160
11722 dustSoftThreshold: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.h#L62
11723 feePerKb: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.cpp#L58
11724 estimateFee: estimateFee('dogecoin')
11725 },
ab78acc6
IC
11726 viacoin: {
11727 magicPrefix: '\x18Viacoin Signed Message:\n',
ebd8d4e8 11728 bip32: {
ab78acc6
IC
11729 public: 0x0488b21e,
11730 private: 0x0488ade4
ebd8d4e8 11731 },
ab78acc6
IC
11732 pubKeyHash: 0x47,
11733 scriptHash: 0x21,
11734 wif: 0xc7,
11735 dustThreshold: 560,
11736 dustSoftThreshold: 100000,
11737 feePerKb: 100000, //
11738 estimateFee: estimateFee('viacoin')
ebd8d4e8 11739 },
ab78acc6
IC
11740 viacointestnet: {
11741 magicPrefix: '\x18Viacoin Signed Message:\n',
ebd8d4e8
IC
11742 bip32: {
11743 public: 0x043587cf,
11744 private: 0x04358394
11745 },
ab78acc6 11746 pubKeyHash: 0x7f,
ebd8d4e8 11747 scriptHash: 0xc4,
ab78acc6
IC
11748 wif: 0xff,
11749 dustThreshold: 560,
11750 dustSoftThreshold: 100000,
11751 feePerKb: 100000,
11752 estimateFee: estimateFee('viacointestnet')
11753 },
11754 gamerscoin: {
11755 magicPrefix: '\x19Gamerscoin Signed Message:\n',
11756 bip32: {
11757 public: 0x019da462,
11758 private: 0x019d9cfe
11759 },
11760 pubKeyHash: 0x26,
11761 scriptHash: 0x05,
11762 wif: 0xA6,
11763 dustThreshold: 0, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L358-L363
11764 dustSoftThreshold: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L51
11765 feePerKb: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L54
11766 estimateFee: estimateFee('gamerscoin')
11767 },
11768 jumbucks: {
11769 magicPrefix: '\x19Jumbucks Signed Message:\n',
11770 bip32: {
11771 public: 0x037a689a,
11772 private: 0x037a6460
11773 },
11774 pubKeyHash: 0x2b,
11775 scriptHash: 0x05,
11776 wif: 0xab,
11777 dustThreshold: 0,
11778 dustSoftThreshold: 10000,
ebd8d4e8 11779 feePerKb: 10000,
ab78acc6
IC
11780 estimateFee: estimateFee('jumbucks')
11781 },
11782 zetacoin: {
11783 magicPrefix: '\x18Zetacoin Signed Message:\n',
11784 bip32: {
11785 public: 0x0488b21e,
11786 private: 0x0488ade4
11787 },
11788 pubKeyHash: 0x50,
11789 scriptHash: 0x09,
11790 wif: 0xe0,
11791 dustThreshold: 546, // https://github.com/zetacoin/zetacoin/blob/master/src/core.h#L159
11792 feePerKb: 10000, // https://github.com/zetacoin/zetacoin/blob/master/src/main.cpp#L54
11793 estimateFee: estimateFee('zetacoin')
ebd8d4e8
IC
11794 }
11795}
11796
ab78acc6
IC
11797function estimateFee (type) {
11798 return function (tx) {
ebd8d4e8
IC
11799 var network = networks[type]
11800 var baseFee = network.feePerKb
11801 var byteSize = tx.toBuffer().length
11802
11803 var fee = baseFee * Math.ceil(byteSize / 1000)
ab78acc6 11804 if (network.dustSoftThreshold === undefined) return fee
ebd8d4e8 11805
ab78acc6 11806 tx.outs.forEach(function (e) {
ebd8d4e8
IC
11807 if (e.value < network.dustSoftThreshold) {
11808 fee += baseFee
11809 }
11810 })
11811
11812 return fee
11813 }
11814}
11815
11816module.exports = networks
11817
ab78acc6 11818},{}],67:[function(require,module,exports){
ebd8d4e8
IC
11819module.exports = {
11820 // push value
ab78acc6
IC
11821 OP_FALSE: 0,
11822 OP_0: 0,
11823 OP_PUSHDATA1: 76,
11824 OP_PUSHDATA2: 77,
11825 OP_PUSHDATA4: 78,
11826 OP_1NEGATE: 79,
11827 OP_RESERVED: 80,
11828 OP_1: 81,
11829 OP_TRUE: 81,
11830 OP_2: 82,
11831 OP_3: 83,
11832 OP_4: 84,
11833 OP_5: 85,
11834 OP_6: 86,
11835 OP_7: 87,
11836 OP_8: 88,
11837 OP_9: 89,
11838 OP_10: 90,
11839 OP_11: 91,
11840 OP_12: 92,
11841 OP_13: 93,
11842 OP_14: 94,
11843 OP_15: 95,
11844 OP_16: 96,
ebd8d4e8
IC
11845
11846 // control
ab78acc6
IC
11847 OP_NOP: 97,
11848 OP_VER: 98,
11849 OP_IF: 99,
11850 OP_NOTIF: 100,
11851 OP_VERIF: 101,
11852 OP_VERNOTIF: 102,
11853 OP_ELSE: 103,
11854 OP_ENDIF: 104,
11855 OP_VERIFY: 105,
11856 OP_RETURN: 106,
ebd8d4e8
IC
11857
11858 // stack ops
ab78acc6
IC
11859 OP_TOALTSTACK: 107,
11860 OP_FROMALTSTACK: 108,
11861 OP_2DROP: 109,
11862 OP_2DUP: 110,
11863 OP_3DUP: 111,
11864 OP_2OVER: 112,
11865 OP_2ROT: 113,
11866 OP_2SWAP: 114,
11867 OP_IFDUP: 115,
11868 OP_DEPTH: 116,
11869 OP_DROP: 117,
11870 OP_DUP: 118,
11871 OP_NIP: 119,
11872 OP_OVER: 120,
11873 OP_PICK: 121,
11874 OP_ROLL: 122,
11875 OP_ROT: 123,
11876 OP_SWAP: 124,
11877 OP_TUCK: 125,
ebd8d4e8
IC
11878
11879 // splice ops
ab78acc6
IC
11880 OP_CAT: 126,
11881 OP_SUBSTR: 127,
11882 OP_LEFT: 128,
11883 OP_RIGHT: 129,
11884 OP_SIZE: 130,
ebd8d4e8
IC
11885
11886 // bit logic
ab78acc6
IC
11887 OP_INVERT: 131,
11888 OP_AND: 132,
11889 OP_OR: 133,
11890 OP_XOR: 134,
11891 OP_EQUAL: 135,
11892 OP_EQUALVERIFY: 136,
11893 OP_RESERVED1: 137,
11894 OP_RESERVED2: 138,
ebd8d4e8
IC
11895
11896 // numeric
ab78acc6
IC
11897 OP_1ADD: 139,
11898 OP_1SUB: 140,
11899 OP_2MUL: 141,
11900 OP_2DIV: 142,
11901 OP_NEGATE: 143,
11902 OP_ABS: 144,
11903 OP_NOT: 145,
11904 OP_0NOTEQUAL: 146,
11905
11906 OP_ADD: 147,
11907 OP_SUB: 148,
11908 OP_MUL: 149,
11909 OP_DIV: 150,
11910 OP_MOD: 151,
11911 OP_LSHIFT: 152,
11912 OP_RSHIFT: 153,
11913
11914 OP_BOOLAND: 154,
11915 OP_BOOLOR: 155,
11916 OP_NUMEQUAL: 156,
11917 OP_NUMEQUALVERIFY: 157,
11918 OP_NUMNOTEQUAL: 158,
11919 OP_LESSTHAN: 159,
11920 OP_GREATERTHAN: 160,
11921 OP_LESSTHANOREQUAL: 161,
11922 OP_GREATERTHANOREQUAL: 162,
11923 OP_MIN: 163,
11924 OP_MAX: 164,
11925
11926 OP_WITHIN: 165,
ebd8d4e8
IC
11927
11928 // crypto
ab78acc6
IC
11929 OP_RIPEMD160: 166,
11930 OP_SHA1: 167,
11931 OP_SHA256: 168,
11932 OP_HASH160: 169,
11933 OP_HASH256: 170,
11934 OP_CODESEPARATOR: 171,
11935 OP_CHECKSIG: 172,
11936 OP_CHECKSIGVERIFY: 173,
11937 OP_CHECKMULTISIG: 174,
11938 OP_CHECKMULTISIGVERIFY: 175,
ebd8d4e8
IC
11939
11940 // expansion
ab78acc6
IC
11941 OP_NOP1: 176,
11942 OP_NOP2: 177,
11943 OP_NOP3: 178,
11944 OP_NOP4: 179,
11945 OP_NOP5: 180,
11946 OP_NOP6: 181,
11947 OP_NOP7: 182,
11948 OP_NOP8: 183,
11949 OP_NOP9: 184,
11950 OP_NOP10: 185,
ebd8d4e8
IC
11951
11952 // template matching params
ab78acc6
IC
11953 OP_PUBKEYHASH: 253,
11954 OP_PUBKEY: 254,
11955 OP_INVALIDOPCODE: 255
ebd8d4e8
IC
11956}
11957
ab78acc6 11958},{}],68:[function(require,module,exports){
ebd8d4e8 11959(function (Buffer){
ab78acc6
IC
11960var assert = require('assert')
11961var bufferutils = require('./bufferutils')
11962var crypto = require('./crypto')
11963var typeForce = require('typeforce')
11964var opcodes = require('./opcodes')
ebd8d4e8 11965
ab78acc6
IC
11966function Script (buffer, chunks) {
11967 typeForce('Buffer', buffer)
11968 typeForce('Array', chunks)
ebd8d4e8
IC
11969
11970 this.buffer = buffer
11971 this.chunks = chunks
11972}
11973
ab78acc6 11974Script.fromASM = function (asm) {
ebd8d4e8 11975 var strChunks = asm.split(' ')
ab78acc6
IC
11976 var chunks = strChunks.map(function (strChunk) {
11977 // opcode
ebd8d4e8
IC
11978 if (strChunk in opcodes) {
11979 return opcodes[strChunk]
11980
ab78acc6 11981 // data chunk
ebd8d4e8
IC
11982 } else {
11983 return new Buffer(strChunk, 'hex')
11984 }
11985 })
11986
11987 return Script.fromChunks(chunks)
11988}
11989
ab78acc6 11990Script.fromBuffer = function (buffer) {
ebd8d4e8 11991 var chunks = []
ebd8d4e8
IC
11992 var i = 0
11993
11994 while (i < buffer.length) {
11995 var opcode = buffer.readUInt8(i)
11996
ab78acc6 11997 // data chunk
ebd8d4e8
IC
11998 if ((opcode > opcodes.OP_0) && (opcode <= opcodes.OP_PUSHDATA4)) {
11999 var d = bufferutils.readPushDataInt(buffer, i)
ab78acc6
IC
12000
12001 // did reading a pushDataInt fail? return non-chunked script
12002 if (d === null) return new Script(buffer, [])
ebd8d4e8
IC
12003 i += d.size
12004
ab78acc6
IC
12005 // attempt to read too much data?
12006 if (i + d.number > buffer.length) return new Script(buffer, [])
12007
ebd8d4e8
IC
12008 var data = buffer.slice(i, i + d.number)
12009 i += d.number
12010
12011 chunks.push(data)
12012
ab78acc6 12013 // opcode
ebd8d4e8
IC
12014 } else {
12015 chunks.push(opcode)
12016
12017 i += 1
12018 }
12019 }
12020
12021 return new Script(buffer, chunks)
12022}
12023
ab78acc6
IC
12024Script.fromChunks = function (chunks) {
12025 typeForce('Array', chunks)
ebd8d4e8 12026
ab78acc6
IC
12027 var bufferSize = chunks.reduce(function (accum, chunk) {
12028 // data chunk
ebd8d4e8
IC
12029 if (Buffer.isBuffer(chunk)) {
12030 return accum + bufferutils.pushDataSize(chunk.length) + chunk.length
12031 }
12032
ab78acc6 12033 // opcode
ebd8d4e8
IC
12034 return accum + 1
12035 }, 0.0)
12036
12037 var buffer = new Buffer(bufferSize)
12038 var offset = 0
12039
ab78acc6
IC
12040 chunks.forEach(function (chunk) {
12041 // data chunk
ebd8d4e8
IC
12042 if (Buffer.isBuffer(chunk)) {
12043 offset += bufferutils.writePushDataInt(buffer, chunk.length, offset)
12044
12045 chunk.copy(buffer, offset)
12046 offset += chunk.length
12047
ab78acc6 12048 // opcode
ebd8d4e8
IC
12049 } else {
12050 buffer.writeUInt8(chunk, offset)
12051 offset += 1
12052 }
12053 })
12054
12055 assert.equal(offset, buffer.length, 'Could not decode chunks')
12056 return new Script(buffer, chunks)
12057}
12058
ab78acc6 12059Script.fromHex = function (hex) {
ebd8d4e8
IC
12060 return Script.fromBuffer(new Buffer(hex, 'hex'))
12061}
12062
ebd8d4e8
IC
12063Script.EMPTY = Script.fromChunks([])
12064
ab78acc6 12065Script.prototype.getHash = function () {
ebd8d4e8
IC
12066 return crypto.hash160(this.buffer)
12067}
12068
12069// FIXME: doesn't work for data chunks, maybe time to use buffertools.compare...
ab78acc6
IC
12070Script.prototype.without = function (needle) {
12071 return Script.fromChunks(this.chunks.filter(function (op) {
ebd8d4e8
IC
12072 return op !== needle
12073 }))
12074}
12075
ebd8d4e8
IC
12076var reverseOps = []
12077for (var op in opcodes) {
12078 var code = opcodes[op]
12079 reverseOps[code] = op
12080}
12081
ab78acc6
IC
12082Script.prototype.toASM = function () {
12083 return this.chunks.map(function (chunk) {
12084 // data chunk
ebd8d4e8
IC
12085 if (Buffer.isBuffer(chunk)) {
12086 return chunk.toString('hex')
12087
ab78acc6 12088 // opcode
ebd8d4e8
IC
12089 } else {
12090 return reverseOps[chunk]
12091 }
12092 }).join(' ')
12093}
12094
ab78acc6 12095Script.prototype.toBuffer = function () {
ebd8d4e8
IC
12096 return this.buffer
12097}
12098
ab78acc6 12099Script.prototype.toHex = function () {
ebd8d4e8
IC
12100 return this.toBuffer().toString('hex')
12101}
12102
12103module.exports = Script
12104
ab78acc6
IC
12105}).call(this,require("buffer").Buffer)
12106},{"./bufferutils":57,"./crypto":58,"./opcodes":67,"assert":5,"buffer":7,"typeforce":53}],69:[function(require,module,exports){
ebd8d4e8 12107(function (Buffer){
ab78acc6
IC
12108var assert = require('assert')
12109var ops = require('./opcodes')
12110var typeForce = require('typeforce')
ebd8d4e8 12111
ab78acc6 12112var ecurve = require('ecurve')
ebd8d4e8
IC
12113var curve = ecurve.getCurveByName('secp256k1')
12114
ab78acc6
IC
12115var ECSignature = require('./ecsignature')
12116var Script = require('./script')
ebd8d4e8 12117
ab78acc6 12118function isCanonicalPubKey (buffer) {
ebd8d4e8
IC
12119 if (!Buffer.isBuffer(buffer)) return false
12120
12121 try {
ebd8d4e8
IC
12122 ecurve.Point.decodeFrom(curve, buffer)
12123 } catch (e) {
ab78acc6
IC
12124 if (!(e.message.match(/Invalid sequence (length|tag)/)))
12125 throw e
ebd8d4e8
IC
12126
12127 return false
12128 }
12129
12130 return true
12131}
12132
ab78acc6 12133function isCanonicalSignature (buffer) {
ebd8d4e8
IC
12134 if (!Buffer.isBuffer(buffer)) return false
12135
12136 try {
12137 ECSignature.parseScriptSignature(buffer)
ab78acc6
IC
12138 } catch (e) {
12139 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/))) {
12140 throw e
12141 }
ebd8d4e8
IC
12142
12143 return false
12144 }
12145
12146 return true
12147}
12148
ab78acc6
IC
12149function isPubKeyHashInput (script) {
12150 return script.chunks.length === 2 &&
12151 isCanonicalSignature(script.chunks[0]) &&
12152 isCanonicalPubKey(script.chunks[1])
ebd8d4e8
IC
12153}
12154
ab78acc6
IC
12155function isPubKeyHashOutput (script) {
12156 return script.chunks.length === 5 &&
12157 script.chunks[0] === ops.OP_DUP &&
12158 script.chunks[1] === ops.OP_HASH160 &&
12159 Buffer.isBuffer(script.chunks[2]) &&
12160 script.chunks[2].length === 20 &&
12161 script.chunks[3] === ops.OP_EQUALVERIFY &&
12162 script.chunks[4] === ops.OP_CHECKSIG
ebd8d4e8
IC
12163}
12164
ab78acc6
IC
12165function isPubKeyInput (script) {
12166 return script.chunks.length === 1 &&
12167 isCanonicalSignature(script.chunks[0])
ebd8d4e8
IC
12168}
12169
ab78acc6
IC
12170function isPubKeyOutput (script) {
12171 return script.chunks.length === 2 &&
12172 isCanonicalPubKey(script.chunks[0]) &&
12173 script.chunks[1] === ops.OP_CHECKSIG
ebd8d4e8
IC
12174}
12175
ab78acc6
IC
12176function isScriptHashInput (script, allowIncomplete) {
12177 if (script.chunks.length < 2) return false
ebd8d4e8 12178
ab78acc6 12179 var lastChunk = script.chunks[script.chunks.length - 1]
ebd8d4e8
IC
12180 if (!Buffer.isBuffer(lastChunk)) return false
12181
ab78acc6
IC
12182 var scriptSig = Script.fromChunks(script.chunks.slice(0, -1))
12183 var redeemScript = Script.fromBuffer(lastChunk)
ebd8d4e8 12184
ab78acc6
IC
12185 // is redeemScript a valid script?
12186 if (redeemScript.chunks.length === 0) return false
12187
12188 return classifyInput(scriptSig, allowIncomplete) === classifyOutput(redeemScript)
ebd8d4e8
IC
12189}
12190
ab78acc6
IC
12191function isScriptHashOutput (script) {
12192 return script.chunks.length === 3 &&
12193 script.chunks[0] === ops.OP_HASH160 &&
12194 Buffer.isBuffer(script.chunks[1]) &&
12195 script.chunks[1].length === 20 &&
12196 script.chunks[2] === ops.OP_EQUAL
ebd8d4e8
IC
12197}
12198
ab78acc6
IC
12199// allowIncomplete is to account for combining signatures
12200// See https://github.com/bitcoin/bitcoin/blob/f425050546644a36b0b8e0eb2f6934a3e0f6f80f/src/script/sign.cpp#L195-L197
12201function isMultisigInput (script, allowIncomplete) {
12202 if (script.chunks.length < 2) return false
12203 if (script.chunks[0] !== ops.OP_0) return false
12204
12205 if (allowIncomplete) {
12206 return script.chunks.slice(1).every(function (chunk) {
12207 return chunk === ops.OP_0 || isCanonicalSignature(chunk)
12208 })
12209 }
12210
12211 return script.chunks.slice(1).every(isCanonicalSignature)
ebd8d4e8
IC
12212}
12213
ab78acc6
IC
12214function isMultisigOutput (script) {
12215 if (script.chunks.length < 4) return false
12216 if (script.chunks[script.chunks.length - 1] !== ops.OP_CHECKMULTISIG) return false
ebd8d4e8 12217
ab78acc6
IC
12218 var mOp = script.chunks[0]
12219 if (mOp === ops.OP_0) return false
12220 if (mOp < ops.OP_1) return false
12221 if (mOp > ops.OP_16) return false
ebd8d4e8 12222
ab78acc6
IC
12223 var nOp = script.chunks[script.chunks.length - 2]
12224 if (nOp === ops.OP_0) return false
12225 if (nOp < ops.OP_1) return false
12226 if (nOp > ops.OP_16) return false
ebd8d4e8 12227
ab78acc6
IC
12228 var m = mOp - (ops.OP_1 - 1)
12229 var n = nOp - (ops.OP_1 - 1)
ebd8d4e8
IC
12230 if (n < m) return false
12231
ab78acc6 12232 var pubKeys = script.chunks.slice(1, -2)
ebd8d4e8
IC
12233 if (n < pubKeys.length) return false
12234
12235 return pubKeys.every(isCanonicalPubKey)
12236}
12237
ab78acc6
IC
12238function isNullDataOutput (script) {
12239 return script.chunks[0] === ops.OP_RETURN
12240}
12241
12242function classifyOutput (script) {
12243 typeForce('Script', script)
12244
12245 if (isPubKeyHashOutput(script)) {
12246 return 'pubkeyhash'
12247 } else if (isScriptHashOutput(script)) {
12248 return 'scripthash'
12249 } else if (isMultisigOutput(script)) {
12250 return 'multisig'
12251 } else if (isPubKeyOutput(script)) {
12252 return 'pubkey'
12253 } else if (isNullDataOutput(script)) {
12254 return 'nulldata'
12255 }
12256
12257 return 'nonstandard'
12258}
12259
12260function classifyInput (script, allowIncomplete) {
12261 typeForce('Script', script)
12262
12263 if (isPubKeyHashInput(script)) {
12264 return 'pubkeyhash'
12265 } else if (isMultisigInput(script, allowIncomplete)) {
12266 return 'multisig'
12267 } else if (isScriptHashInput(script, allowIncomplete)) {
12268 return 'scripthash'
12269 } else if (isPubKeyInput(script)) {
12270 return 'pubkey'
12271 }
12272
12273 return 'nonstandard'
ebd8d4e8
IC
12274}
12275
12276// Standard Script Templates
12277// {pubKey} OP_CHECKSIG
ab78acc6 12278function pubKeyOutput (pubKey) {
ebd8d4e8
IC
12279 return Script.fromChunks([
12280 pubKey.toBuffer(),
ab78acc6 12281 ops.OP_CHECKSIG
ebd8d4e8
IC
12282 ])
12283}
12284
12285// OP_DUP OP_HASH160 {pubKeyHash} OP_EQUALVERIFY OP_CHECKSIG
ab78acc6
IC
12286function pubKeyHashOutput (hash) {
12287 typeForce('Buffer', hash)
ebd8d4e8
IC
12288
12289 return Script.fromChunks([
ab78acc6
IC
12290 ops.OP_DUP,
12291 ops.OP_HASH160,
ebd8d4e8 12292 hash,
ab78acc6
IC
12293 ops.OP_EQUALVERIFY,
12294 ops.OP_CHECKSIG
ebd8d4e8
IC
12295 ])
12296}
12297
12298// OP_HASH160 {scriptHash} OP_EQUAL
ab78acc6
IC
12299function scriptHashOutput (hash) {
12300 typeForce('Buffer', hash)
ebd8d4e8
IC
12301
12302 return Script.fromChunks([
ab78acc6 12303 ops.OP_HASH160,
ebd8d4e8 12304 hash,
ab78acc6 12305 ops.OP_EQUAL
ebd8d4e8
IC
12306 ])
12307}
12308
12309// m [pubKeys ...] n OP_CHECKMULTISIG
ab78acc6
IC
12310function multisigOutput (m, pubKeys) {
12311 typeForce(['ECPubKey'], pubKeys)
12312
ebd8d4e8
IC
12313 assert(pubKeys.length >= m, 'Not enough pubKeys provided')
12314
ab78acc6 12315 var pubKeyBuffers = pubKeys.map(function (pubKey) {
ebd8d4e8
IC
12316 return pubKey.toBuffer()
12317 })
12318 var n = pubKeys.length
12319
12320 return Script.fromChunks([].concat(
ab78acc6 12321 (ops.OP_1 - 1) + m,
ebd8d4e8 12322 pubKeyBuffers,
ab78acc6
IC
12323 (ops.OP_1 - 1) + n,
12324 ops.OP_CHECKMULTISIG
ebd8d4e8
IC
12325 ))
12326}
12327
12328// {signature}
ab78acc6
IC
12329function pubKeyInput (signature) {
12330 typeForce('Buffer', signature)
ebd8d4e8
IC
12331
12332 return Script.fromChunks([signature])
12333}
12334
12335// {signature} {pubKey}
ab78acc6
IC
12336function pubKeyHashInput (signature, pubKey) {
12337 typeForce('Buffer', signature)
ebd8d4e8
IC
12338
12339 return Script.fromChunks([signature, pubKey.toBuffer()])
12340}
12341
12342// <scriptSig> {serialized scriptPubKey script}
ab78acc6 12343function scriptHashInput (scriptSig, scriptPubKey) {
ebd8d4e8
IC
12344 return Script.fromChunks([].concat(
12345 scriptSig.chunks,
12346 scriptPubKey.toBuffer()
12347 ))
12348}
12349
12350// OP_0 [signatures ...]
ab78acc6 12351function multisigInput (signatures, scriptPubKey) {
ebd8d4e8 12352 if (scriptPubKey) {
ab78acc6
IC
12353 assert(isMultisigOutput(scriptPubKey))
12354
12355 var mOp = scriptPubKey.chunks[0]
12356 var nOp = scriptPubKey.chunks[scriptPubKey.chunks.length - 2]
12357 var m = mOp - (ops.OP_1 - 1)
12358 var n = nOp - (ops.OP_1 - 1)
ebd8d4e8 12359
ab78acc6
IC
12360 assert(signatures.length >= m, 'Not enough signatures provided')
12361 assert(signatures.length <= n, 'Too many signatures provided')
ebd8d4e8
IC
12362 }
12363
ab78acc6
IC
12364 return Script.fromChunks([].concat(ops.OP_0, signatures))
12365}
12366
12367function nullDataOutput (data) {
12368 return Script.fromChunks([ops.OP_RETURN, data])
ebd8d4e8
IC
12369}
12370
12371module.exports = {
ab78acc6
IC
12372 isCanonicalPubKey: isCanonicalPubKey,
12373 isCanonicalSignature: isCanonicalSignature,
12374 isPubKeyHashInput: isPubKeyHashInput,
12375 isPubKeyHashOutput: isPubKeyHashOutput,
12376 isPubKeyInput: isPubKeyInput,
12377 isPubKeyOutput: isPubKeyOutput,
12378 isScriptHashInput: isScriptHashInput,
12379 isScriptHashOutput: isScriptHashOutput,
12380 isMultisigInput: isMultisigInput,
12381 isMultisigOutput: isMultisigOutput,
12382 isNullDataOutput: isNullDataOutput,
ebd8d4e8 12383 classifyOutput: classifyOutput,
ab78acc6
IC
12384 classifyInput: classifyInput,
12385 pubKeyOutput: pubKeyOutput,
ebd8d4e8 12386 pubKeyHashOutput: pubKeyHashOutput,
ab78acc6
IC
12387 scriptHashOutput: scriptHashOutput,
12388 multisigOutput: multisigOutput,
ebd8d4e8 12389 pubKeyInput: pubKeyInput,
ab78acc6 12390 pubKeyHashInput: pubKeyHashInput,
ebd8d4e8 12391 scriptHashInput: scriptHashInput,
ab78acc6
IC
12392 multisigInput: multisigInput,
12393 dataOutput: function (data) {
12394 console.warn('dataOutput is deprecated, use nullDataOutput by 2.0.0')
12395 return nullDataOutput(data)
12396 },
12397 nullDataOutput: nullDataOutput
ebd8d4e8
IC
12398}
12399
ab78acc6
IC
12400}).call(this,require("buffer").Buffer)
12401},{"./ecsignature":62,"./opcodes":67,"./script":68,"assert":5,"buffer":7,"ecurve":49,"typeforce":53}],70:[function(require,module,exports){
ebd8d4e8 12402(function (Buffer){
ab78acc6
IC
12403var assert = require('assert')
12404var bufferutils = require('./bufferutils')
12405var crypto = require('./crypto')
12406var typeForce = require('typeforce')
12407var opcodes = require('./opcodes')
12408var scripts = require('./scripts')
12409
12410var Address = require('./address')
12411var ECSignature = require('./ecsignature')
12412var Script = require('./script')
12413
12414function Transaction () {
12415 this.version = 1
12416 this.locktime = 0
12417 this.ins = []
12418 this.outs = []
12419}
ebd8d4e8
IC
12420
12421Transaction.DEFAULT_SEQUENCE = 0xffffffff
12422Transaction.SIGHASH_ALL = 0x01
12423Transaction.SIGHASH_NONE = 0x02
12424Transaction.SIGHASH_SINGLE = 0x03
12425Transaction.SIGHASH_ANYONECANPAY = 0x80
12426
ab78acc6
IC
12427Transaction.fromBuffer = function (buffer, __disableAssert) {
12428 var offset = 0
12429 function readSlice (n) {
12430 offset += n
12431 return buffer.slice(offset - n, offset)
12432 }
12433
12434 function readUInt32 () {
12435 var i = buffer.readUInt32LE(offset)
12436 offset += 4
12437 return i
12438 }
12439
12440 function readUInt64 () {
12441 var i = bufferutils.readUInt64LE(buffer, offset)
12442 offset += 8
12443 return i
12444 }
12445
12446 function readVarInt () {
12447 var vi = bufferutils.readVarInt(buffer, offset)
12448 offset += vi.size
12449 return vi.number
12450 }
12451
12452 function readScript () {
12453 return Script.fromBuffer(readSlice(readVarInt()))
12454 }
12455
12456 function readGenerationScript () {
12457 return new Script(readSlice(readVarInt()), [])
12458 }
12459
12460 var tx = new Transaction()
12461 tx.version = readUInt32()
12462
12463 var vinLen = readVarInt()
12464 for (var i = 0; i < vinLen; ++i) {
12465 var hash = readSlice(32)
12466
12467 if (Transaction.isCoinbaseHash(hash)) {
12468 tx.ins.push({
12469 hash: hash,
12470 index: readUInt32(),
12471 script: readGenerationScript(),
12472 sequence: readUInt32()
12473 })
12474 } else {
12475 tx.ins.push({
12476 hash: hash,
12477 index: readUInt32(),
12478 script: readScript(),
12479 sequence: readUInt32()
12480 })
12481 }
12482 }
12483
12484 var voutLen = readVarInt()
12485 for (i = 0; i < voutLen; ++i) {
12486 tx.outs.push({
12487 value: readUInt64(),
12488 script: readScript()
12489 })
12490 }
12491
12492 tx.locktime = readUInt32()
12493
12494 if (!__disableAssert) {
12495 assert.equal(offset, buffer.length, 'Transaction has unexpected data')
12496 }
12497
12498 return tx
12499}
12500
12501Transaction.fromHex = function (hex) {
12502 return Transaction.fromBuffer(new Buffer(hex, 'hex'))
12503}
12504
12505Transaction.isCoinbaseHash = function (buffer) {
12506 return Array.prototype.every.call(buffer, function (x) {
12507 return x === 0
12508 })
ebd8d4e8
IC
12509}
12510
12511/**
ab78acc6 12512 * Create a new txIn.
ebd8d4e8
IC
12513 *
12514 * Can be called with any of:
12515 *
12516 * - A transaction and an index
12517 * - A transaction hash and an index
12518 *
12519 * Note that this method does not sign the created input.
12520 */
ab78acc6
IC
12521Transaction.prototype.addInput = function (hash, index, sequence, script) {
12522 if (sequence === undefined || sequence === null) {
12523 sequence = Transaction.DEFAULT_SEQUENCE
12524 }
ebd8d4e8 12525
ab78acc6 12526 script = script || Script.EMPTY
ebd8d4e8 12527
ab78acc6 12528 if (typeof hash === 'string') {
ebd8d4e8 12529 // TxId hex is big-endian, we need little-endian
ab78acc6
IC
12530 hash = bufferutils.reverse(new Buffer(hash, 'hex'))
12531 } else if (hash instanceof Transaction) {
12532 hash = hash.getHash()
ebd8d4e8
IC
12533 }
12534
ab78acc6
IC
12535 typeForce('Buffer', hash)
12536 typeForce('Number', index)
12537 typeForce('Number', sequence)
12538 typeForce('Script', script)
12539
ebd8d4e8 12540 assert.equal(hash.length, 32, 'Expected hash length of 32, got ' + hash.length)
ebd8d4e8 12541
ab78acc6 12542 // Add the input and return the input's index
ebd8d4e8
IC
12543 return (this.ins.push({
12544 hash: hash,
12545 index: index,
ab78acc6 12546 script: script,
ebd8d4e8
IC
12547 sequence: sequence
12548 }) - 1)
12549}
12550
12551/**
ab78acc6 12552 * Create a new txOut.
ebd8d4e8
IC
12553 *
12554 * Can be called with:
12555 *
12556 * - A base58 address string and a value
12557 * - An Address object and a value
12558 * - A scriptPubKey Script and a value
12559 */
ab78acc6 12560Transaction.prototype.addOutput = function (scriptPubKey, value) {
ebd8d4e8
IC
12561 // Attempt to get a valid address if it's a base58 address string
12562 if (typeof scriptPubKey === 'string') {
12563 scriptPubKey = Address.fromBase58Check(scriptPubKey)
12564 }
12565
12566 // Attempt to get a valid script if it's an Address object
12567 if (scriptPubKey instanceof Address) {
ab78acc6 12568 scriptPubKey = scriptPubKey.toOutputScript()
ebd8d4e8
IC
12569 }
12570
ab78acc6
IC
12571 typeForce('Script', scriptPubKey)
12572 typeForce('Number', value)
12573
12574 // Add the output and return the output's index
ebd8d4e8
IC
12575 return (this.outs.push({
12576 script: scriptPubKey,
ab78acc6 12577 value: value
ebd8d4e8
IC
12578 }) - 1)
12579}
12580
ab78acc6
IC
12581Transaction.prototype.clone = function () {
12582 var newTx = new Transaction()
12583 newTx.version = this.version
12584 newTx.locktime = this.locktime
12585
12586 newTx.ins = this.ins.map(function (txIn) {
12587 return {
12588 hash: txIn.hash,
12589 index: txIn.index,
12590 script: txIn.script,
12591 sequence: txIn.sequence
12592 }
12593 })
12594
12595 newTx.outs = this.outs.map(function (txOut) {
12596 return {
12597 script: txOut.script,
12598 value: txOut.value
12599 }
12600 })
12601
12602 return newTx
12603}
12604
12605/**
12606 * Hash transaction for signing a specific input.
12607 *
12608 * Bitcoin uses a different hash for each signed transaction input. This
12609 * method copies the transaction, makes the necessary changes based on the
12610 * hashType, serializes and finally hashes the result. This hash can then be
12611 * used to sign the transaction input in question.
12612 */
12613Transaction.prototype.hashForSignature = function (inIndex, prevOutScript, hashType) {
12614 // FIXME: remove in 2.x.y
12615 if (arguments[0] instanceof Script) {
12616 console.warn('hashForSignature(prevOutScript, inIndex, ...) has been deprecated. Use hashForSignature(inIndex, prevOutScript, ...)')
12617
12618 // swap the arguments (must be stored in tmp, arguments is special)
12619 var tmp = arguments[0]
12620 inIndex = arguments[1]
12621 prevOutScript = tmp
12622 }
12623
12624 typeForce('Number', inIndex)
12625 typeForce('Script', prevOutScript)
12626 typeForce('Number', hashType)
12627
12628 assert(inIndex >= 0, 'Invalid vin index')
12629 assert(inIndex < this.ins.length, 'Invalid vin index')
12630
12631 var txTmp = this.clone()
12632 var hashScript = prevOutScript.without(opcodes.OP_CODESEPARATOR)
12633
12634 // Blank out other inputs' signatures
12635 txTmp.ins.forEach(function (txIn) {
12636 txIn.script = Script.EMPTY
12637 })
12638 txTmp.ins[inIndex].script = hashScript
12639
12640 var hashTypeModifier = hashType & 0x1f
12641
12642 if (hashTypeModifier === Transaction.SIGHASH_NONE) {
12643 assert(false, 'SIGHASH_NONE not yet supported')
12644 } else if (hashTypeModifier === Transaction.SIGHASH_SINGLE) {
12645 assert(false, 'SIGHASH_SINGLE not yet supported')
12646 }
12647
12648 if (hashType & Transaction.SIGHASH_ANYONECANPAY) {
12649 assert(false, 'SIGHASH_ANYONECANPAY not yet supported')
12650 }
12651
12652 var hashTypeBuffer = new Buffer(4)
12653 hashTypeBuffer.writeInt32LE(hashType, 0)
12654
12655 var buffer = Buffer.concat([txTmp.toBuffer(), hashTypeBuffer])
12656 return crypto.hash256(buffer)
12657}
12658
12659Transaction.prototype.getHash = function () {
12660 return crypto.hash256(this.toBuffer())
12661}
12662
12663Transaction.prototype.getId = function () {
12664 // TxHash is little-endian, we need big-endian
12665 return bufferutils.reverse(this.getHash()).toString('hex')
12666}
12667
ebd8d4e8 12668Transaction.prototype.toBuffer = function () {
ab78acc6
IC
12669 function scriptSize (script) {
12670 var length = script.buffer.length
ebd8d4e8 12671
ab78acc6
IC
12672 return bufferutils.varIntSize(length) + length
12673 }
ebd8d4e8
IC
12674
12675 var buffer = new Buffer(
12676 8 +
12677 bufferutils.varIntSize(this.ins.length) +
12678 bufferutils.varIntSize(this.outs.length) +
ab78acc6
IC
12679 this.ins.reduce(function (sum, input) { return sum + 40 + scriptSize(input.script) }, 0) +
12680 this.outs.reduce(function (sum, output) { return sum + 8 + scriptSize(output.script) }, 0)
ebd8d4e8
IC
12681 )
12682
12683 var offset = 0
ab78acc6 12684 function writeSlice (slice) {
ebd8d4e8
IC
12685 slice.copy(buffer, offset)
12686 offset += slice.length
12687 }
ab78acc6
IC
12688
12689 function writeUInt32 (i) {
ebd8d4e8
IC
12690 buffer.writeUInt32LE(i, offset)
12691 offset += 4
12692 }
ab78acc6
IC
12693
12694 function writeUInt64 (i) {
ebd8d4e8
IC
12695 bufferutils.writeUInt64LE(buffer, i, offset)
12696 offset += 8
12697 }
ab78acc6
IC
12698
12699 function writeVarInt (i) {
ebd8d4e8
IC
12700 var n = bufferutils.writeVarInt(buffer, i, offset)
12701 offset += n
12702 }
12703
12704 writeUInt32(this.version)
12705 writeVarInt(this.ins.length)
12706
ab78acc6
IC
12707 this.ins.forEach(function (txIn) {
12708 writeSlice(txIn.hash)
12709 writeUInt32(txIn.index)
12710 writeVarInt(txIn.script.buffer.length)
12711 writeSlice(txIn.script.buffer)
12712 writeUInt32(txIn.sequence)
ebd8d4e8
IC
12713 })
12714
12715 writeVarInt(this.outs.length)
ab78acc6
IC
12716 this.outs.forEach(function (txOut) {
12717 writeUInt64(txOut.value)
12718 writeVarInt(txOut.script.buffer.length)
12719 writeSlice(txOut.script.buffer)
ebd8d4e8
IC
12720 })
12721
12722 writeUInt32(this.locktime)
12723
12724 return buffer
12725}
12726
ab78acc6 12727Transaction.prototype.toHex = function () {
ebd8d4e8
IC
12728 return this.toBuffer().toString('hex')
12729}
12730
ab78acc6
IC
12731Transaction.prototype.setInputScript = function (index, script) {
12732 typeForce('Number', index)
12733 typeForce('Script', script)
12734
12735 this.ins[index].script = script
12736}
12737
12738// FIXME: remove in 2.x.y
12739Transaction.prototype.sign = function (index, privKey, hashType) {
12740 console.warn('Transaction.prototype.sign is deprecated. Use TransactionBuilder instead.')
12741
12742 var prevOutScript = privKey.pub.getAddress().toOutputScript()
12743 var signature = this.signInput(index, prevOutScript, privKey, hashType)
12744
12745 var scriptSig = scripts.pubKeyHashInput(signature, privKey.pub)
12746 this.setInputScript(index, scriptSig)
12747}
12748
12749// FIXME: remove in 2.x.y
12750Transaction.prototype.signInput = function (index, prevOutScript, privKey, hashType) {
12751 console.warn('Transaction.prototype.signInput is deprecated. Use TransactionBuilder instead.')
12752
12753 hashType = hashType || Transaction.SIGHASH_ALL
12754
12755 var hash = this.hashForSignature(index, prevOutScript, hashType)
12756 var signature = privKey.sign(hash)
12757
12758 return signature.toScriptSignature(hashType)
12759}
12760
12761// FIXME: remove in 2.x.y
12762Transaction.prototype.validateInput = function (index, prevOutScript, pubKey, buffer) {
12763 console.warn('Transaction.prototype.validateInput is deprecated. Use TransactionBuilder instead.')
12764
12765 var parsed = ECSignature.parseScriptSignature(buffer)
12766 var hash = this.hashForSignature(index, prevOutScript, parsed.hashType)
12767
12768 return pubKey.verify(hash, parsed.signature)
12769}
12770
12771module.exports = Transaction
12772
12773}).call(this,require("buffer").Buffer)
12774},{"./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){
12775(function (Buffer){
12776var assert = require('assert')
12777var ops = require('./opcodes')
12778var scripts = require('./scripts')
12779
12780var ECPubKey = require('./ecpubkey')
12781var ECSignature = require('./ecsignature')
12782var Script = require('./script')
12783var Transaction = require('./transaction')
12784
12785function extractInput (txIn) {
12786 var redeemScript
12787 var scriptSig = txIn.script
12788 var prevOutScript
12789 var prevOutType = scripts.classifyInput(scriptSig, true)
12790 var scriptType
12791
12792 // Re-classify if scriptHash
12793 if (prevOutType === 'scripthash') {
12794 redeemScript = Script.fromBuffer(scriptSig.chunks.slice(-1)[0])
12795 prevOutScript = scripts.scriptHashOutput(redeemScript.getHash())
12796
12797 scriptSig = Script.fromChunks(scriptSig.chunks.slice(0, -1))
12798 scriptType = scripts.classifyInput(scriptSig, true)
12799 } else {
12800 scriptType = prevOutType
12801 }
12802
12803 // Extract hashType, pubKeys and signatures
12804 var hashType, parsed, pubKeys, signatures
12805
12806 switch (scriptType) {
12807 case 'pubkeyhash': {
12808 parsed = ECSignature.parseScriptSignature(scriptSig.chunks[0])
12809 hashType = parsed.hashType
12810 pubKeys = [ECPubKey.fromBuffer(scriptSig.chunks[1])]
12811 signatures = [parsed.signature]
12812 prevOutScript = pubKeys[0].getAddress().toOutputScript()
12813
12814 break
12815 }
12816
12817 case 'pubkey': {
12818 parsed = ECSignature.parseScriptSignature(scriptSig.chunks[0])
12819 hashType = parsed.hashType
12820 signatures = [parsed.signature]
12821
12822 if (redeemScript) {
12823 pubKeys = [ECPubKey.fromBuffer(redeemScript.chunks[0])]
12824 }
12825
12826 break
12827 }
12828
12829 case 'multisig': {
12830 signatures = scriptSig.chunks.slice(1).map(function (chunk) {
12831 if (chunk === ops.OP_0) return chunk
12832
12833 var parsed = ECSignature.parseScriptSignature(chunk)
12834 hashType = parsed.hashType
12835
12836 return parsed.signature
12837 })
12838
12839 if (redeemScript) {
12840 pubKeys = redeemScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12841 }
12842
12843 break
12844 }
12845 }
12846
12847 return {
12848 hashType: hashType,
12849 prevOutScript: prevOutScript,
12850 prevOutType: prevOutType,
12851 pubKeys: pubKeys,
12852 redeemScript: redeemScript,
12853 scriptType: scriptType,
12854 signatures: signatures
12855 }
12856}
12857
12858function TransactionBuilder () {
12859 this.prevTxMap = {}
12860 this.prevOutScripts = {}
12861 this.prevOutTypes = {}
12862
12863 this.inputs = []
12864 this.tx = new Transaction()
12865}
12866
12867TransactionBuilder.fromTransaction = function (transaction) {
12868 var txb = new TransactionBuilder()
12869
12870 // Copy other transaction fields
12871 txb.tx.version = transaction.version
12872 txb.tx.locktime = transaction.locktime
12873
12874 // Extract/add inputs
12875 transaction.ins.forEach(function (txIn) {
12876 txb.addInput(txIn.hash, txIn.index, txIn.sequence)
12877 })
12878
12879 // Extract/add outputs
12880 transaction.outs.forEach(function (txOut) {
12881 txb.addOutput(txOut.script, txOut.value)
12882 })
12883
12884 // Extract/add signatures
12885 txb.inputs = transaction.ins.map(function (txIn) {
12886 // TODO: remove me after testcase added
12887 assert(!Transaction.isCoinbaseHash(txIn.hash), 'coinbase inputs not supported')
12888
12889 // Ignore empty scripts
12890 if (txIn.script.buffer.length === 0) return {}
12891
12892 return extractInput(txIn)
12893 })
12894
12895 return txb
12896}
12897
12898TransactionBuilder.prototype.addInput = function (prevTx, index, sequence, prevOutScript) {
12899 var prevOutHash
12900
12901 // txId
12902 if (typeof prevTx === 'string') {
12903 prevOutHash = new Buffer(prevTx, 'hex')
12904
12905 // TxId hex is big-endian, we want little-endian hash
12906 Array.prototype.reverse.call(prevOutHash)
12907
12908 // Transaction
12909 } else if (prevTx instanceof Transaction) {
12910 prevOutHash = prevTx.getHash()
12911 prevOutScript = prevTx.outs[index].script
12912
12913 // txHash
12914 } else {
12915 prevOutHash = prevTx
12916 }
12917
12918 var input = {}
12919 if (prevOutScript) {
12920 var prevOutType = scripts.classifyOutput(prevOutScript)
12921
12922 // if we can, extract pubKey information
12923 switch (prevOutType) {
12924 case 'multisig': {
12925 input.pubKeys = prevOutScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12926 break
12927 }
12928
12929 case 'pubkey': {
12930 input.pubKeys = prevOutScript.chunks.slice(0, 1).map(ECPubKey.fromBuffer)
12931 break
12932 }
12933 }
12934
12935 if (prevOutType !== 'scripthash') {
12936 input.scriptType = prevOutType
12937 }
12938
12939 input.prevOutScript = prevOutScript
12940 input.prevOutType = prevOutType
12941 }
12942
12943 assert(this.inputs.every(function (input2) {
12944 if (input2.hashType === undefined) return true
12945
12946 return input2.hashType & Transaction.SIGHASH_ANYONECANPAY
12947 }), 'No, this would invalidate signatures')
12948
12949 var prevOut = prevOutHash.toString('hex') + ':' + index
12950 assert(!(prevOut in this.prevTxMap), 'Transaction is already an input')
12951
12952 var vin = this.tx.addInput(prevOutHash, index, sequence)
12953 this.inputs[vin] = input
12954 this.prevTxMap[prevOut] = vin
12955
12956 return vin
12957}
12958
12959TransactionBuilder.prototype.addOutput = function (scriptPubKey, value) {
12960 assert(this.inputs.every(function (input) {
12961 if (input.hashType === undefined) return true
ebd8d4e8 12962
ab78acc6
IC
12963 return (input.hashType & 0x1f) === Transaction.SIGHASH_SINGLE
12964 }), 'No, this would invalidate signatures')
ebd8d4e8 12965
ab78acc6
IC
12966 return this.tx.addOutput(scriptPubKey, value)
12967}
ebd8d4e8 12968
ab78acc6
IC
12969TransactionBuilder.prototype.build = function () {
12970 return this.__build(false)
12971}
12972TransactionBuilder.prototype.buildIncomplete = function () {
12973 return this.__build(true)
12974}
ebd8d4e8 12975
ab78acc6
IC
12976var canSignTypes = {
12977 'pubkeyhash': true,
12978 'multisig': true,
12979 'pubkey': true
12980}
ebd8d4e8 12981
ab78acc6
IC
12982TransactionBuilder.prototype.__build = function (allowIncomplete) {
12983 if (!allowIncomplete) {
12984 assert(this.tx.ins.length > 0, 'Transaction has no inputs')
12985 assert(this.tx.outs.length > 0, 'Transaction has no outputs')
ebd8d4e8
IC
12986 }
12987
ab78acc6 12988 var tx = this.tx.clone()
ebd8d4e8 12989
ab78acc6
IC
12990 // Create script signatures from signature meta-data
12991 this.inputs.forEach(function (input, index) {
12992 var scriptType = input.scriptType
12993 var scriptSig
ebd8d4e8 12994
ab78acc6
IC
12995 if (!allowIncomplete) {
12996 assert(!!scriptType, 'Transaction is not complete')
12997 assert(scriptType in canSignTypes, scriptType + ' not supported')
12998 assert(input.signatures, 'Transaction is missing signatures')
12999 }
ebd8d4e8 13000
ab78acc6
IC
13001 if (input.signatures) {
13002 switch (scriptType) {
13003 case 'pubkeyhash': {
13004 var pkhSignature = input.signatures[0].toScriptSignature(input.hashType)
13005 scriptSig = scripts.pubKeyHashInput(pkhSignature, input.pubKeys[0])
13006 break
13007 }
ebd8d4e8 13008
ab78acc6
IC
13009 case 'multisig': {
13010 // Array.prototype.map is sparse-compatible
13011 var msSignatures = input.signatures.map(function (signature) {
13012 return signature && signature.toScriptSignature(input.hashType)
13013 })
ebd8d4e8 13014
ab78acc6
IC
13015 // fill in blanks with OP_0
13016 if (allowIncomplete) {
13017 for (var i = 0; i < msSignatures.length; ++i) {
13018 if (msSignatures[i]) continue
ebd8d4e8 13019
ab78acc6
IC
13020 msSignatures[i] = ops.OP_0
13021 }
13022 } else {
13023 // Array.prototype.filter returns non-sparse array
13024 msSignatures = msSignatures.filter(function (x) { return x })
13025 }
ebd8d4e8 13026
ab78acc6
IC
13027 var redeemScript = allowIncomplete ? undefined : input.redeemScript
13028 scriptSig = scripts.multisigInput(msSignatures, redeemScript)
13029 break
13030 }
ebd8d4e8 13031
ab78acc6
IC
13032 case 'pubkey': {
13033 var pkSignature = input.signatures[0].toScriptSignature(input.hashType)
13034 scriptSig = scripts.pubKeyInput(pkSignature)
13035 break
13036 }
13037 }
ebd8d4e8 13038 }
ebd8d4e8 13039
ab78acc6
IC
13040 // did we build a scriptSig?
13041 if (scriptSig) {
13042 // wrap as scriptHash if necessary
13043 if (input.prevOutType === 'scripthash') {
13044 scriptSig = scripts.scriptHashInput(scriptSig, input.redeemScript)
13045 }
13046
13047 tx.setInputScript(index, scriptSig)
ebd8d4e8
IC
13048 }
13049 })
13050
ab78acc6 13051 return tx
ebd8d4e8
IC
13052}
13053
ab78acc6
IC
13054TransactionBuilder.prototype.sign = function (index, privKey, redeemScript, hashType) {
13055 assert(index in this.inputs, 'No input at index: ' + index)
13056 hashType = hashType || Transaction.SIGHASH_ALL
ebd8d4e8 13057
ab78acc6
IC
13058 var input = this.inputs[index]
13059 var canSign = input.hashType &&
13060 input.prevOutScript &&
13061 input.prevOutType &&
13062 input.pubKeys &&
13063 input.scriptType &&
13064 input.signatures
ebd8d4e8 13065
ab78acc6
IC
13066 // are we almost ready to sign?
13067 if (canSign) {
13068 // if redeemScript was provided, enforce consistency
13069 if (redeemScript) {
13070 assert.deepEqual(input.redeemScript, redeemScript, 'Inconsistent redeemScript')
13071 }
ebd8d4e8 13072
ab78acc6 13073 assert.equal(input.hashType, hashType, 'Inconsistent hashType')
ebd8d4e8 13074
ab78acc6
IC
13075 // no? prepare
13076 } else {
13077 // must be pay-to-scriptHash?
13078 if (redeemScript) {
13079 // if we have a prevOutScript, enforce scriptHash equality to the redeemScript
13080 if (input.prevOutScript) {
13081 assert.equal(input.prevOutType, 'scripthash', 'PrevOutScript must be P2SH')
13082
13083 var scriptHash = input.prevOutScript.chunks[1]
13084 assert.deepEqual(scriptHash, redeemScript.getHash(), 'RedeemScript does not match ' + scriptHash.toString('hex'))
13085 }
ebd8d4e8 13086
ab78acc6
IC
13087 var scriptType = scripts.classifyOutput(redeemScript)
13088 assert(scriptType in canSignTypes, 'RedeemScript not supported (' + scriptType + ')')
ebd8d4e8 13089
ab78acc6
IC
13090 var pubKeys = []
13091 switch (scriptType) {
13092 case 'multisig': {
13093 pubKeys = redeemScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
13094 break
13095 }
ebd8d4e8 13096
ab78acc6
IC
13097 case 'pubkeyhash': {
13098 var pkh1 = redeemScript.chunks[2]
13099 var pkh2 = privKey.pub.getAddress().hash
ebd8d4e8 13100
ab78acc6
IC
13101 assert.deepEqual(pkh1, pkh2, 'privateKey cannot sign for this input')
13102 pubKeys = [privKey.pub]
13103 break
13104 }
ebd8d4e8 13105
ab78acc6
IC
13106 case 'pubkey': {
13107 pubKeys = redeemScript.chunks.slice(0, 1).map(ECPubKey.fromBuffer)
13108 break
13109 }
13110 }
ebd8d4e8 13111
ab78acc6
IC
13112 if (!input.prevOutScript) {
13113 input.prevOutScript = scripts.scriptHashOutput(redeemScript.getHash())
13114 input.prevOutType = 'scripthash'
13115 }
ebd8d4e8 13116
ab78acc6
IC
13117 input.pubKeys = pubKeys
13118 input.redeemScript = redeemScript
13119 input.scriptType = scriptType
ebd8d4e8 13120
ab78acc6
IC
13121 // cannot be pay-to-scriptHash
13122 } else {
13123 assert.notEqual(input.prevOutType, 'scripthash', 'PrevOutScript is P2SH, missing redeemScript')
ebd8d4e8 13124
ab78acc6
IC
13125 // can we otherwise sign this?
13126 if (input.scriptType) {
13127 assert(input.pubKeys, input.scriptType + ' not supported')
ebd8d4e8 13128
ab78acc6
IC
13129 // we know nothin' Jon Snow, assume pubKeyHash
13130 } else {
13131 input.prevOutScript = privKey.pub.getAddress().toOutputScript()
13132 input.prevOutType = 'pubkeyhash'
13133 input.pubKeys = [privKey.pub]
13134 input.scriptType = input.prevOutType
13135 }
13136 }
ebd8d4e8 13137
ab78acc6
IC
13138 input.hashType = hashType
13139 input.signatures = input.signatures || []
13140 }
13141
13142 var signatureScript = input.redeemScript || input.prevOutScript
13143 var signatureHash = this.tx.hashForSignature(index, signatureScript, hashType)
13144
13145 // enforce signature order matches public keys
13146 if (input.scriptType === 'multisig' && input.redeemScript && input.signatures.length !== input.pubKeys.length) {
13147 // maintain a local copy of unmatched signatures
13148 var unmatched = input.signatures.slice()
13149
13150 input.signatures = input.pubKeys.map(function (pubKey) {
13151 var match
13152
13153 // check for any matching signatures
13154 unmatched.some(function (signature, i) {
13155 if (!pubKey.verify(signatureHash, signature)) return false
13156 match = signature
13157
13158 // remove matched signature from unmatched
13159 unmatched.splice(i, 1)
13160
13161 return true
13162 })
13163
13164 return match || undefined
13165 })
13166 }
13167
13168 // enforce in order signing of public keys
13169 assert(input.pubKeys.some(function (pubKey, i) {
13170 if (!privKey.pub.Q.equals(pubKey.Q)) return false
13171
13172 assert(!input.signatures[i], 'Signature already exists')
13173 var signature = privKey.sign(signatureHash)
13174 input.signatures[i] = signature
13175
13176 return true
13177 }, this), 'privateKey cannot sign for this input')
ebd8d4e8
IC
13178}
13179
ab78acc6 13180module.exports = TransactionBuilder
ebd8d4e8 13181
ab78acc6
IC
13182}).call(this,require("buffer").Buffer)
13183},{"./ecpubkey":61,"./ecsignature":62,"./opcodes":67,"./script":68,"./scripts":69,"./transaction":70,"assert":5,"buffer":7}],72:[function(require,module,exports){
ebd8d4e8 13184(function (Buffer){
ab78acc6
IC
13185var assert = require('assert')
13186var bufferutils = require('./bufferutils')
13187var typeForce = require('typeforce')
13188var networks = require('./networks')
13189var randomBytes = require('randombytes')
ebd8d4e8 13190
ab78acc6
IC
13191var Address = require('./address')
13192var HDNode = require('./hdnode')
13193var TransactionBuilder = require('./transaction_builder')
13194var Script = require('./script')
ebd8d4e8 13195
ab78acc6
IC
13196function Wallet (seed, network) {
13197 console.warn('Wallet is deprecated and will be removed in 2.0.0, see #296')
13198
13199 seed = seed || randomBytes(32)
ebd8d4e8
IC
13200 network = network || networks.bitcoin
13201
13202 // Stored in a closure to make accidental serialization less likely
ab78acc6
IC
13203 var masterKey = HDNode.fromSeedBuffer(seed, network)
13204
13205 // HD first-level child derivation method should be hardened
13206 // See https://bitcointalk.org/index.php?topic=405179.msg4415254#msg4415254
13207 var accountZero = masterKey.deriveHardened(0)
13208 var externalAccount = accountZero.derive(0)
13209 var internalAccount = accountZero.derive(1)
ebd8d4e8 13210
ebd8d4e8
IC
13211 this.addresses = []
13212 this.changeAddresses = []
ab78acc6
IC
13213 this.network = network
13214 this.unspents = []
ebd8d4e8 13215
ab78acc6
IC
13216 // FIXME: remove in 2.0.0
13217 this.unspentMap = {}
ebd8d4e8 13218
ab78acc6
IC
13219 // FIXME: remove in 2.0.0
13220 var me = this
13221 this.newMasterKey = function (seed) {
13222 console.warn('newMasterKey is deprecated, please make a new Wallet instance instead')
13223
13224 seed = seed || randomBytes(32)
13225 masterKey = HDNode.fromSeedBuffer(seed, network)
ebd8d4e8 13226
ab78acc6 13227 accountZero = masterKey.deriveHardened(0)
ebd8d4e8
IC
13228 externalAccount = accountZero.derive(0)
13229 internalAccount = accountZero.derive(1)
13230
13231 me.addresses = []
13232 me.changeAddresses = []
13233
ab78acc6
IC
13234 me.unspents = []
13235 me.unspentMap = {}
ebd8d4e8
IC
13236 }
13237
ab78acc6
IC
13238 this.getMasterKey = function () {
13239 return masterKey
ebd8d4e8 13240 }
ab78acc6
IC
13241 this.getAccountZero = function () {
13242 return accountZero
ebd8d4e8 13243 }
ab78acc6
IC
13244 this.getExternalAccount = function () {
13245 return externalAccount
13246 }
13247 this.getInternalAccount = function () {
13248 return internalAccount
ebd8d4e8 13249 }
ab78acc6 13250}
ebd8d4e8 13251
ab78acc6
IC
13252Wallet.prototype.createTransaction = function (to, value, options) {
13253 // FIXME: remove in 2.0.0
13254 if (typeof options !== 'object') {
13255 if (options !== undefined) {
13256 console.warn('Non options object parameters are deprecated, use options object instead')
ebd8d4e8 13257
ab78acc6
IC
13258 options = {
13259 fixedFee: arguments[2],
13260 changeAddress: arguments[3]
13261 }
ebd8d4e8 13262 }
ebd8d4e8
IC
13263 }
13264
ab78acc6 13265 options = options || {}
ebd8d4e8 13266
ab78acc6 13267 assert(value > this.network.dustThreshold, value + ' must be above dust threshold (' + this.network.dustThreshold + ' Satoshis)')
ebd8d4e8 13268
ab78acc6
IC
13269 var changeAddress = options.changeAddress
13270 var fixedFee = options.fixedFee
13271 var minConf = options.minConf === undefined ? 0 : options.minConf // FIXME: change minConf:1 by default in 2.0.0
ebd8d4e8 13272
ab78acc6
IC
13273 // filter by minConf, then pending and sort by descending value
13274 var unspents = this.unspents.filter(function (unspent) {
13275 return unspent.confirmations >= minConf
13276 }).filter(function (unspent) {
13277 return !unspent.pending
13278 }).sort(function (o1, o2) {
13279 return o2.value - o1.value
13280 })
ebd8d4e8 13281
ab78acc6
IC
13282 var accum = 0
13283 var addresses = []
13284 var subTotal = value
ebd8d4e8 13285
ab78acc6
IC
13286 var txb = new TransactionBuilder()
13287 txb.addOutput(to, value)
ebd8d4e8 13288
ab78acc6
IC
13289 for (var i = 0; i < unspents.length; ++i) {
13290 var unspent = unspents[i]
13291 addresses.push(unspent.address)
ebd8d4e8 13292
ab78acc6
IC
13293 txb.addInput(unspent.txHash, unspent.index)
13294
13295 var fee = fixedFee === undefined ? estimatePaddedFee(txb.buildIncomplete(), this.network) : fixedFee
ebd8d4e8 13296
ab78acc6
IC
13297 accum += unspent.value
13298 subTotal = value + fee
13299
13300 if (accum >= subTotal) {
13301 var change = accum - subTotal
13302
13303 if (change > this.network.dustThreshold) {
13304 txb.addOutput(changeAddress || this.getChangeAddress(), change)
ebd8d4e8 13305 }
ebd8d4e8 13306
ab78acc6 13307 break
ebd8d4e8
IC
13308 }
13309 }
13310
ab78acc6 13311 assert(accum >= subTotal, 'Not enough funds (incl. fee): ' + accum + ' < ' + subTotal)
ebd8d4e8 13312
ab78acc6
IC
13313 return this.signWith(txb, addresses).build()
13314}
ebd8d4e8 13315
ab78acc6
IC
13316// FIXME: remove in 2.0.0
13317Wallet.prototype.processPendingTx = function (tx) {
13318 this.__processTx(tx, true)
13319}
ebd8d4e8 13320
ab78acc6
IC
13321// FIXME: remove in 2.0.0
13322Wallet.prototype.processConfirmedTx = function (tx) {
13323 this.__processTx(tx, false)
13324}
ebd8d4e8 13325
ab78acc6
IC
13326// FIXME: remove in 2.0.0
13327Wallet.prototype.__processTx = function (tx, isPending) {
13328 console.warn('processTransaction is considered harmful, see issue #260 for more information')
ebd8d4e8 13329
ab78acc6
IC
13330 var txId = tx.getId()
13331 var txHash = tx.getHash()
ebd8d4e8 13332
ab78acc6
IC
13333 tx.outs.forEach(function (txOut, i) {
13334 var address
ebd8d4e8 13335
ab78acc6
IC
13336 try {
13337 address = Address.fromOutputScript(txOut.script, this.network).toString()
13338 } catch (e) {
13339 if (!(e.message.match(/has no matching Address/)))
13340 throw e
13341 }
13342
13343 var myAddresses = this.addresses.concat(this.changeAddresses)
13344 if (myAddresses.indexOf(address) > -1) {
13345 var lookup = txId + ':' + i
13346 if (lookup in this.unspentMap) return
13347
13348 // its unique, add it
13349 var unspent = {
13350 address: address,
13351 confirmations: 0, // no way to determine this without more information
13352 index: i,
13353 txHash: txHash,
13354 txId: txId,
13355 value: txOut.value,
13356 pending: isPending
ebd8d4e8 13357 }
ebd8d4e8 13358
ab78acc6
IC
13359 this.unspentMap[lookup] = unspent
13360 this.unspents.push(unspent)
13361 }
13362 }, this)
ebd8d4e8 13363
ab78acc6
IC
13364 tx.ins.forEach(function (txIn) {
13365 // copy and convert to big-endian hex
13366 var txInId = bufferutils.reverse(txIn.hash).toString('hex')
ebd8d4e8 13367
ab78acc6
IC
13368 var lookup = txInId + ':' + txIn.index
13369 if (!(lookup in this.unspentMap)) return
ebd8d4e8 13370
ab78acc6 13371 var unspent = this.unspentMap[lookup]
ebd8d4e8 13372
ab78acc6
IC
13373 if (isPending) {
13374 unspent.pending = true
13375 unspent.spent = true
13376 } else {
13377 delete this.unspentMap[lookup]
ebd8d4e8 13378
ab78acc6
IC
13379 this.unspents = this.unspents.filter(function (unspent2) {
13380 return unspent !== unspent2
13381 })
13382 }
13383 }, this)
13384}
ebd8d4e8 13385
ab78acc6
IC
13386Wallet.prototype.generateAddress = function () {
13387 var k = this.addresses.length
13388 var address = this.getExternalAccount().derive(k).getAddress()
ebd8d4e8 13389
ab78acc6 13390 this.addresses.push(address.toString())
ebd8d4e8 13391
ab78acc6
IC
13392 return this.getReceiveAddress()
13393}
ebd8d4e8 13394
ab78acc6
IC
13395Wallet.prototype.generateChangeAddress = function () {
13396 var k = this.changeAddresses.length
13397 var address = this.getInternalAccount().derive(k).getAddress()
ebd8d4e8 13398
ab78acc6 13399 this.changeAddresses.push(address.toString())
ebd8d4e8 13400
ab78acc6
IC
13401 return this.getChangeAddress()
13402}
ebd8d4e8 13403
ab78acc6
IC
13404Wallet.prototype.getAddress = function () {
13405 if (this.addresses.length === 0) {
13406 this.generateAddress()
ebd8d4e8
IC
13407 }
13408
ab78acc6
IC
13409 return this.addresses[this.addresses.length - 1]
13410}
ebd8d4e8 13411
ab78acc6
IC
13412Wallet.prototype.getBalance = function (minConf) {
13413 minConf = minConf || 0
ebd8d4e8 13414
ab78acc6
IC
13415 return this.unspents.filter(function (unspent) {
13416 return unspent.confirmations >= minConf
13417
13418 // FIXME: remove spent filter in 2.0.0
13419 }).filter(function (unspent) {
13420 return !unspent.spent
13421 }).reduce(function (accum, unspent) {
13422 return accum + unspent.value
13423 }, 0)
13424}
ebd8d4e8 13425
ab78acc6
IC
13426Wallet.prototype.getChangeAddress = function () {
13427 if (this.changeAddresses.length === 0) {
13428 this.generateChangeAddress()
ebd8d4e8
IC
13429 }
13430
ab78acc6
IC
13431 return this.changeAddresses[this.changeAddresses.length - 1]
13432}
13433
13434Wallet.prototype.getInternalPrivateKey = function (index) {
13435 return this.getInternalAccount().derive(index).privKey
13436}
13437
13438Wallet.prototype.getPrivateKey = function (index) {
13439 return this.getExternalAccount().derive(index).privKey
13440}
13441
13442Wallet.prototype.getPrivateKeyForAddress = function (address) {
13443 var index
ebd8d4e8 13444
ab78acc6
IC
13445 if ((index = this.addresses.indexOf(address)) > -1) {
13446 return this.getPrivateKey(index)
ebd8d4e8
IC
13447 }
13448
ab78acc6
IC
13449 if ((index = this.changeAddresses.indexOf(address)) > -1) {
13450 return this.getInternalPrivateKey(index)
ebd8d4e8
IC
13451 }
13452
ab78acc6
IC
13453 assert(false, 'Unknown address. Make sure the address is from the keychain and has been generated')
13454}
ebd8d4e8 13455
ab78acc6
IC
13456Wallet.prototype.getUnspentOutputs = function (minConf) {
13457 minConf = minConf || 0
ebd8d4e8 13458
ab78acc6
IC
13459 return this.unspents.filter(function (unspent) {
13460 return unspent.confirmations >= minConf
ebd8d4e8 13461
ab78acc6
IC
13462 // FIXME: remove spent filter in 2.0.0
13463 }).filter(function (unspent) {
13464 return !unspent.spent
13465 }).map(function (unspent) {
13466 return {
13467 address: unspent.address,
13468 confirmations: unspent.confirmations,
13469 index: unspent.index,
13470 txId: unspent.txId,
13471 value: unspent.value,
13472
13473 // FIXME: remove in 2.0.0
13474 hash: unspent.txId,
13475 pending: unspent.pending
13476 }
13477 })
13478}
ebd8d4e8 13479
ab78acc6
IC
13480Wallet.prototype.setUnspentOutputs = function (unspents) {
13481 this.unspentMap = {}
13482 this.unspents = unspents.map(function (unspent) {
13483 // FIXME: remove unspent.hash in 2.0.0
13484 var txId = unspent.txId || unspent.hash
13485 var index = unspent.index
ebd8d4e8 13486
ab78acc6
IC
13487 // FIXME: remove in 2.0.0
13488 if (unspent.hash !== undefined) {
13489 console.warn('unspent.hash is deprecated, use unspent.txId instead')
13490 }
ebd8d4e8 13491
ab78acc6
IC
13492 // FIXME: remove in 2.0.0
13493 if (index === undefined) {
13494 console.warn('unspent.outputIndex is deprecated, use unspent.index instead')
13495 index = unspent.outputIndex
13496 }
ebd8d4e8 13497
ab78acc6
IC
13498 typeForce('String', txId)
13499 typeForce('Number', index)
13500 typeForce('Number', unspent.value)
13501
13502 assert.equal(txId.length, 64, 'Expected valid txId, got ' + txId)
13503 assert.doesNotThrow(function () {
13504 Address.fromBase58Check(unspent.address)
13505 }, 'Expected Base58 Address, got ' + unspent.address)
13506 assert(isFinite(index), 'Expected finite index, got ' + index)
13507
13508 // FIXME: remove branch in 2.0.0
13509 if (unspent.confirmations !== undefined) {
13510 typeForce('Number', unspent.confirmations)
ebd8d4e8 13511 }
ebd8d4e8 13512
ab78acc6 13513 var txHash = bufferutils.reverse(new Buffer(txId, 'hex'))
ebd8d4e8 13514
ab78acc6
IC
13515 unspent = {
13516 address: unspent.address,
13517 confirmations: unspent.confirmations || 0,
13518 index: index,
13519 txHash: txHash,
13520 txId: txId,
13521 value: unspent.value,
ebd8d4e8 13522
ab78acc6
IC
13523 // FIXME: remove in 2.0.0
13524 pending: unspent.pending || false
13525 }
13526
13527 // FIXME: remove in 2.0.0
13528 this.unspentMap[txId + ':' + index] = unspent
13529
13530 return unspent
13531 }, this)
13532}
13533
13534Wallet.prototype.signWith = function (tx, addresses) {
13535 addresses.forEach(function (address, i) {
13536 var privKey = this.getPrivateKeyForAddress(address)
13537
13538 tx.sign(i, privKey)
13539 }, this)
13540
13541 return tx
13542}
13543
13544function estimatePaddedFee (tx, network) {
13545 var tmpTx = tx.clone()
13546 tmpTx.addOutput(Script.EMPTY, network.dustSoftThreshold || 0)
13547
13548 return network.estimateFee(tmpTx)
ebd8d4e8
IC
13549}
13550
ab78acc6
IC
13551// FIXME: 1.0.0 shims, remove in 2.0.0
13552Wallet.prototype.getReceiveAddress = Wallet.prototype.getAddress
13553Wallet.prototype.createTx = Wallet.prototype.createTransaction
13554
ebd8d4e8
IC
13555module.exports = Wallet
13556
ab78acc6
IC
13557}).call(this,require("buffer").Buffer)
13558},{"./address":54,"./bufferutils":57,"./hdnode":63,"./networks":66,"./script":68,"./transaction_builder":71,"assert":5,"buffer":7,"randombytes":52,"typeforce":53}]},{},[64])(64)
13559});</script>
d5dc92fd
IC
13560 <script>bitcoin.networks.shadow = {
13561 magicPrefix: '\x19ShadowCash Signed Message:\n',
13562 bip32: {
13563 public: 0xEE80286A,
13564 private: 0xEE8031E8
13565 },
13566 pubKeyHash: 0x3f,
13567 scriptHash: 0x7d,
13568 wif: 0xbf,
13569 dustThreshold: 0,
13570 feePerKb: 1000,
13571 estimateFee: function() { return "unused in this app" },
13572};
13573
13574bitcoin.networks.shadowtn = {
13575 magicPrefix: '\x19ShadowCash Signed Message:\n',
13576 bip32: {
13577 public: 0x76C0FDFB,
13578 private: 0x76C1077A
13579 },
13580 pubKeyHash: 0x7f,
13581 scriptHash: 0xc4,
13582 wif: 0xff,
13583 dustThreshold: 0,
13584 feePerKb: 1000,
13585 estimateFee: function() { return "unused in this app" },
13586};
5c434a8a
CM
13587
13588bitcoin.networks.clam = {
13589 bip32: {
13590 public: 0xa8c26d64,
13591 private: 0xa8c17826
13592 },
13593 pubKeyHash: 0x89,
13594 wif: 0x85,
13595};
5493efc3 13596
13597bitcoin.networks.dash = {
13598 bip32: {
13599 public: 0x0488b21e,
13600 private: 0x0488ade4
13601 },
68151a47 13602 pubKeyHash: 0x4c,
5493efc3 13603 scriptHash: 0x10,
13604 wif: 0xcc,
13605};
13606
07ac4350 13607bitcoin.networks.namecoin = {
13608 bip32: {
13609 public: 0x0488b21e,
13610 private: 0x0488ade4
13611 },
13612 pubKeyHash: 0x34,
13613 //scriptHash: 0x10,
13614 wif: 0x80,
13615};
13616
13617bitcoin.networks.peercoin = {
13618 bip32: {
13619 public: 0x0488b21e,
13620 private: 0x0488ade4
13621 },
13622 pubKeyHash: 0x37,
13623 //scriptHash: 0x10,
13624 wif: 0xb7,
13625};
13626
d5dc92fd 13627</script>
ab78acc6 13628 <script>// Select components from sjcl to suit the crypto operations bip39 requires.
80c4dd2a
IC
13629
13630//// base.js
13631
13632/** @fileOverview Javascript cryptography implementation.
13633 *
13634 * Crush to remove comments, shorten variable names and
13635 * generally reduce transmission size.
13636 *
13637 * @author Emily Stark
13638 * @author Mike Hamburg
13639 * @author Dan Boneh
13640 */
13641
13642"use strict";
13643/*jslint indent: 2, bitwise: false, nomen: false, plusplus: false, white: false, regexp: false */
13644/*global document, window, escape, unescape, module, require, Uint32Array */
13645
13646/** @namespace The Stanford Javascript Crypto Library, top-level namespace. */
13647var sjcl = {
13648 /** @namespace Symmetric ciphers. */
13649 cipher: {},
13650
13651 /** @namespace Hash functions. Right now only SHA256 is implemented. */
13652 hash: {},
13653
13654 /** @namespace Key exchange functions. Right now only SRP is implemented. */
13655 keyexchange: {},
13656
13657 /** @namespace Block cipher modes of operation. */
13658 mode: {},
13659
13660 /** @namespace Miscellaneous. HMAC and PBKDF2. */
13661 misc: {},
13662
13663 /**
13664 * @namespace Bit array encoders and decoders.
13665 *
13666 * @description
13667 * The members of this namespace are functions which translate between
13668 * SJCL's bitArrays and other objects (usually strings). Because it
13669 * isn't always clear which direction is encoding and which is decoding,
13670 * the method names are "fromBits" and "toBits".
13671 */
13672 codec: {},
13673
13674 /** @namespace Exceptions. */
13675 exception: {
13676 /** @constructor Ciphertext is corrupt. */
13677 corrupt: function(message) {
13678 this.toString = function() { return "CORRUPT: "+this.message; };
13679 this.message = message;
13680 },
13681
13682 /** @constructor Invalid parameter. */
13683 invalid: function(message) {
13684 this.toString = function() { return "INVALID: "+this.message; };
13685 this.message = message;
13686 },
13687
13688 /** @constructor Bug or missing feature in SJCL. @constructor */
13689 bug: function(message) {
13690 this.toString = function() { return "BUG: "+this.message; };
13691 this.message = message;
13692 },
13693
13694 /** @constructor Something isn't ready. */
13695 notReady: function(message) {
13696 this.toString = function() { return "NOT READY: "+this.message; };
13697 this.message = message;
ebd8d4e8 13698 }
80c4dd2a
IC
13699 }
13700};
13701
13702if(typeof module !== 'undefined' && module.exports){
13703 module.exports = sjcl;
13704}
13705if (typeof define === "function") {
13706 define([], function () {
13707 return sjcl;
13708 });
13709}
13710
13711
13712//// bitArray.js
13713
13714/** @fileOverview Arrays of bits, encoded as arrays of Numbers.
13715 *
13716 * @author Emily Stark
13717 * @author Mike Hamburg
13718 * @author Dan Boneh
13719 */
13720
13721/** @namespace Arrays of bits, encoded as arrays of Numbers.
13722 *
13723 * @description
13724 * <p>
13725 * These objects are the currency accepted by SJCL's crypto functions.
13726 * </p>
13727 *
13728 * <p>
13729 * Most of our crypto primitives operate on arrays of 4-byte words internally,
13730 * but many of them can take arguments that are not a multiple of 4 bytes.
13731 * This library encodes arrays of bits (whose size need not be a multiple of 8
13732 * bits) as arrays of 32-bit words. The bits are packed, big-endian, into an
13733 * array of words, 32 bits at a time. Since the words are double-precision
13734 * floating point numbers, they fit some extra data. We use this (in a private,
13735 * possibly-changing manner) to encode the number of bits actually present
13736 * in the last word of the array.
13737 * </p>
13738 *
13739 * <p>
13740 * Because bitwise ops clear this out-of-band data, these arrays can be passed
13741 * to ciphers like AES which want arrays of words.
13742 * </p>
13743 */
13744sjcl.bitArray = {
13745 /**
13746 * Array slices in units of bits.
13747 * @param {bitArray} a The array to slice.
13748 * @param {Number} bstart The offset to the start of the slice, in bits.
13749 * @param {Number} bend The offset to the end of the slice, in bits. If this is undefined,
13750 * slice until the end of the array.
13751 * @return {bitArray} The requested slice.
13752 */
13753 bitSlice: function (a, bstart, bend) {
13754 a = sjcl.bitArray._shiftRight(a.slice(bstart/32), 32 - (bstart & 31)).slice(1);
13755 return (bend === undefined) ? a : sjcl.bitArray.clamp(a, bend-bstart);
13756 },
13757
13758 /**
13759 * Extract a number packed into a bit array.
13760 * @param {bitArray} a The array to slice.
13761 * @param {Number} bstart The offset to the start of the slice, in bits.
13762 * @param {Number} length The length of the number to extract.
13763 * @return {Number} The requested slice.
13764 */
13765 extract: function(a, bstart, blength) {
13766 // FIXME: this Math.floor is not necessary at all, but for some reason
13767 // seems to suppress a bug in the Chromium JIT.
13768 var x, sh = Math.floor((-bstart-blength) & 31);
13769 if ((bstart + blength - 1 ^ bstart) & -32) {
13770 // it crosses a boundary
13771 x = (a[bstart/32|0] << (32 - sh)) ^ (a[bstart/32+1|0] >>> sh);
13772 } else {
13773 // within a single word
13774 x = a[bstart/32|0] >>> sh;
ebd8d4e8 13775 }
80c4dd2a
IC
13776 return x & ((1<<blength) - 1);
13777 },
13778
13779 /**
13780 * Concatenate two bit arrays.
13781 * @param {bitArray} a1 The first array.
13782 * @param {bitArray} a2 The second array.
13783 * @return {bitArray} The concatenation of a1 and a2.
13784 */
13785 concat: function (a1, a2) {
13786 if (a1.length === 0 || a2.length === 0) {
13787 return a1.concat(a2);
13788 }
13789
13790 var last = a1[a1.length-1], shift = sjcl.bitArray.getPartial(last);
13791 if (shift === 32) {
13792 return a1.concat(a2);
13793 } else {
13794 return sjcl.bitArray._shiftRight(a2, shift, last|0, a1.slice(0,a1.length-1));
ebd8d4e8 13795 }
80c4dd2a
IC
13796 },
13797
13798 /**
13799 * Find the length of an array of bits.
13800 * @param {bitArray} a The array.
13801 * @return {Number} The length of a, in bits.
13802 */
13803 bitLength: function (a) {
13804 var l = a.length, x;
13805 if (l === 0) { return 0; }
13806 x = a[l - 1];
13807 return (l-1) * 32 + sjcl.bitArray.getPartial(x);
13808 },
13809
13810 /**
13811 * Truncate an array.
13812 * @param {bitArray} a The array.
13813 * @param {Number} len The length to truncate to, in bits.
13814 * @return {bitArray} A new array, truncated to len bits.
13815 */
13816 clamp: function (a, len) {
13817 if (a.length * 32 < len) { return a; }
13818 a = a.slice(0, Math.ceil(len / 32));
13819 var l = a.length;
13820 len = len & 31;
13821 if (l > 0 && len) {
13822 a[l-1] = sjcl.bitArray.partial(len, a[l-1] & 0x80000000 >> (len-1), 1);
13823 }
13824 return a;
13825 },
13826
13827 /**
13828 * Make a partial word for a bit array.
13829 * @param {Number} len The number of bits in the word.
13830 * @param {Number} x The bits.
13831 * @param {Number} [0] _end Pass 1 if x has already been shifted to the high side.
13832 * @return {Number} The partial word.
13833 */
13834 partial: function (len, x, _end) {
13835 if (len === 32) { return x; }
13836 return (_end ? x|0 : x << (32-len)) + len * 0x10000000000;
13837 },
13838
13839 /**
13840 * Get the number of bits used by a partial word.
13841 * @param {Number} x The partial word.
13842 * @return {Number} The number of bits used by the partial word.
13843 */
13844 getPartial: function (x) {
13845 return Math.round(x/0x10000000000) || 32;
13846 },
13847
13848 /**
13849 * Compare two arrays for equality in a predictable amount of time.
13850 * @param {bitArray} a The first array.
13851 * @param {bitArray} b The second array.
13852 * @return {boolean} true if a == b; false otherwise.
13853 */
13854 equal: function (a, b) {
13855 if (sjcl.bitArray.bitLength(a) !== sjcl.bitArray.bitLength(b)) {
13856 return false;
ebd8d4e8 13857 }
80c4dd2a
IC
13858 var x = 0, i;
13859 for (i=0; i<a.length; i++) {
13860 x |= a[i]^b[i];
ebd8d4e8 13861 }
80c4dd2a
IC
13862 return (x === 0);
13863 },
13864
13865 /** Shift an array right.
13866 * @param {bitArray} a The array to shift.
13867 * @param {Number} shift The number of bits to shift.
13868 * @param {Number} [carry=0] A byte to carry in
13869 * @param {bitArray} [out=[]] An array to prepend to the output.
13870 * @private
13871 */
13872 _shiftRight: function (a, shift, carry, out) {
13873 var i, last2=0, shift2;
13874 if (out === undefined) { out = []; }
13875
13876 for (; shift >= 32; shift -= 32) {
13877 out.push(carry);
13878 carry = 0;
13879 }
13880 if (shift === 0) {
13881 return out.concat(a);
13882 }
13883
13884 for (i=0; i<a.length; i++) {
13885 out.push(carry | a[i]>>>shift);
13886 carry = a[i] << (32-shift);
13887 }
13888 last2 = a.length ? a[a.length-1] : 0;
13889 shift2 = sjcl.bitArray.getPartial(last2);
13890 out.push(sjcl.bitArray.partial(shift+shift2 & 31, (shift + shift2 > 32) ? carry : out.pop(),1));
13891 return out;
13892 },
13893
13894 /** xor a block of 4 words together.
13895 * @private
13896 */
13897 _xor4: function(x,y) {
13898 return [x[0]^y[0],x[1]^y[1],x[2]^y[2],x[3]^y[3]];
13899 },
13900
13901 /** byteswap a word array inplace.
13902 * (does not handle partial words)
13903 * @param {sjcl.bitArray} a word array
13904 * @return {sjcl.bitArray} byteswapped array
13905 */
13906 byteswapM: function(a) {
13907 var i, v, m = 0xff00;
13908 for (i = 0; i < a.length; ++i) {
13909 v = a[i];
13910 a[i] = (v >>> 24) | ((v >>> 8) & m) | ((v & m) << 8) | (v << 24);
ebd8d4e8 13911 }
80c4dd2a
IC
13912 return a;
13913 }
13914};
13915
13916
13917//// codecString.js
13918
13919/** @fileOverview Bit array codec implementations.
13920 *
13921 * @author Emily Stark
13922 * @author Mike Hamburg
13923 * @author Dan Boneh
13924 */
13925
13926/** @namespace UTF-8 strings */
13927sjcl.codec.utf8String = {
13928 /** Convert from a bitArray to a UTF-8 string. */
13929 fromBits: function (arr) {
13930 var out = "", bl = sjcl.bitArray.bitLength(arr), i, tmp;
13931 for (i=0; i<bl/8; i++) {
13932 if ((i&3) === 0) {
13933 tmp = arr[i/4];
13934 }
13935 out += String.fromCharCode(tmp >>> 24);
13936 tmp <<= 8;
ebd8d4e8 13937 }
80c4dd2a
IC
13938 return decodeURIComponent(escape(out));
13939 },
13940
13941 /** Convert from a UTF-8 string to a bitArray. */
13942 toBits: function (str) {
13943 str = unescape(encodeURIComponent(str));
13944 var out = [], i, tmp=0;
13945 for (i=0; i<str.length; i++) {
13946 tmp = tmp << 8 | str.charCodeAt(i);
13947 if ((i&3) === 3) {
13948 out.push(tmp);
13949 tmp = 0;
13950 }
ebd8d4e8 13951 }
80c4dd2a
IC
13952 if (i&3) {
13953 out.push(sjcl.bitArray.partial(8*(i&3), tmp));
ebd8d4e8 13954 }
80c4dd2a
IC
13955 return out;
13956 }
13957};
13958
13959
13960//// codecHex.js
13961
13962/** @fileOverview Bit array codec implementations.
13963 *
13964 * @author Emily Stark
13965 * @author Mike Hamburg
13966 * @author Dan Boneh
13967 */
13968
13969/** @namespace Hexadecimal */
13970sjcl.codec.hex = {
13971 /** Convert from a bitArray to a hex string. */
13972 fromBits: function (arr) {
13973 var out = "", i;
13974 for (i=0; i<arr.length; i++) {
13975 out += ((arr[i]|0)+0xF00000000000).toString(16).substr(4);
ebd8d4e8 13976 }
80c4dd2a
IC
13977 return out.substr(0, sjcl.bitArray.bitLength(arr)/4);//.replace(/(.{8})/g, "$1 ");
13978 },
13979 /** Convert from a hex string to a bitArray. */
13980 toBits: function (str) {
13981 var i, out=[], len;
13982 str = str.replace(/\s|0x/g, "");
13983 len = str.length;
13984 str = str + "00000000";
13985 for (i=0; i<str.length; i+=8) {
13986 out.push(parseInt(str.substr(i,8),16)^0);
ebd8d4e8 13987 }
80c4dd2a
IC
13988 return sjcl.bitArray.clamp(out, len*4);
13989 }
13990};
13991
13992
13993//// sha512.js
13994
13995/** @fileOverview Javascript SHA-512 implementation.
13996 *
13997 * This implementation was written for CryptoJS by Jeff Mott and adapted for
13998 * SJCL by Stefan Thomas.
13999 *
14000 * CryptoJS (c) 2009–2012 by Jeff Mott. All rights reserved.
14001 * Released with New BSD License
14002 *
14003 * @author Emily Stark
14004 * @author Mike Hamburg
14005 * @author Dan Boneh
14006 * @author Jeff Mott
14007 * @author Stefan Thomas
14008 */
14009
14010/**
14011 * Context for a SHA-512 operation in progress.
14012 * @constructor
14013 * @class Secure Hash Algorithm, 512 bits.
14014 */
14015sjcl.hash.sha512 = function (hash) {
14016 if (!this._key[0]) { this._precompute(); }
14017 if (hash) {
14018 this._h = hash._h.slice(0);
14019 this._buffer = hash._buffer.slice(0);
14020 this._length = hash._length;
14021 } else {
14022 this.reset();
14023 }
14024};
14025
14026/**
14027 * Hash a string or an array of words.
14028 * @static
14029 * @param {bitArray|String} data the data to hash.
14030 * @return {bitArray} The hash value, an array of 16 big-endian words.
14031 */
14032sjcl.hash.sha512.hash = function (data) {
14033 return (new sjcl.hash.sha512()).update(data).finalize();
14034};
14035
14036sjcl.hash.sha512.prototype = {
14037 /**
14038 * The hash's block size, in bits.
14039 * @constant
14040 */
14041 blockSize: 1024,
14042
14043 /**
14044 * Reset the hash state.
14045 * @return this
14046 */
14047 reset:function () {
14048 this._h = this._init.slice(0);
14049 this._buffer = [];
14050 this._length = 0;
14051 return this;
14052 },
14053
14054 /**
14055 * Input several words to the hash.
14056 * @param {bitArray|String} data the data to hash.
14057 * @return this
14058 */
14059 update: function (data) {
14060 if (typeof data === "string") {
14061 data = sjcl.codec.utf8String.toBits(data);
ebd8d4e8 14062 }
80c4dd2a
IC
14063 var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
14064 ol = this._length,
14065 nl = this._length = ol + sjcl.bitArray.bitLength(data);
14066 for (i = 1024+ol & -1024; i <= nl; i+= 1024) {
14067 this._block(b.splice(0,32));
ebd8d4e8 14068 }
80c4dd2a
IC
14069 return this;
14070 },
14071
14072 /**
14073 * Complete hashing and output the hash value.
14074 * @return {bitArray} The hash value, an array of 16 big-endian words.
14075 */
14076 finalize:function () {
14077 var i, b = this._buffer, h = this._h;
14078
14079 // Round out and push the buffer
14080 b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
14081
14082 // Round out the buffer to a multiple of 32 words, less the 4 length words.
14083 for (i = b.length + 4; i & 31; i++) {
14084 b.push(0);
ebd8d4e8 14085 }
80c4dd2a
IC
14086
14087 // append the length
14088 b.push(0);
14089 b.push(0);
14090 b.push(Math.floor(this._length / 0x100000000));
14091 b.push(this._length | 0);
14092
14093 while (b.length) {
14094 this._block(b.splice(0,32));
ebd8d4e8 14095 }
80c4dd2a
IC
14096
14097 this.reset();
14098 return h;
14099 },
14100
14101 /**
14102 * The SHA-512 initialization vector, to be precomputed.
14103 * @private
14104 */
14105 _init:[],
14106
14107 /**
14108 * Least significant 24 bits of SHA512 initialization values.
14109 *
14110 * Javascript only has 53 bits of precision, so we compute the 40 most
14111 * significant bits and add the remaining 24 bits as constants.
14112 *
14113 * @private
14114 */
14115 _initr: [ 0xbcc908, 0xcaa73b, 0x94f82b, 0x1d36f1, 0xe682d1, 0x3e6c1f, 0x41bd6b, 0x7e2179 ],
14116
14117 /*
14118 _init:
14119 [0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b, 0x3c6ef372, 0xfe94f82b, 0xa54ff53a, 0x5f1d36f1,
14120 0x510e527f, 0xade682d1, 0x9b05688c, 0x2b3e6c1f, 0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19, 0x137e2179],
14121 */
14122
14123 /**
14124 * The SHA-512 hash key, to be precomputed.
14125 * @private
14126 */
14127 _key:[],
14128
14129 /**
14130 * Least significant 24 bits of SHA512 key values.
14131 * @private
14132 */
14133 _keyr:
14134 [0x28ae22, 0xef65cd, 0x4d3b2f, 0x89dbbc, 0x48b538, 0x05d019, 0x194f9b, 0x6d8118,
14135 0x030242, 0x706fbe, 0xe4b28c, 0xffb4e2, 0x7b896f, 0x1696b1, 0xc71235, 0x692694,
14136 0xf14ad2, 0x4f25e3, 0x8cd5b5, 0xac9c65, 0x2b0275, 0xa6e483, 0x41fbd4, 0x1153b5,
14137 0x66dfab, 0xb43210, 0xfb213f, 0xef0ee4, 0xa88fc2, 0x0aa725, 0x03826f, 0x0e6e70,
14138 0xd22ffc, 0x26c926, 0xc42aed, 0x95b3df, 0xaf63de, 0x77b2a8, 0xedaee6, 0x82353b,
14139 0xf10364, 0x423001, 0xf89791, 0x54be30, 0xef5218, 0x65a910, 0x71202a, 0xbbd1b8,
14140 0xd2d0c8, 0x41ab53, 0x8eeb99, 0x9b48a8, 0xc95a63, 0x418acb, 0x63e373, 0xb2b8a3,
14141 0xefb2fc, 0x172f60, 0xf0ab72, 0x6439ec, 0x631e28, 0x82bde9, 0xc67915, 0x72532b,
14142 0x26619c, 0xc0c207, 0xe0eb1e, 0x6ed178, 0x176fba, 0xc898a6, 0xf90dae, 0x1c471b,
14143 0x047d84, 0xc72493, 0xc9bebc, 0x100d4c, 0x3e42b6, 0x657e2a, 0xd6faec, 0x475817],
14144
14145 /*
14146 _key:
14147 [0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
14148 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
14149 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
14150 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
14151 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
14152 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
14153 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
14154 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
14155 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
14156 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
14157 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
14158 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
14159 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
14160 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
14161 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
14162 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
14163 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
14164 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
14165 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
14166 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817],
14167 */
14168
14169 /**
14170 * Function to precompute _init and _key.
14171 * @private
14172 */
14173 _precompute: function () {
14174 // XXX: This code is for precomputing the SHA256 constants, change for
14175 // SHA512 and re-enable.
14176 var i = 0, prime = 2, factor;
14177
14178 function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }
14179 function frac2(x) { return (x-Math.floor(x)) * 0x10000000000 & 0xff; }
14180
14181 outer: for (; i<80; prime++) {
14182 for (factor=2; factor*factor <= prime; factor++) {
14183 if (prime % factor === 0) {
14184 // not a prime
14185 continue outer;
ebd8d4e8 14186 }
80c4dd2a
IC
14187 }
14188
14189 if (i<8) {
14190 this._init[i*2] = frac(Math.pow(prime, 1/2));
14191 this._init[i*2+1] = (frac2(Math.pow(prime, 1/2)) << 24) | this._initr[i];
14192 }
14193 this._key[i*2] = frac(Math.pow(prime, 1/3));
14194 this._key[i*2+1] = (frac2(Math.pow(prime, 1/3)) << 24) | this._keyr[i];
14195 i++;
ebd8d4e8 14196 }
80c4dd2a
IC
14197 },
14198
14199 /**
14200 * Perform one cycle of SHA-512.
14201 * @param {bitArray} words one block of words.
14202 * @private
14203 */
14204 _block:function (words) {
14205 var i, wrh, wrl,
14206 w = words.slice(0),
14207 h = this._h,
14208 k = this._key,
14209 h0h = h[ 0], h0l = h[ 1], h1h = h[ 2], h1l = h[ 3],
14210 h2h = h[ 4], h2l = h[ 5], h3h = h[ 6], h3l = h[ 7],
14211 h4h = h[ 8], h4l = h[ 9], h5h = h[10], h5l = h[11],
14212 h6h = h[12], h6l = h[13], h7h = h[14], h7l = h[15];
14213
14214 // Working variables
14215 var ah = h0h, al = h0l, bh = h1h, bl = h1l,
14216 ch = h2h, cl = h2l, dh = h3h, dl = h3l,
14217 eh = h4h, el = h4l, fh = h5h, fl = h5l,
14218 gh = h6h, gl = h6l, hh = h7h, hl = h7l;
14219
14220 for (i=0; i<80; i++) {
14221 // load up the input word for this round
14222 if (i<16) {
14223 wrh = w[i * 2];
14224 wrl = w[i * 2 + 1];
14225 } else {
14226 // Gamma0
14227 var gamma0xh = w[(i-15) * 2];
14228 var gamma0xl = w[(i-15) * 2 + 1];
14229 var gamma0h =
14230 ((gamma0xl << 31) | (gamma0xh >>> 1)) ^
14231 ((gamma0xl << 24) | (gamma0xh >>> 8)) ^
14232 (gamma0xh >>> 7);
14233 var gamma0l =
14234 ((gamma0xh << 31) | (gamma0xl >>> 1)) ^
14235 ((gamma0xh << 24) | (gamma0xl >>> 8)) ^
14236 ((gamma0xh << 25) | (gamma0xl >>> 7));
14237
14238 // Gamma1
14239 var gamma1xh = w[(i-2) * 2];
14240 var gamma1xl = w[(i-2) * 2 + 1];
14241 var gamma1h =
14242 ((gamma1xl << 13) | (gamma1xh >>> 19)) ^
14243 ((gamma1xh << 3) | (gamma1xl >>> 29)) ^
14244 (gamma1xh >>> 6);
14245 var gamma1l =
14246 ((gamma1xh << 13) | (gamma1xl >>> 19)) ^
14247 ((gamma1xl << 3) | (gamma1xh >>> 29)) ^
14248 ((gamma1xh << 26) | (gamma1xl >>> 6));
14249
14250 // Shortcuts
14251 var wr7h = w[(i-7) * 2];
14252 var wr7l = w[(i-7) * 2 + 1];
14253
14254 var wr16h = w[(i-16) * 2];
14255 var wr16l = w[(i-16) * 2 + 1];
14256
14257 // W(round) = gamma0 + W(round - 7) + gamma1 + W(round - 16)
14258 wrl = gamma0l + wr7l;
14259 wrh = gamma0h + wr7h + ((wrl >>> 0) < (gamma0l >>> 0) ? 1 : 0);
14260 wrl += gamma1l;
14261 wrh += gamma1h + ((wrl >>> 0) < (gamma1l >>> 0) ? 1 : 0);
14262 wrl += wr16l;
14263 wrh += wr16h + ((wrl >>> 0) < (wr16l >>> 0) ? 1 : 0);
14264 }
14265
14266 w[i*2] = wrh |= 0;
14267 w[i*2 + 1] = wrl |= 0;
14268
14269 // Ch
14270 var chh = (eh & fh) ^ (~eh & gh);
14271 var chl = (el & fl) ^ (~el & gl);
14272
14273 // Maj
14274 var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch);
14275 var majl = (al & bl) ^ (al & cl) ^ (bl & cl);
14276
14277 // Sigma0
14278 var sigma0h = ((al << 4) | (ah >>> 28)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7));
14279 var sigma0l = ((ah << 4) | (al >>> 28)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7));
14280
14281 // Sigma1
14282 var sigma1h = ((el << 18) | (eh >>> 14)) ^ ((el << 14) | (eh >>> 18)) ^ ((eh << 23) | (el >>> 9));
14283 var sigma1l = ((eh << 18) | (el >>> 14)) ^ ((eh << 14) | (el >>> 18)) ^ ((el << 23) | (eh >>> 9));
14284
14285 // K(round)
14286 var krh = k[i*2];
14287 var krl = k[i*2+1];
14288
14289 // t1 = h + sigma1 + ch + K(round) + W(round)
14290 var t1l = hl + sigma1l;
14291 var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0);
14292 t1l += chl;
14293 t1h += chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0);
14294 t1l += krl;
14295 t1h += krh + ((t1l >>> 0) < (krl >>> 0) ? 1 : 0);
14296 t1l = t1l + wrl|0; // FF32..FF34 perf issue https://bugzilla.mozilla.org/show_bug.cgi?id=1054972
14297 t1h += wrh + ((t1l >>> 0) < (wrl >>> 0) ? 1 : 0);
14298
14299 // t2 = sigma0 + maj
14300 var t2l = sigma0l + majl;
14301 var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0);
14302
14303 // Update working variables
14304 hh = gh;
14305 hl = gl;
14306 gh = fh;
14307 gl = fl;
14308 fh = eh;
14309 fl = el;
14310 el = (dl + t1l) | 0;
14311 eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
14312 dh = ch;
14313 dl = cl;
14314 ch = bh;
14315 cl = bl;
14316 bh = ah;
14317 bl = al;
14318 al = (t1l + t2l) | 0;
14319 ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0;
14320 }
14321
14322 // Intermediate hash
14323 h0l = h[1] = (h0l + al) | 0;
14324 h[0] = (h0h + ah + ((h0l >>> 0) < (al >>> 0) ? 1 : 0)) | 0;
14325 h1l = h[3] = (h1l + bl) | 0;
14326 h[2] = (h1h + bh + ((h1l >>> 0) < (bl >>> 0) ? 1 : 0)) | 0;
14327 h2l = h[5] = (h2l + cl) | 0;
14328 h[4] = (h2h + ch + ((h2l >>> 0) < (cl >>> 0) ? 1 : 0)) | 0;
14329 h3l = h[7] = (h3l + dl) | 0;
14330 h[6] = (h3h + dh + ((h3l >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
14331 h4l = h[9] = (h4l + el) | 0;
14332 h[8] = (h4h + eh + ((h4l >>> 0) < (el >>> 0) ? 1 : 0)) | 0;
14333 h5l = h[11] = (h5l + fl) | 0;
14334 h[10] = (h5h + fh + ((h5l >>> 0) < (fl >>> 0) ? 1 : 0)) | 0;
14335 h6l = h[13] = (h6l + gl) | 0;
14336 h[12] = (h6h + gh + ((h6l >>> 0) < (gl >>> 0) ? 1 : 0)) | 0;
14337 h7l = h[15] = (h7l + hl) | 0;
14338 h[14] = (h7h + hh + ((h7l >>> 0) < (hl >>> 0) ? 1 : 0)) | 0;
14339 }
14340};
14341
14342
14343//// hmac.js
14344
14345/** @fileOverview HMAC implementation.
14346 *
14347 * @author Emily Stark
14348 * @author Mike Hamburg
14349 * @author Dan Boneh
14350 */
14351
14352/** HMAC with the specified hash function.
14353 * @constructor
14354 * @param {bitArray} key the key for HMAC.
14355 * @param {Object} [hash=sjcl.hash.sha256] The hash function to use.
14356 */
14357sjcl.misc.hmac = function (key, Hash) {
14358 this._hash = Hash = Hash || sjcl.hash.sha256;
14359 var exKey = [[],[]], i,
14360 bs = Hash.prototype.blockSize / 32;
14361 this._baseHash = [new Hash(), new Hash()];
14362
14363 if (key.length > bs) {
14364 key = Hash.hash(key);
14365 }
14366
14367 for (i=0; i<bs; i++) {
14368 exKey[0][i] = key[i]^0x36363636;
14369 exKey[1][i] = key[i]^0x5C5C5C5C;
14370 }
14371
14372 this._baseHash[0].update(exKey[0]);
14373 this._baseHash[1].update(exKey[1]);
14374 this._resultHash = new Hash(this._baseHash[0]);
14375};
14376
14377/** HMAC with the specified hash function. Also called encrypt since it's a prf.
14378 * @param {bitArray|String} data The data to mac.
14379 */
14380sjcl.misc.hmac.prototype.encrypt = sjcl.misc.hmac.prototype.mac = function (data) {
14381 if (!this._updated) {
14382 this.update(data);
14383 return this.digest(data);
14384 } else {
14385 throw new sjcl.exception.invalid("encrypt on already updated hmac called!");
14386 }
14387};
14388
14389sjcl.misc.hmac.prototype.reset = function () {
14390 this._resultHash = new this._hash(this._baseHash[0]);
14391 this._updated = false;
14392};
14393
14394sjcl.misc.hmac.prototype.update = function (data) {
14395 this._updated = true;
14396 this._resultHash.update(data);
14397};
14398
14399sjcl.misc.hmac.prototype.digest = function () {
14400 var w = this._resultHash.finalize(), result = new (this._hash)(this._baseHash[1]).update(w).finalize();
14401
14402 this.reset();
14403
14404 return result;
14405};
14406
14407
14408//// pbkdf2.js
14409
14410
14411/** @fileOverview Password-based key-derivation function, version 2.0.
14412 *
14413 * @author Emily Stark
14414 * @author Mike Hamburg
14415 * @author Dan Boneh
14416 */
14417
14418/** Password-Based Key-Derivation Function, version 2.0.
14419 *
14420 * Generate keys from passwords using PBKDF2-HMAC-SHA256.
14421 *
14422 * This is the method specified by RSA's PKCS #5 standard.
14423 *
14424 * @param {bitArray|String} password The password.
14425 * @param {bitArray|String} salt The salt. Should have lots of entropy.
14426 * @param {Number} [count=1000] The number of iterations. Higher numbers make the function slower but more secure.
14427 * @param {Number} [length] The length of the derived key. Defaults to the
14428 output size of the hash function.
14429 * @param {Object} [Prff=sjcl.misc.hmac] The pseudorandom function family.
14430 * @return {bitArray} the derived key.
14431 */
14432sjcl.misc.pbkdf2 = function (password, salt, count, length, Prff) {
14433 count = count || 1000;
14434
14435 if (length < 0 || count < 0) {
14436 throw sjcl.exception.invalid("invalid params to pbkdf2");
14437 }
14438
14439 if (typeof password === "string") {
14440 password = sjcl.codec.utf8String.toBits(password);
14441 }
14442
14443 if (typeof salt === "string") {
14444 salt = sjcl.codec.utf8String.toBits(salt);
14445 }
14446
14447 Prff = Prff || sjcl.misc.hmac;
14448
14449 var prf = new Prff(password),
14450 u, ui, i, j, k, out = [], b = sjcl.bitArray;
14451
14452 for (k = 1; 32 * out.length < (length || 1); k++) {
14453 u = ui = prf.encrypt(b.concat(salt,[k]));
14454
14455 for (i=1; i<count; i++) {
14456 ui = prf.encrypt(ui);
14457 for (j=0; j<ui.length; j++) {
14458 u[j] ^= ui[j];
14459 }
ebd8d4e8 14460 }
80c4dd2a
IC
14461
14462 out = out.concat(u);
14463 }
14464
14465 if (length) { out = b.clamp(out, length); }
14466
14467 return out;
14468};
14469
14470
14471//// sha256.js
14472
14473/** @fileOverview Javascript SHA-256 implementation.
14474 *
14475 * An older version of this implementation is available in the public
14476 * domain, but this one is (c) Emily Stark, Mike Hamburg, Dan Boneh,
14477 * Stanford University 2008-2010 and BSD-licensed for liability
14478 * reasons.
14479 *
14480 * Special thanks to Aldo Cortesi for pointing out several bugs in
14481 * this code.
14482 *
14483 * @author Emily Stark
14484 * @author Mike Hamburg
14485 * @author Dan Boneh
14486 */
14487
14488/**
14489 * Context for a SHA-256 operation in progress.
14490 * @constructor
14491 * @class Secure Hash Algorithm, 256 bits.
14492 */
14493sjcl.hash.sha256 = function (hash) {
14494 if (!this._key[0]) { this._precompute(); }
14495 if (hash) {
14496 this._h = hash._h.slice(0);
14497 this._buffer = hash._buffer.slice(0);
14498 this._length = hash._length;
14499 } else {
14500 this.reset();
14501 }
14502};
14503
14504/**
14505 * Hash a string or an array of words.
14506 * @static
14507 * @param {bitArray|String} data the data to hash.
14508 * @return {bitArray} The hash value, an array of 16 big-endian words.
14509 */
14510sjcl.hash.sha256.hash = function (data) {
14511 return (new sjcl.hash.sha256()).update(data).finalize();
14512};
14513
14514sjcl.hash.sha256.prototype = {
14515 /**
14516 * The hash's block size, in bits.
14517 * @constant
14518 */
14519 blockSize: 512,
14520
14521 /**
14522 * Reset the hash state.
14523 * @return this
14524 */
14525 reset:function () {
14526 this._h = this._init.slice(0);
14527 this._buffer = [];
14528 this._length = 0;
14529 return this;
14530 },
14531
14532 /**
14533 * Input several words to the hash.
14534 * @param {bitArray|String} data the data to hash.
14535 * @return this
14536 */
14537 update: function (data) {
14538 if (typeof data === "string") {
14539 data = sjcl.codec.utf8String.toBits(data);
14540 }
14541 var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
14542 ol = this._length,
14543 nl = this._length = ol + sjcl.bitArray.bitLength(data);
14544 for (i = 512+ol & -512; i <= nl; i+= 512) {
14545 this._block(b.splice(0,16));
ebd8d4e8 14546 }
3af2954a 14547 return this;
80c4dd2a
IC
14548 },
14549
14550 /**
14551 * Complete hashing and output the hash value.
14552 * @return {bitArray} The hash value, an array of 8 big-endian words.
14553 */
14554 finalize:function () {
14555 var i, b = this._buffer, h = this._h;
14556
14557 // Round out and push the buffer
14558 b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
14559
14560 // Round out the buffer to a multiple of 16 words, less the 2 length words.
14561 for (i = b.length + 2; i & 15; i++) {
14562 b.push(0);
14563 }
14564
14565 // append the length
14566 b.push(Math.floor(this._length / 0x100000000));
14567 b.push(this._length | 0);
14568
14569 while (b.length) {
14570 this._block(b.splice(0,16));
14571 }
14572
14573 this.reset();
14574 return h;
14575 },
14576
14577 /**
14578 * The SHA-256 initialization vector, to be precomputed.
14579 * @private
14580 */
14581 _init:[],
14582 /*
14583 _init:[0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19],
14584 */
14585
14586 /**
14587 * The SHA-256 hash key, to be precomputed.
14588 * @private
14589 */
14590 _key:[],
14591 /*
14592 _key:
14593 [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
14594 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
14595 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
14596 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
14597 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
14598 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
14599 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
14600 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2],
14601 */
14602
14603
14604 /**
14605 * Function to precompute _init and _key.
14606 * @private
14607 */
14608 _precompute: function () {
14609 var i = 0, prime = 2, factor;
14610
14611 function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }
14612
14613 outer: for (; i<64; prime++) {
14614 for (factor=2; factor*factor <= prime; factor++) {
14615 if (prime % factor === 0) {
14616 // not a prime
14617 continue outer;
ebd8d4e8 14618 }
80c4dd2a
IC
14619 }
14620
14621 if (i<8) {
14622 this._init[i] = frac(Math.pow(prime, 1/2));
14623 }
14624 this._key[i] = frac(Math.pow(prime, 1/3));
14625 i++;
ebd8d4e8 14626 }
80c4dd2a
IC
14627 },
14628
14629 /**
14630 * Perform one cycle of SHA-256.
14631 * @param {bitArray} words one block of words.
14632 * @private
14633 */
14634 _block:function (words) {
14635 var i, tmp, a, b,
14636 w = words.slice(0),
14637 h = this._h,
14638 k = this._key,
14639 h0 = h[0], h1 = h[1], h2 = h[2], h3 = h[3],
14640 h4 = h[4], h5 = h[5], h6 = h[6], h7 = h[7];
14641
14642 /* Rationale for placement of |0 :
14643 * If a value can overflow is original 32 bits by a factor of more than a few
14644 * million (2^23 ish), there is a possibility that it might overflow the
14645 * 53-bit mantissa and lose precision.
14646 *
14647 * To avoid this, we clamp back to 32 bits by |'ing with 0 on any value that
14648 * propagates around the loop, and on the hash state h[]. I don't believe
14649 * that the clamps on h4 and on h0 are strictly necessary, but it's close
14650 * (for h4 anyway), and better safe than sorry.
14651 *
14652 * The clamps on h[] are necessary for the output to be correct even in the
14653 * common case and for short inputs.
14654 */
14655 for (i=0; i<64; i++) {
14656 // load up the input word for this round
14657 if (i<16) {
14658 tmp = w[i];
14659 } else {
14660 a = w[(i+1 ) & 15];
14661 b = w[(i+14) & 15];
14662 tmp = w[i&15] = ((a>>>7 ^ a>>>18 ^ a>>>3 ^ a<<25 ^ a<<14) +
14663 (b>>>17 ^ b>>>19 ^ b>>>10 ^ b<<15 ^ b<<13) +
14664 w[i&15] + w[(i+9) & 15]) | 0;
14665 }
14666
14667 tmp = (tmp + h7 + (h4>>>6 ^ h4>>>11 ^ h4>>>25 ^ h4<<26 ^ h4<<21 ^ h4<<7) + (h6 ^ h4&(h5^h6)) + k[i]); // | 0;
14668
14669 // shift register
14670 h7 = h6; h6 = h5; h5 = h4;
14671 h4 = h3 + tmp | 0;
14672 h3 = h2; h2 = h1; h1 = h0;
14673
14674 h0 = (tmp + ((h1&h2) ^ (h3&(h1^h2))) + (h1>>>2 ^ h1>>>13 ^ h1>>>22 ^ h1<<30 ^ h1<<19 ^ h1<<10)) | 0;
14675 }
14676
14677 h[0] = h[0]+h0 | 0;
14678 h[1] = h[1]+h1 | 0;
14679 h[2] = h[2]+h2 | 0;
14680 h[3] = h[3]+h3 | 0;
14681 h[4] = h[4]+h4 | 0;
14682 h[5] = h[5]+h5 | 0;
14683 h[6] = h[6]+h6 | 0;
14684 h[7] = h[7]+h7 | 0;
14685 }
14686};
ea87f1d3
IC
14687</script>
14688 <script>// An extremely basic translation library
14689//
14690// Example usage:
14691//
14692// Set some html to be translated. Do this using the 'data-translate' attribute:
14693//
14694// <div data-translate>Test</div>
14695// <div data-translate-html><em>keep em tag</em></div>
14696// <input data-translate-placeholder placeholder="Example text">
14697//
14698// Obtain all the phrases to be translated via js debug console:
14699//
14700// Translate.phrasesAsJson();
14701//
14702// Use that template to translate the phrases into another language.
14703// Leave the key the same. Change the value to the new language.
14704//
14705// Create a js file to load the new phrases. In this example for Spanish,
14706// es.js will contain the following code:
14707//
14708// Translate.loadForeignPhrases("es", {
14709// "Test": "Test in Spanish",
14710// "<em>keep em tag</em>": "<em>keep em tag in Spanish</em>",
14711// "Example text": "Example text in Spanish"
14712// });
14713//
14714// In your UI put a listener for clicking on the Spanish button:
14715//
14716// mySpanishButton.addEventListener("click", function() {
14717// Translate.setLanguage("es");
14718// });
14719// myEnglishButton.addEventListener("click", function() {
14720// Translate.setLanguage("en");
14721// });
14722
14723Translate = new (function() {
14724
14725 var defaultLanguage = "en";
14726
14727 var allPhrases = {};
14728 allPhrases[defaultLanguage] = {};
14729
14730 // Node types
14731
14732 var text = {
14733 selector: "[data-translate]",
14734 getKey: function() {
14735 return this.textContent.trim().replace(/\s+/g, " ");
14736 },
14737 setPhrase: function(p) {
14738 this.textContent = p;
14739 },
14740 }
14741
14742 var html = {
14743 selector: "[data-translate-html]",
14744 getKey: function() {
14745 return this.innerHTML.trim().replace(/\s+/g, " ");
14746 },
14747 setPhrase: function(p) {
14748 this.innerHTML = p;
14749 },
14750 }
14751
14752 var placeholder = {
14753 selector: "[data-translate-placeholder]",
14754 getKey: function() {
14755 return this.getAttribute("placeholder").trim().replace(/\s+/g, " ");
14756 },
14757 setPhrase: function(p) {
14758 this.setAttribute("placeholder", p);
14759 },
14760 }
14761
14762 // Get elements to be translated
14763 var allEls = getEls(text)
14764 .concat(getEls(html))
14765 .concat(getEls(placeholder));
14766
14767 // Provides access to phrases from a non-default language.
14768 // See phrases_en.js for example usage.
14769 this.loadForeignPhrases = function(language, phrases) {
14770 allPhrases[language] = phrases;
14771 }
14772
14773 // Displays a different language, eg "en" or "fr"
14774 this.setLanguage = function(language) {
14775 for (var i=0; i<allEls.length; i++) {
14776 var el = allEls[i];
14777 var key = el.key;
14778 if (!(language in allPhrases)) {
14779 console.log(language + " not in allPhrases");
14780 return;
14781 }
14782 if (!(key in allPhrases[language])) {
14783 console.log(language + " does not contain phrase: " + key);
14784 return;
14785 }
14786 var phrase = allPhrases[language][key];
14787 el.setPhrase(phrase);
14788 }
14789 }
14790
14791 // Converts the phrases to a key-pair json file.
14792 // This is a good way to export phrases for use in translation tools.
14793 this.phrasesAsJson = function(language) {
14794 var keys = [];
14795 for (var i=0; i<allEls.length; i++) {
14796 var el = allEls[i];
14797 var key = el.key;
14798 keys.push(key);
14799 }
14800 keys.sort();
14801 var output = {};
14802 for (var i=0; i<keys.length; i++) {
14803 var key = keys[i];
14804 var translated = "";
14805 if (language in allPhrases && key in allPhrases[language]) {
14806 translated = allPhrases[language][key];
14807 }
14808 output[key] = translated;
14809 }
14810 return JSON.stringify(output, null, 2);
14811 }
14812
14813 function getEls(nodeType) {
14814 var nodes = document.querySelectorAll(nodeType.selector);
14815 var els = [];
14816 for (var i=0; i<nodes.length; i++) {
14817 var node = nodes[i];
14818 node.getKey = nodeType.getKey;
14819 node.setPhrase = nodeType.setPhrase;
14820 node.key = node.getKey();
14821 allPhrases[defaultLanguage][node.key] = node.key;
14822 els.push(node);
14823 }
14824 return els;
14825 }
14826
14827})();
14828</script>
14829 <script>Translate.loadForeignPhrases("en",
14830{
14831 "<code>m/44'/0'/0'/0</code> generates public addresses": "<code>m/44'/0'/0'/0</code> generates public addresses",
14832 "<code>m/44'/0'/0'/1</code> generates change addresses": "<code>m/44'/0'/0'/1</code> generates change addresses",
14833 "<code>m/44'/0'/0'</code> generates extended keys for import / export": "<code>m/44'/0'/0'</code> generates extended keys for import / export",
14834 "<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).",
14835 "Accepts binary, base 6, 6-sided dice, base 10, hexadecimal, cards": "Accepts binary, base 6, 6-sided dice, base 10, hexadecimal, cards",
14836 "Account": "Account",
14837 "Address": "Address",
14838 "Alternatively, download the file from the repository": "Alternatively, download the file from the repository",
14839 "BIP32 Derivation Path": "BIP32 Derivation Path",
14840 "BIP32 Extended Key": "BIP32 Extended Key",
14841 "BIP32 Extended Key (addresses only)": "BIP32 Extended Key (addresses only)",
14842 "BIP32 Root Key": "BIP32 Root Key",
14843 "BIP39 Mnemonic": "BIP39 Mnemonic",
14844 "BIP39 Passphrase (optional)": "BIP39 Passphrase (optional)",
14845 "BIP39 Seed": "BIP39 Seed",
14846 "Base 10": "Base 10",
14847 "Base 6": "Base 6",
14848 "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.",
14849 "Binary": "Binary",
14850 "Bitcoin Core": "Bitcoin Core",
14851 "Bits Per Event": "Bits Per Event",
14852 "Block Explorers": "Block Explorers",
14853 "Can be used with": "Can be used with",
14854 "Card": "Card",
14855 "Coin": "Coin",
14856 "Dice": "Dice",
14857 "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.",
14858 "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.",
14859 "Entropy": "Entropy",
14860 "Entropy Type": "Entropy Type",
14861 "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.",
14862 "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>.",
14863 "Event Count": "Event Count",
14864 "External / Internal": "External / Internal",
14865 "Filtered Entropy": "Filtered Entropy",
14866 "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>",
14867 "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>.",
14868 "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>.",
14869 "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>",
14870 "For more info see the BIP32 spec": "For more info see the BIP32 spec",
14871 "From entropy length (3 words per 32 bits)": "From entropy length (3 words per 32 bits)",
14872 "Generate a random mnemonic, or enter your own below": "Generate a random mnemonic, or enter your own below",
14873 "Get the source code from the repository": "Get the source code from the repository",
14874 "Hex": "Hex",
14875 "Hierarchical Deterministic Wallets": "Hierarchical Deterministic Wallets",
14876 "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.",
14877 "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.",
14878 "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.",
14879 "Libraries": "Libraries",
14880 "Mnemonic Language": "Mnemonic Language",
14881 "Mnemonic Length": "Mnemonic Length",
14882 "Mnemonic code for generating deterministic keys": "Mnemonic code for generating deterministic keys",
14883 "More info": "More info",
14884 "Multi-Account Hierarchy for Deterministic Wallets": "Multi-Account Hierarchy for Deterministic Wallets",
14885 "Mycelium Wallet": "Mycelium Wallet",
14886 "Note these addreses are derived from the BIP32 Extended Key": "Note these addreses are derived from the BIP32 Extended Key",
14887 "Offline Usage": "Offline Usage",
14888 "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.",
14889 "Path": "Path",
14890 "Private Key": "Private Key",
14891 "Private Keys": "Private Keys",
14892 "Public Key": "Public Key",
14893 "Purpose": "Purpose",
14894 "Raw Binary": "Raw Binary",
14895 "Read more": "Read more",
14896 "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>",
14897 "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>",
14898 "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>",
14899 "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>",
14900 "Show": "Show",
14901 "Show more rows": "Show more rows",
14902 "Strength": "Strength",
14903 "Supply my own source of entropy": "Supply my own source of entropy",
14904 "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.",
14905 "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>.",
14906 "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.",
14907 "This project is 100% open-source code": "This project is 100% open-source code",
14908 "Toggle": "Toggle",
14909 "Total Bits": "Total Bits",
14910 "Use hardened addresses": "Use hardened addresses",
14911 "Use path <code>m/0'/0'</code> with hardened addresses.": "Use path <code>m/0'/0'</code> with hardened addresses.",
14912 "Use path <code>m/44'/0'/0'</code>.": "Use path <code>m/44'/0'/0'</code>.",
14913 "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>.",
14914 "Valid entropy values include:": "Valid entropy values include:",
14915 "Warning": "Warning",
14916 "Word Count": "Word Count",
14917 "You are not a good source of entropy.": "You are not a good source of entropy.",
14918 "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).",
14919 "You can use this tool without having to be online.": "You can use this tool without having to be online.",
14920 "words": "words"
14921}
14922);
dc55c6b0 14923</script>
ab78acc6 14924 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
3af2954a 14925WORDLISTS["english"] = [
ebd8d4e8
IC
14926"abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse",
14927"access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act",
14928"action","actor","actress","actual","adapt","add","addict","address","adjust","admit",
14929"adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent",
14930"agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert",
14931"alien","all","alley","allow","almost","alone","alpha","already","also","alter",
14932"always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger",
14933"angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique",
14934"anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic",
14935"area","arena","argue","arm","armed","armor","army","around","arrange","arrest",
14936"arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset",
14937"assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction",
14938"audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake",
14939"aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge",
14940"bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain",
14941"barrel","base","basic","basket","battle","beach","bean","beauty","because","become",
14942"beef","before","begin","behave","behind","believe","below","belt","bench","benefit",
14943"best","betray","better","between","beyond","bicycle","bid","bike","bind","biology",
14944"bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless",
14945"blind","blood","blossom","blouse","blue","blur","blush","board","boat","body",
14946"boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss",
14947"bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread",
14948"breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze",
14949"broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb",
14950"bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy",
14951"butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call",
14952"calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas",
14953"canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry",
14954"cart","case","cash","casino","castle","casual","cat","catalog","catch","category",
14955"cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century",
14956"cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase",
14957"chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child",
14958"chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle",
14959"citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk",
14960"clever","click","client","cliff","climb","clinic","clip","clock","clog","close",
14961"cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut",
14962"code","coffee","coil","coin","collect","color","column","combine","come","comfort",
14963"comic","common","company","concert","conduct","confirm","congress","connect","consider","control",
14964"convince","cook","cool","copper","copy","coral","core","corn","correct","cost",
14965"cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle",
14966"craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek",
14967"crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial",
14968"cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup",
14969"cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad",
14970"damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal",
14971"debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense",
14972"define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny",
14973"depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk",
14974"despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond",
14975"diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur",
14976"direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance",
14977"divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain",
14978"donate","donkey","donor","door","dose","double","dove","draft","dragon","drama",
14979"drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop",
14980"drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf",
14981"dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo",
14982"ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow",
14983"elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody",
14984"embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless",
14985"endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough",
14986"enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip",
14987"era","erase","erode","erosion","error","erupt","escape","essay","essence","estate",
14988"eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange",
14989"excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit",
14990"exotic","expand","expect","expire","explain","expose","express","extend","extra","eye",
14991"eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame",
14992"family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father",
14993"fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female",
14994"fence","festival","fetch","fever","few","fiber","fiction","field","figure","file",
14995"film","filter","final","find","fine","finger","finish","fire","firm","first",
14996"fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor",
14997"flee","flight","flip","float","flock","floor","flower","fluid","flush","fly",
14998"foam","focus","fog","foil","fold","follow","food","foot","force","forest",
14999"forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile",
15000"frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen",
15001"fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy",
15002"gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp",
15003"gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture",
15004"ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance",
15005"glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue",
15006"goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown",
15007"grab","grace","grain","grant","grape","grass","gravity","great","green","grid",
15008"grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt",
15009"guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy",
15010"harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health",
15011"heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden",
15012"high","hill","hint","hip","hire","history","hobby","hockey","hold","hole",
15013"holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital",
15014"host","hotel","hour","hover","hub","huge","human","humble","humor","hundred",
15015"hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea",
15016"identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune",
15017"impact","impose","improve","impulse","inch","include","income","increase","index","indicate",
15018"indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury",
15019"inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install",
15020"intact","interest","into","invest","invite","involve","iron","island","isolate","issue",
15021"item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel",
15022"job","join","joke","journey","joy","judge","juice","jump","jungle","junior",
15023"junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney",
15024"kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife",
15025"knock","know","lab","label","labor","ladder","lady","lake","lamp","language",
15026"laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit",
15027"layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal",
15028"legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level",
15029"liar","liberty","library","license","life","lift","light","like","limb","limit",
15030"link","lion","liquid","list","little","live","lizard","load","loan","lobster",
15031"local","lock","logic","lonely","long","loop","lottery","loud","lounge","love",
15032"loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad",
15033"magic","magnet","maid","mail","main","major","make","mammal","man","manage",
15034"mandate","mango","mansion","manual","maple","marble","march","margin","marine","market",
15035"marriage","mask","mass","master","match","material","math","matrix","matter","maximum",
15036"maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt",
15037"member","memory","mention","menu","mercy","merge","merit","merry","mesh","message",
15038"metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor",
15039"minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile",
15040"model","modify","mom","moment","monitor","monkey","monster","month","moon","moral",
15041"more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie",
15042"much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual",
15043"myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature",
15044"near","neck","need","negative","neglect","neither","nephew","nerve","nest","net",
15045"network","neutral","never","news","next","nice","night","noble","noise","nominee",
15046"noodle","normal","north","nose","notable","note","nothing","notice","novel","now",
15047"nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe",
15048"obtain","obvious","occur","ocean","october","odor","off","offer","office","often",
15049"oil","okay","old","olive","olympic","omit","once","one","onion","online",
15050"only","open","opera","opinion","oppose","option","orange","orbit","orchard","order",
15051"ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output",
15052"outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact",
15053"paddle","page","pair","palace","palm","panda","panel","panic","panther","paper",
15054"parade","parent","park","parrot","party","pass","patch","path","patient","patrol",
15055"pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen",
15056"penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo",
15057"phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot",
15058"pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate",
15059"play","please","pledge","pluck","plug","plunge","poem","poet","point","polar",
15060"pole","police","pond","pony","pool","popular","portion","position","possible","post",
15061"potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare",
15062"present","pretty","prevent","price","pride","primary","print","priority","prison","private",
15063"prize","problem","process","produce","profit","program","project","promote","proof","property",
15064"prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin",
15065"punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle",
15066"pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit",
15067"raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp",
15068"ranch","random","range","rapid","rare","rate","rather","raven","raw","razor",
15069"ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle",
15070"reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release",
15071"relief","rely","remain","remember","remind","remove","render","renew","rent","reopen",
15072"repair","repeat","replace","report","require","rescue","resemble","resist","resource","response",
15073"result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib",
15074"ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot",
15075"ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket",
15076"romance","roof","rookie","room","rose","rotate","rough","round","route","royal",
15077"rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness",
15078"safe","sail","salad","salmon","salon","salt","salute","same","sample","sand",
15079"satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter",
15080"scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script",
15081"scrub","sea","search","season","seat","second","secret","section","security","seed",
15082"seek","segment","select","sell","seminar","senior","sense","sentence","series","service",
15083"session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell",
15084"sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop",
15085"short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side",
15086"siege","sight","sign","silent","silk","silly","silver","similar","simple","since",
15087"sing","siren","sister","situate","six","size","skate","sketch","ski","skill",
15088"skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight",
15089"slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth",
15090"snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda",
15091"soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry",
15092"sort","soul","sound","soup","source","south","space","spare","spatial","spawn",
15093"speak","special","speed","spell","spend","sphere","spice","spider","spike","spin",
15094"spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring",
15095"spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp",
15096"stand","start","state","stay","steak","steel","stem","step","stereo","stick",
15097"still","sting","stock","stomach","stone","stool","story","stove","strategy","street",
15098"strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway",
15099"success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny",
15100"sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey",
15101"suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim",
15102"swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag",
15103"tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi",
15104"teach","team","tell","ten","tenant","tennis","tent","term","test","text",
15105"thank","that","theme","then","theory","there","they","thing","this","thought",
15106"three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber",
15107"time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler",
15108"toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool",
15109"tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist",
15110"toward","tower","town","toy","track","trade","traffic","tragic","train","transfer",
15111"trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick",
15112"trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust",
15113"truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle",
15114"twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella",
15115"unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform",
15116"unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade",
15117"uphold","upon","upper","upset","urban","urge","usage","use","used","useful",
15118"useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van",
15119"vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue",
15120"verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory",
15121"video","view","village","vintage","violin","virtual","virus","visa","visit","visual",
15122"vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage",
15123"wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash",
15124"wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather",
15125"web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat",
15126"wheel","when","where","whip","whisper","wide","width","wife","wild","will",
15127"win","window","wine","wing","wink","winner","winter","wire","wisdom","wise",
15128"wish","witness","wolf","woman","wonder","wood","wool","word","work","world",
15129"worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year",
15130"yellow","you","young","youth","zebra","zero","zone","zoo"]
0515eeec
IC
15131</script>
15132 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15133WORDLISTS["japanese"] = [
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"はたん", "はちみつ", "はつおん", "はっかく", "はづき", "はっきり", "はっくつ", "はっけん", "はっこう", "はっさん",
15291"はっしん", "はったつ", "はっちゅう", "はってん", "はっぴょう", "はっぽう", "はなす", "はなび", "はにかむ", "はぶらし",
15292"はみがき", "はむかう", "はめつ", "はやい", "はやし", "はらう", "はろうぃん", "はわい", "はんい", "はんえい",
15293"はんおん", "はんかく", "はんきょう", "ばんぐみ", "はんこ", "はんしゃ", "はんすう", "はんだん", "ぱんち", "ぱんつ",
15294"はんてい", "はんとし", "はんのう", "はんぱ", "はんぶん", "はんぺん", "はんぼうき", "はんめい", "はんらん", "はんろん",
15295"ひいき", "ひうん", "ひえる", "ひかく", "ひかり", "ひかる", "ひかん", "ひくい", "ひけつ", "ひこうき",
15296"ひこく", "ひさい", "ひさしぶり", "ひさん", "びじゅつかん", "ひしょ", "ひそか", "ひそむ", "ひたむき", "ひだり",
15297"ひたる", "ひつぎ", "ひっこし", "ひっし", "ひつじゅひん", "ひっす", "ひつぜん", "ぴったり", "ぴっちり", "ひつよう",
15298"ひてい", "ひとごみ", "ひなまつり", "ひなん", "ひねる", "ひはん", "ひびく", "ひひょう", "ひほう", "ひまわり",
15299"ひまん", "ひみつ", "ひめい", "ひめじし", "ひやけ", "ひやす", "ひよう", "びょうき", "ひらがな", "ひらく",
15300"ひりつ", "ひりょう", "ひるま", "ひるやすみ", "ひれい", "ひろい", "ひろう", "ひろき", "ひろゆき", "ひんかく",
15301"ひんけつ", "ひんこん", "ひんしゅ", "ひんそう", "ぴんち", "ひんぱん", "びんぼう", "ふあん", "ふいうち", "ふうけい",
15302"ふうせん", "ぷうたろう", "ふうとう", "ふうふ", "ふえる", "ふおん", "ふかい", "ふきん", "ふくざつ", "ふくぶくろ",
15303"ふこう", "ふさい", "ふしぎ", "ふじみ", "ふすま", "ふせい", "ふせぐ", "ふそく", "ぶたにく", "ふたん",
15304"ふちょう", "ふつう", "ふつか", "ふっかつ", "ふっき", "ふっこく", "ぶどう", "ふとる", "ふとん", "ふのう",
15305"ふはい", "ふひょう", "ふへん", "ふまん", "ふみん", "ふめつ", "ふめん", "ふよう", "ふりこ", "ふりる",
15306"ふるい", "ふんいき", "ぶんがく", "ぶんぐ", "ふんしつ", "ぶんせき", "ふんそう", "ぶんぽう", "へいあん", "へいおん",
15307"へいがい", "へいき", "へいげん", "へいこう", "へいさ", "へいしゃ", "へいせつ", "へいそ", "へいたく", "へいてん",
15308"へいねつ", "へいわ", "へきが", "へこむ", "べにいろ", "べにしょうが", "へらす", "へんかん", "べんきょう", "べんごし",
15309"へんさい", "へんたい", "べんり", "ほあん", "ほいく", "ぼうぎょ", "ほうこく", "ほうそう", "ほうほう", "ほうもん",
15310"ほうりつ", "ほえる", "ほおん", "ほかん", "ほきょう", "ぼきん", "ほくろ", "ほけつ", "ほけん", "ほこう",
15311"ほこる", "ほしい", "ほしつ", "ほしゅ", "ほしょう", "ほせい", "ほそい", "ほそく", "ほたて", "ほたる",
15312"ぽちぶくろ", "ほっきょく", "ほっさ", "ほったん", "ほとんど", "ほめる", "ほんい", "ほんき", "ほんけ", "ほんしつ",
15313"ほんやく", "まいにち", "まかい", "まかせる", "まがる", "まける", "まこと", "まさつ", "まじめ", "ますく",
15314"まぜる", "まつり", "まとめ", "まなぶ", "まぬけ", "まねく", "まほう", "まもる", "まゆげ", "まよう",
15315"まろやか", "まわす", "まわり", "まわる", "まんが", "まんきつ", "まんぞく", "まんなか", "みいら", "みうち",
15316"みえる", "みがく", "みかた", "みかん", "みけん", "みこん", "みじかい", "みすい", "みすえる", "みせる",
15317"みっか", "みつかる", "みつける", "みてい", "みとめる", "みなと", "みなみかさい", "みねらる", "みのう", "みのがす",
15318"みほん", "みもと", "みやげ", "みらい", "みりょく", "みわく", "みんか", "みんぞく", "むいか", "むえき",
15319"むえん", "むかい", "むかう", "むかえ", "むかし", "むぎちゃ", "むける", "むげん", "むさぼる", "むしあつい",
15320"むしば", "むじゅん", "むしろ", "むすう", "むすこ", "むすぶ", "むすめ", "むせる", "むせん", "むちゅう",
15321"むなしい", "むのう", "むやみ", "むよう", "むらさき", "むりょう", "むろん", "めいあん", "めいうん", "めいえん",
15322"めいかく", "めいきょく", "めいさい", "めいし", "めいそう", "めいぶつ", "めいれい", "めいわく", "めぐまれる", "めざす",
15323"めした", "めずらしい", "めだつ", "めまい", "めやす", "めんきょ", "めんせき", "めんどう", "もうしあげる", "もうどうけん",
15324"もえる", "もくし", "もくてき", "もくようび", "もちろん", "もどる", "もらう", "もんく", "もんだい", "やおや",
15325"やける", "やさい", "やさしい", "やすい", "やすたろう", "やすみ", "やせる", "やそう", "やたい", "やちん",
15326"やっと", "やっぱり", "やぶる", "やめる", "ややこしい", "やよい", "やわらかい", "ゆうき", "ゆうびんきょく", "ゆうべ",
15327"ゆうめい", "ゆけつ", "ゆしゅつ", "ゆせん", "ゆそう", "ゆたか", "ゆちゃく", "ゆでる", "ゆにゅう", "ゆびわ",
15328"ゆらい", "ゆれる", "ようい", "ようか", "ようきゅう", "ようじ", "ようす", "ようちえん", "よかぜ", "よかん",
15329"よきん", "よくせい", "よくぼう", "よけい", "よごれる", "よさん", "よしゅう", "よそう", "よそく", "よっか",
15330"よてい", "よどがわく", "よねつ", "よやく", "よゆう", "よろこぶ", "よろしい", "らいう", "らくがき", "らくご",
15331"らくさつ", "らくだ", "らしんばん", "らせん", "らぞく", "らたい", "らっか", "られつ", "りえき", "りかい",
15332"りきさく", "りきせつ", "りくぐん", "りくつ", "りけん", "りこう", "りせい", "りそう", "りそく", "りてん",
15333"りねん", "りゆう", "りゅうがく", "りよう", "りょうり", "りょかん", "りょくちゃ", "りょこう", "りりく", "りれき",
15334"りろん", "りんご", "るいけい", "るいさい", "るいじ", "るいせき", "るすばん", "るりがわら", "れいかん", "れいぎ",
15335"れいせい", "れいぞうこ", "れいとう", "れいぼう", "れきし", "れきだい", "れんあい", "れんけい", "れんこん", "れんさい",
15336"れんしゅう", "れんぞく", "れんらく", "ろうか", "ろうご", "ろうじん", "ろうそく", "ろくが", "ろこつ", "ろじうら",
15337"ろしゅつ", "ろせん", "ろてん", "ろめん", "ろれつ", "ろんぎ", "ろんぱ", "ろんぶん", "ろんり", "わかす",
15338"わかめ", "わかやま", "わかれる", "わしつ", "わじまし", "わすれもの", "わらう", "われる"]
15339</script>
15340 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15341WORDLISTS["spanish"] = [
15342"ábaco", "abdomen", "abeja", "abierto", "abogado", "abono", "aborto", "abrazo", "abrir", "abuelo",
15343"abuso", "acabar", "academia", "acceso", "acción", "aceite", "acelga", "acento", "aceptar", "ácido",
15344"aclarar", "acné", "acoger", "acoso", "activo", "acto", "actriz", "actuar", "acudir", "acuerdo",
15345"acusar", "adicto", "admitir", "adoptar", "adorno", "aduana", "adulto", "aéreo", "afectar", "afición",
15346"afinar", "afirmar", "ágil", "agitar", "agonía", "agosto", "agotar", "agregar", "agrio", "agua",
15347"agudo", "águila", "aguja", "ahogo", "ahorro", "aire", "aislar", "ajedrez", "ajeno", "ajuste",
15348"alacrán", "alambre", "alarma", "alba", "álbum", "alcalde", "aldea", "alegre", "alejar", "alerta",
15349"aleta", "alfiler", "alga", "algodón", "aliado", "aliento", "alivio", "alma", "almeja", "almíbar",
15350"altar", "alteza", "altivo", "alto", "altura", "alumno", "alzar", "amable", "amante", "amapola",
15351"amargo", "amasar", "ámbar", "ámbito", "ameno", "amigo", "amistad", "amor", "amparo", "amplio",
15352"ancho", "anciano", "ancla", "andar", "andén", "anemia", "ángulo", "anillo", "ánimo", "anís",
15353"anotar", "antena", "antiguo", "antojo", "anual", "anular", "anuncio", "añadir", "añejo", "año",
15354"apagar", "aparato", "apetito", "apio", "aplicar", "apodo", "aporte", "apoyo", "aprender", "aprobar",
15355"apuesta", "apuro", "arado", "araña", "arar", "árbitro", "árbol", "arbusto", "archivo", "arco",
15356"arder", "ardilla", "arduo", "área", "árido", "aries", "armonía", "arnés", "aroma", "arpa",
15357"arpón", "arreglo", "arroz", "arruga", "arte", "artista", "asa", "asado", "asalto", "ascenso",
15358"asegurar", "aseo", "asesor", "asiento", "asilo", "asistir", "asno", "asombro", "áspero", "astilla",
15359"astro", "astuto", "asumir", "asunto", "atajo", "ataque", "atar", "atento", "ateo", "ático",
15360"atleta", "átomo", "atraer", "atroz", "atún", "audaz", "audio", "auge", "aula", "aumento",
15361"ausente", "autor", "aval", "avance", "avaro", "ave", "avellana", "avena", "avestruz", "avión",
15362"aviso", "ayer", "ayuda", "ayuno", "azafrán", "azar", "azote", "azúcar", "azufre", "azul",
15363"baba", "babor", "bache", "bahía", "baile", "bajar", "balanza", "balcón", "balde", "bambú",
15364"banco", "banda", "baño", "barba", "barco", "barniz", "barro", "báscula", "bastón", "basura",
15365"batalla", "batería", "batir", "batuta", "baúl", "bazar", "bebé", "bebida", "bello", "besar",
15366"beso", "bestia", "bicho", "bien", "bingo", "blanco", "bloque", "blusa", "boa", "bobina",
15367"bobo", "boca", "bocina", "boda", "bodega", "boina", "bola", "bolero", "bolsa", "bomba",
15368"bondad", "bonito", "bono", "bonsái", "borde", "borrar", "bosque", "bote", "botín", "bóveda",
15369"bozal", "bravo", "brazo", "brecha", "breve", "brillo", "brinco", "brisa", "broca", "broma",
15370"bronce", "brote", "bruja", "brusco", "bruto", "buceo", "bucle", "bueno", "buey", "bufanda",
15371"bufón", "búho", "buitre", "bulto", "burbuja", "burla", "burro", "buscar", "butaca", "buzón",
15372"caballo", "cabeza", "cabina", "cabra", "cacao", "cadáver", "cadena", "caer", "café", "caída",
15373"caimán", "caja", "cajón", "cal", "calamar", "calcio", "caldo", "calidad", "calle", "calma",
15374"calor", "calvo", "cama", "cambio", "camello", "camino", "campo", "cáncer", "candil", "canela",
15375"canguro", "canica", "canto", "caña", "cañón", "caoba", "caos", "capaz", "capitán", "capote",
15376"captar", "capucha", "cara", "carbón", "cárcel", "careta", "carga", "cariño", "carne", "carpeta",
15377"carro", "carta", "casa", "casco", "casero", "caspa", "castor", "catorce", "catre", "caudal",
15378"causa", "cazo", "cebolla", "ceder", "cedro", "celda", "célebre", "celoso", "célula", "cemento",
15379"ceniza", "centro", "cerca", "cerdo", "cereza", "cero", "cerrar", "certeza", "césped", "cetro",
15380"chacal", "chaleco", "champú", "chancla", "chapa", "charla", "chico", "chiste", "chivo", "choque",
15381"choza", "chuleta", "chupar", "ciclón", "ciego", "cielo", "cien", "cierto", "cifra", "cigarro",
15382"cima", "cinco", "cine", "cinta", "ciprés", "circo", "ciruela", "cisne", "cita", "ciudad",
15383"clamor", "clan", "claro", "clase", "clave", "cliente", "clima", "clínica", "cobre", "cocción",
15384"cochino", "cocina", "coco", "código", "codo", "cofre", "coger", "cohete", "cojín", "cojo",
15385"cola", "colcha", "colegio", "colgar", "colina", "collar", "colmo", "columna", "combate", "comer",
15386"comida", "cómodo", "compra", "conde", "conejo", "conga", "conocer", "consejo", "contar", "copa",
15387"copia", "corazón", "corbata", "corcho", "cordón", "corona", "correr", "coser", "cosmos", "costa",
15388"cráneo", "cráter", "crear", "crecer", "creído", "crema", "cría", "crimen", "cripta", "crisis",
15389"cromo", "crónica", "croqueta", "crudo", "cruz", "cuadro", "cuarto", "cuatro", "cubo", "cubrir",
15390"cuchara", "cuello", "cuento", "cuerda", "cuesta", "cueva", "cuidar", "culebra", "culpa", "culto",
15391"cumbre", "cumplir", "cuna", "cuneta", "cuota", "cupón", "cúpula", "curar", "curioso", "curso",
15392"curva", "cutis", "dama", "danza", "dar", "dardo", "dátil", "deber", "débil", "década",
15393"decir", "dedo", "defensa", "definir", "dejar", "delfín", "delgado", "delito", "demora", "denso",
15394"dental", "deporte", "derecho", "derrota", "desayuno", "deseo", "desfile", "desnudo", "destino", "desvío",
15395"detalle", "detener", "deuda", "día", "diablo", "diadema", "diamante", "diana", "diario", "dibujo",
15396"dictar", "diente", "dieta", "diez", "difícil", "digno", "dilema", "diluir", "dinero", "directo",
15397"dirigir", "disco", "diseño", "disfraz", "diva", "divino", "doble", "doce", "dolor", "domingo",
15398"don", "donar", "dorado", "dormir", "dorso", "dos", "dosis", "dragón", "droga", "ducha",
15399"duda", "duelo", "dueño", "dulce", "dúo", "duque", "durar", "dureza", "duro", "ébano",
15400"ebrio", "echar", "eco", "ecuador", "edad", "edición", "edificio", "editor", "educar", "efecto",
15401"eficaz", "eje", "ejemplo", "elefante", "elegir", "elemento", "elevar", "elipse", "élite", "elixir",
15402"elogio", "eludir", "embudo", "emitir", "emoción", "empate", "empeño", "empleo", "empresa", "enano",
15403"encargo", "enchufe", "encía", "enemigo", "enero", "enfado", "enfermo", "engaño", "enigma", "enlace",
15404"enorme", "enredo", "ensayo", "enseñar", "entero", "entrar", "envase", "envío", "época", "equipo",
15405"erizo", "escala", "escena", "escolar", "escribir", "escudo", "esencia", "esfera", "esfuerzo", "espada",
15406"espejo", "espía", "esposa", "espuma", "esquí", "estar", "este", "estilo", "estufa", "etapa",
15407"eterno", "ética", "etnia", "evadir", "evaluar", "evento", "evitar", "exacto", "examen", "exceso",
15408"excusa", "exento", "exigir", "exilio", "existir", "éxito", "experto", "explicar", "exponer", "extremo",
15409"fábrica", "fábula", "fachada", "fácil", "factor", "faena", "faja", "falda", "fallo", "falso",
15410"faltar", "fama", "familia", "famoso", "faraón", "farmacia", "farol", "farsa", "fase", "fatiga",
15411"fauna", "favor", "fax", "febrero", "fecha", "feliz", "feo", "feria", "feroz", "fértil",
15412"fervor", "festín", "fiable", "fianza", "fiar", "fibra", "ficción", "ficha", "fideo", "fiebre",
15413"fiel", "fiera", "fiesta", "figura", "fijar", "fijo", "fila", "filete", "filial", "filtro",
15414"fin", "finca", "fingir", "finito", "firma", "flaco", "flauta", "flecha", "flor", "flota",
15415"fluir", "flujo", "flúor", "fobia", "foca", "fogata", "fogón", "folio", "folleto", "fondo",
15416"forma", "forro", "fortuna", "forzar", "fosa", "foto", "fracaso", "frágil", "franja", "frase",
15417"fraude", "freír", "freno", "fresa", "frío", "frito", "fruta", "fuego", "fuente", "fuerza",
15418"fuga", "fumar", "función", "funda", "furgón", "furia", "fusil", "fútbol", "futuro", "gacela",
15419"gafas", "gaita", "gajo", "gala", "galería", "gallo", "gamba", "ganar", "gancho", "ganga",
15420"ganso", "garaje", "garza", "gasolina", "gastar", "gato", "gavilán", "gemelo", "gemir", "gen",
15421"género", "genio", "gente", "geranio", "gerente", "germen", "gesto", "gigante", "gimnasio", "girar",
15422"giro", "glaciar", "globo", "gloria", "gol", "golfo", "goloso", "golpe", "goma", "gordo",
15423"gorila", "gorra", "gota", "goteo", "gozar", "grada", "gráfico", "grano", "grasa", "gratis",
15424"grave", "grieta", "grillo", "gripe", "gris", "grito", "grosor", "grúa", "grueso", "grumo",
15425"grupo", "guante", "guapo", "guardia", "guerra", "guía", "guiño", "guion", "guiso", "guitarra",
15426"gusano", "gustar", "haber", "hábil", "hablar", "hacer", "hacha", "hada", "hallar", "hamaca",
15427"harina", "haz", "hazaña", "hebilla", "hebra", "hecho", "helado", "helio", "hembra", "herir",
15428"hermano", "héroe", "hervir", "hielo", "hierro", "hígado", "higiene", "hijo", "himno", "historia",
15429"hocico", "hogar", "hoguera", "hoja", "hombre", "hongo", "honor", "honra", "hora", "hormiga",
15430"horno", "hostil", "hoyo", "hueco", "huelga", "huerta", "hueso", "huevo", "huida", "huir",
15431"humano", "húmedo", "humilde", "humo", "hundir", "huracán", "hurto", "icono", "ideal", "idioma",
15432"ídolo", "iglesia", "iglú", "igual", "ilegal", "ilusión", "imagen", "imán", "imitar", "impar",
15433"imperio", "imponer", "impulso", "incapaz", "índice", "inerte", "infiel", "informe", "ingenio", "inicio",
15434"inmenso", "inmune", "innato", "insecto", "instante", "interés", "íntimo", "intuir", "inútil", "invierno",
15435"ira", "iris", "ironía", "isla", "islote", "jabalí", "jabón", "jamón", "jarabe", "jardín",
15436"jarra", "jaula", "jazmín", "jefe", "jeringa", "jinete", "jornada", "joroba", "joven", "joya",
15437"juerga", "jueves", "juez", "jugador", "jugo", "juguete", "juicio", "junco", "jungla", "junio",
15438"juntar", "júpiter", "jurar", "justo", "juvenil", "juzgar", "kilo", "koala", "labio", "lacio",
15439"lacra", "lado", "ladrón", "lagarto", "lágrima", "laguna", "laico", "lamer", "lámina", "lámpara",
15440"lana", "lancha", "langosta", "lanza", "lápiz", "largo", "larva", "lástima", "lata", "látex",
15441"latir", "laurel", "lavar", "lazo", "leal", "lección", "leche", "lector", "leer", "legión",
15442"legumbre", "lejano", "lengua", "lento", "leña", "león", "leopardo", "lesión", "letal", "letra",
15443"leve", "leyenda", "libertad", "libro", "licor", "líder", "lidiar", "lienzo", "liga", "ligero",
15444"lima", "límite", "limón", "limpio", "lince", "lindo", "línea", "lingote", "lino", "linterna",
15445"líquido", "liso", "lista", "litera", "litio", "litro", "llaga", "llama", "llanto", "llave",
15446"llegar", "llenar", "llevar", "llorar", "llover", "lluvia", "lobo", "loción", "loco", "locura",
15447"lógica", "logro", "lombriz", "lomo", "lonja", "lote", "lucha", "lucir", "lugar", "lujo",
15448"luna", "lunes", "lupa", "lustro", "luto", "luz", "maceta", "macho", "madera", "madre",
15449"maduro", "maestro", "mafia", "magia", "mago", "maíz", "maldad", "maleta", "malla", "malo",
15450"mamá", "mambo", "mamut", "manco", "mando", "manejar", "manga", "maniquí", "manjar", "mano",
15451"manso", "manta", "mañana", "mapa", "máquina", "mar", "marco", "marea", "marfil", "margen",
15452"marido", "mármol", "marrón", "martes", "marzo", "masa", "máscara", "masivo", "matar", "materia",
15453"matiz", "matriz", "máximo", "mayor", "mazorca", "mecha", "medalla", "medio", "médula", "mejilla",
15454"mejor", "melena", "melón", "memoria", "menor", "mensaje", "mente", "menú", "mercado", "merengue",
15455"mérito", "mes", "mesón", "meta", "meter", "método", "metro", "mezcla", "miedo", "miel",
15456"miembro", "miga", "mil", "milagro", "militar", "millón", "mimo", "mina", "minero", "mínimo",
15457"minuto", "miope", "mirar", "misa", "miseria", "misil", "mismo", "mitad", "mito", "mochila",
15458"moción", "moda", "modelo", "moho", "mojar", "molde", "moler", "molino", "momento", "momia",
15459"monarca", "moneda", "monja", "monto", "moño", "morada", "morder", "moreno", "morir", "morro",
15460"morsa", "mortal", "mosca", "mostrar", "motivo", "mover", "móvil", "mozo", "mucho", "mudar",
15461"mueble", "muela", "muerte", "muestra", "mugre", "mujer", "mula", "muleta", "multa", "mundo",
15462"muñeca", "mural", "muro", "músculo", "museo", "musgo", "música", "muslo", "nácar", "nación",
15463"nadar", "naipe", "naranja", "nariz", "narrar", "nasal", "natal", "nativo", "natural", "náusea",
15464"naval", "nave", "navidad", "necio", "néctar", "negar", "negocio", "negro", "neón", "nervio",
15465"neto", "neutro", "nevar", "nevera", "nicho", "nido", "niebla", "nieto", "niñez", "niño",
15466"nítido", "nivel", "nobleza", "noche", "nómina", "noria", "norma", "norte", "nota", "noticia",
15467"novato", "novela", "novio", "nube", "nuca", "núcleo", "nudillo", "nudo", "nuera", "nueve",
15468"nuez", "nulo", "número", "nutria", "oasis", "obeso", "obispo", "objeto", "obra", "obrero",
15469"observar", "obtener", "obvio", "oca", "ocaso", "océano", "ochenta", "ocho", "ocio", "ocre",
15470"octavo", "octubre", "oculto", "ocupar", "ocurrir", "odiar", "odio", "odisea", "oeste", "ofensa",
15471"oferta", "oficio", "ofrecer", "ogro", "oído", "oír", "ojo", "ola", "oleada", "olfato",
15472"olivo", "olla", "olmo", "olor", "olvido", "ombligo", "onda", "onza", "opaco", "opción",
15473"ópera", "opinar", "oponer", "optar", "óptica", "opuesto", "oración", "orador", "oral", "órbita",
15474"orca", "orden", "oreja", "órgano", "orgía", "orgullo", "oriente", "origen", "orilla", "oro",
15475"orquesta", "oruga", "osadía", "oscuro", "osezno", "oso", "ostra", "otoño", "otro", "oveja",
15476"óvulo", "óxido", "oxígeno", "oyente", "ozono", "pacto", "padre", "paella", "página", "pago",
15477"país", "pájaro", "palabra", "palco", "paleta", "pálido", "palma", "paloma", "palpar", "pan",
15478"panal", "pánico", "pantera", "pañuelo", "papá", "papel", "papilla", "paquete", "parar", "parcela",
15479"pared", "parir", "paro", "párpado", "parque", "párrafo", "parte", "pasar", "paseo", "pasión",
15480"paso", "pasta", "pata", "patio", "patria", "pausa", "pauta", "pavo", "payaso", "peatón",
15481"pecado", "pecera", "pecho", "pedal", "pedir", "pegar", "peine", "pelar", "peldaño", "pelea",
15482"peligro", "pellejo", "pelo", "peluca", "pena", "pensar", "peñón", "peón", "peor", "pepino",
15483"pequeño", "pera", "percha", "perder", "pereza", "perfil", "perico", "perla", "permiso", "perro",
15484"persona", "pesa", "pesca", "pésimo", "pestaña", "pétalo", "petróleo", "pez", "pezuña", "picar",
15485"pichón", "pie", "piedra", "pierna", "pieza", "pijama", "pilar", "piloto", "pimienta", "pino",
15486"pintor", "pinza", "piña", "piojo", "pipa", "pirata", "pisar", "piscina", "piso", "pista",
15487"pitón", "pizca", "placa", "plan", "plata", "playa", "plaza", "pleito", "pleno", "plomo",
15488"pluma", "plural", "pobre", "poco", "poder", "podio", "poema", "poesía", "poeta", "polen",
15489"policía", "pollo", "polvo", "pomada", "pomelo", "pomo", "pompa", "poner", "porción", "portal",
15490"posada", "poseer", "posible", "poste", "potencia", "potro", "pozo", "prado", "precoz", "pregunta",
15491"premio", "prensa", "preso", "previo", "primo", "príncipe", "prisión", "privar", "proa", "probar",
15492"proceso", "producto", "proeza", "profesor", "programa", "prole", "promesa", "pronto", "propio", "próximo",
15493"prueba", "público", "puchero", "pudor", "pueblo", "puerta", "puesto", "pulga", "pulir", "pulmón",
15494"pulpo", "pulso", "puma", "punto", "puñal", "puño", "pupa", "pupila", "puré", "quedar",
15495"queja", "quemar", "querer", "queso", "quieto", "química", "quince", "quitar", "rábano", "rabia",
15496"rabo", "ración", "radical", "raíz", "rama", "rampa", "rancho", "rango", "rapaz", "rápido",
15497"rapto", "rasgo", "raspa", "rato", "rayo", "raza", "razón", "reacción", "realidad", "rebaño",
15498"rebote", "recaer", "receta", "rechazo", "recoger", "recreo", "recto", "recurso", "red", "redondo",
15499"reducir", "reflejo", "reforma", "refrán", "refugio", "regalo", "regir", "regla", "regreso", "rehén",
15500"reino", "reír", "reja", "relato", "relevo", "relieve", "relleno", "reloj", "remar", "remedio",
15501"remo", "rencor", "rendir", "renta", "reparto", "repetir", "reposo", "reptil", "res", "rescate",
15502"resina", "respeto", "resto", "resumen", "retiro", "retorno", "retrato", "reunir", "revés", "revista",
15503"rey", "rezar", "rico", "riego", "rienda", "riesgo", "rifa", "rígido", "rigor", "rincón",
15504"riñón", "río", "riqueza", "risa", "ritmo", "rito", "rizo", "roble", "roce", "rociar",
15505"rodar", "rodeo", "rodilla", "roer", "rojizo", "rojo", "romero", "romper", "ron", "ronco",
15506"ronda", "ropa", "ropero", "rosa", "rosca", "rostro", "rotar", "rubí", "rubor", "rudo",
15507"rueda", "rugir", "ruido", "ruina", "ruleta", "rulo", "rumbo", "rumor", "ruptura", "ruta",
15508"rutina", "sábado", "saber", "sabio", "sable", "sacar", "sagaz", "sagrado", "sala", "saldo",
15509"salero", "salir", "salmón", "salón", "salsa", "salto", "salud", "salvar", "samba", "sanción",
15510"sandía", "sanear", "sangre", "sanidad", "sano", "santo", "sapo", "saque", "sardina", "sartén",
15511"sastre", "satán", "sauna", "saxofón", "sección", "seco", "secreto", "secta", "sed", "seguir",
15512"seis", "sello", "selva", "semana", "semilla", "senda", "sensor", "señal", "señor", "separar",
15513"sepia", "sequía", "ser", "serie", "sermón", "servir", "sesenta", "sesión", "seta", "setenta",
15514"severo", "sexo", "sexto", "sidra", "siesta", "siete", "siglo", "signo", "sílaba", "silbar",
15515"silencio", "silla", "símbolo", "simio", "sirena", "sistema", "sitio", "situar", "sobre", "socio",
15516"sodio", "sol", "solapa", "soldado", "soledad", "sólido", "soltar", "solución", "sombra", "sondeo",
15517"sonido", "sonoro", "sonrisa", "sopa", "soplar", "soporte", "sordo", "sorpresa", "sorteo", "sostén",
15518"sótano", "suave", "subir", "suceso", "sudor", "suegra", "suelo", "sueño", "suerte", "sufrir",
15519"sujeto", "sultán", "sumar", "superar", "suplir", "suponer", "supremo", "sur", "surco", "sureño",
15520"surgir", "susto", "sutil", "tabaco", "tabique", "tabla", "tabú", "taco", "tacto", "tajo",
15521"talar", "talco", "talento", "talla", "talón", "tamaño", "tambor", "tango", "tanque", "tapa",
15522"tapete", "tapia", "tapón", "taquilla", "tarde", "tarea", "tarifa", "tarjeta", "tarot", "tarro",
15523"tarta", "tatuaje", "tauro", "taza", "tazón", "teatro", "techo", "tecla", "técnica", "tejado",
15524"tejer", "tejido", "tela", "teléfono", "tema", "temor", "templo", "tenaz", "tender", "tener",
15525"tenis", "tenso", "teoría", "terapia", "terco", "término", "ternura", "terror", "tesis", "tesoro",
15526"testigo", "tetera", "texto", "tez", "tibio", "tiburón", "tiempo", "tienda", "tierra", "tieso",
15527"tigre", "tijera", "tilde", "timbre", "tímido", "timo", "tinta", "tío", "típico", "tipo",
15528"tira", "tirón", "titán", "títere", "título", "tiza", "toalla", "tobillo", "tocar", "tocino",
15529"todo", "toga", "toldo", "tomar", "tono", "tonto", "topar", "tope", "toque", "tórax",
15530"torero", "tormenta", "torneo", "toro", "torpedo", "torre", "torso", "tortuga", "tos", "tosco",
15531"toser", "tóxico", "trabajo", "tractor", "traer", "tráfico", "trago", "traje", "tramo", "trance",
15532"trato", "trauma", "trazar", "trébol", "tregua", "treinta", "tren", "trepar", "tres", "tribu",
15533"trigo", "tripa", "triste", "triunfo", "trofeo", "trompa", "tronco", "tropa", "trote", "trozo",
15534"truco", "trueno", "trufa", "tubería", "tubo", "tuerto", "tumba", "tumor", "túnel", "túnica",
15535"turbina", "turismo", "turno", "tutor", "ubicar", "úlcera", "umbral", "unidad", "unir", "universo",
15536"uno", "untar", "uña", "urbano", "urbe", "urgente", "urna", "usar", "usuario", "útil",
15537"utopía", "uva", "vaca", "vacío", "vacuna", "vagar", "vago", "vaina", "vajilla", "vale",
15538"válido", "valle", "valor", "válvula", "vampiro", "vara", "variar", "varón", "vaso", "vecino",
15539"vector", "vehículo", "veinte", "vejez", "vela", "velero", "veloz", "vena", "vencer", "venda",
15540"veneno", "vengar", "venir", "venta", "venus", "ver", "verano", "verbo", "verde", "vereda",
15541"verja", "verso", "verter", "vía", "viaje", "vibrar", "vicio", "víctima", "vida", "vídeo",
15542"vidrio", "viejo", "viernes", "vigor", "vil", "villa", "vinagre", "vino", "viñedo", "violín",
15543"viral", "virgo", "virtud", "visor", "víspera", "vista", "vitamina", "viudo", "vivaz", "vivero",
15544"vivir", "vivo", "volcán", "volumen", "volver", "voraz", "votar", "voto", "voz", "vuelo",
15545"vulgar", "yacer", "yate", "yegua", "yema", "yerno", "yeso", "yodo", "yoga", "yogur",
15546"zafiro", "zanja", "zapato", "zarza", "zona", "zorro", "zumo", "zurdo"]
15547</script>
15548 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15549WORDLISTS["chinese_simplified"] = [
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"乳", "邓", "吉", "仁", "烂", "砖", "租", "乌", "舰", "伴",
15707"瓜", "浅", "丙", "暂", "燥", "橡", "柳", "迷", "暖", "牌",
15708"秧", "胆", "详", "簧", "踏", "瓷", "谱", "呆", "宾", "糊",
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</script>
15756 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15757WORDLISTS["chinese_traditional"] = [
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"乳", "鄧", "吉", "仁", "爛", "磚", "租", "烏", "艦", "伴",
15915"瓜", "淺", "丙", "暫", "燥", "橡", "柳", "迷", "暖", "牌",
15916"秧", "膽", "詳", "簧", "踏", "瓷", "譜", "呆", "賓", "糊",
15917"洛", "輝", "憤", "競", "隙", "怒", "粘", "乃", "緒", "肩",
15918"籍", "敏", "塗", "熙", "皆", "偵", "懸", "掘", "享", "糾",
15919"醒", "狂", "鎖", "淀", "恨", "牲", "霸", "爬", "賞", "逆",
15920"玩", "陵", "祝", "秒", "浙", "貌", "役", "彼", "悉", "鴨",
15921"趨", "鳳", "晨", "畜", "輩", "秩", "卵", "署", "梯", "炎",
15922"灘", "棋", "驅", "篩", "峽", "冒", "啥", "壽", "譯", "浸",
15923"泉", "帽", "遲", "矽", "疆", "貸", "漏", "稿", "冠", "嫩",
15924"脅", "芯", "牢", "叛", "蝕", "奧", "鳴", "嶺", "羊", "憑",
15925"串", "塘", "繪", "酵", "融", "盆", "錫", "廟", "籌", "凍",
15926"輔", "攝", "襲", "筋", "拒", "僚", "旱", "鉀", "鳥", "漆",
15927"沈", "眉", "疏", "添", "棒", "穗", "硝", "韓", "逼", "扭",
15928"僑", "涼", "挺", "碗", "栽", "炒", "杯", "患", "餾", "勸",
15929"豪", "遼", "勃", "鴻", "旦", "吏", "拜", "狗", "埋", "輥",
15930"掩", "飲", "搬", "罵", "辭", "勾", "扣", "估", "蔣", "絨",
15931"霧", "丈", "朵", "姆", "擬", "宇", "輯", "陝", "雕", "償",
15932"蓄", "崇", "剪", "倡", "廳", "咬", "駛", "薯", "刷", "斥",
15933"番", "賦", "奉", "佛", "澆", "漫", "曼", "扇", "鈣", "桃",
15934"扶", "仔", "返", "俗", "虧", "腔", "鞋", "棱", "覆", "框",
15935"悄", "叔", "撞", "騙", "勘", "旺", "沸", "孤", "吐", "孟",
15936"渠", "屈", "疾", "妙", "惜", "仰", "狠", "脹", "諧", "拋",
15937"黴", "桑", "崗", "嘛", "衰", "盜", "滲", "臟", "賴", "湧",
15938"甜", "曹", "閱", "肌", "哩", "厲", "烴", "緯", "毅", "昨",
15939"偽", "症", "煮", "嘆", "釘", "搭", "莖", "籠", "酷", "偷",
15940"弓", "錐", "恆", "傑", "坑", "鼻", "翼", "綸", "敘", "獄",
15941"逮", "罐", "絡", "棚", "抑", "膨", "蔬", "寺", "驟", "穆",
15942"冶", "枯", "冊", "屍", "凸", "紳", "坯", "犧", "焰", "轟",
15943"欣", "晉", "瘦", "禦", "錠", "錦", "喪", "旬", "鍛", "壟",
15944"搜", "撲", "邀", "亭", "酯", "邁", "舒", "脆", "酶", "閒",
15945"憂", "酚", "頑", "羽", "漲", "卸", "仗", "陪", "闢", "懲",
15946"杭", "姚", "肚", "捉", "飄", "漂", "昆", "欺", "吾", "郎",
15947"烷", "汁", "呵", "飾", "蕭", "雅", "郵", "遷", "燕", "撒",
15948"姻", "赴", "宴", "煩", "債", "帳", "斑", "鈴", "旨", "醇",
15949"董", "餅", "雛", "姿", "拌", "傅", "腹", "妥", "揉", "賢",
15950"拆", "歪", "葡", "胺", "丟", "浩", "徽", "昂", "墊", "擋",
15951"覽", "貪", "慰", "繳", "汪", "慌", "馮", "諾", "姜", "誼",
15952"兇", "劣", "誣", "耀", "昏", "躺", "盈", "騎", "喬", "溪",
15953"叢", "盧", "抹", "悶", "諮", "刮", "駕", "纜", "悟", "摘",
15954"鉺", "擲", "頗", "幻", "柄", "惠", "慘", "佳", "仇", "臘",
15955"窩", "滌", "劍", "瞧", "堡", "潑", "蔥", "罩", "霍", "撈",
15956"胎", "蒼", "濱", "倆", "捅", "湘", "砍", "霞", "邵", "萄",
15957"瘋", "淮", "遂", "熊", "糞", "烘", "宿", "檔", "戈", "駁",
15958"嫂", "裕", "徙", "箭", "捐", "腸", "撐", "曬", "辨", "殿",
15959"蓮", "攤", "攪", "醬", "屏", "疫", "哀", "蔡", "堵", "沫",
15960"皺", "暢", "疊", "閣", "萊", "敲", "轄", "鉤", "痕", "壩",
15961"巷", "餓", "禍", "丘", "玄", "溜", "曰", "邏", "彭", "嘗",
15962"卿", "妨", "艇", "吞", "韋", "怨", "矮", "歇" ]
15963</script>
15964 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15965WORDLISTS["french"] = [
15966"abaisser", "abandon", "abdiquer", "abeille", "abolir", "aborder", "aboutir", "aboyer", "abrasif", "abreuver",
15967"abriter", "abroger", "abrupt", "absence", "absolu", "absurde", "abusif", "abyssal", "académie", "acajou",
15968"acarien", "accabler", "accepter", "acclamer", "accolade", "accroche", "accuser", "acerbe", "achat", "acheter",
15969"aciduler", "acier", "acompte", "acquérir", "acronyme", "acteur", "actif", "actuel", "adepte", "adéquat",
15970"adhésif", "adjectif", "adjuger", "admettre", "admirer", "adopter", "adorer", "adoucir", "adresse", "adroit",
15971"adulte", "adverbe", "aérer", "aéronef", "affaire", "affecter", "affiche", "affreux", "affubler", "agacer",
15972"agencer", "agile", "agiter", "agrafer", "agréable", "agrume", "aider", "aiguille", "ailier", "aimable",
15973"aisance", "ajouter", "ajuster", "alarmer", "alchimie", "alerte", "algèbre", "algue", "aliéner", "aliment",
15974"alléger", "alliage", "allouer", "allumer", "alourdir", "alpaga", "altesse", "alvéole", "amateur", "ambigu",
15975"ambre", "aménager", "amertume", "amidon", "amiral", "amorcer", "amour", "amovible", "amphibie", "ampleur",
15976"amusant", "analyse", "anaphore", "anarchie", "anatomie", "ancien", "anéantir", "angle", "angoisse", "anguleux",
15977"animal", "annexer", "annonce", "annuel", "anodin", "anomalie", "anonyme", "anormal", "antenne", "antidote",
15978"anxieux", "apaiser", "apéritif", "aplanir", "apologie", "appareil", "appeler", "apporter", "appuyer", "aquarium",
15979"aqueduc", "arbitre", "arbuste", "ardeur", "ardoise", "argent", "arlequin", "armature", "armement", "armoire",
15980"armure", "arpenter", "arracher", "arriver", "arroser", "arsenic", "artériel", "article", "aspect", "asphalte",
15981"aspirer", "assaut", "asservir", "assiette", "associer", "assurer", "asticot", "astre", "astuce", "atelier",
15982"atome", "atrium", "atroce", "attaque", "attentif", "attirer", "attraper", "aubaine", "auberge", "audace",
15983"audible", "augurer", "aurore", "automne", "autruche", "avaler", "avancer", "avarice", "avenir", "averse",
15984"aveugle", "aviateur", "avide", "avion", "aviser", "avoine", "avouer", "avril", "axial", "axiome",
15985"badge", "bafouer", "bagage", "baguette", "baignade", "balancer", "balcon", "baleine", "balisage", "bambin",
15986"bancaire", "bandage", "banlieue", "bannière", "banquier", "barbier", "baril", "baron", "barque", "barrage",
15987"bassin", "bastion", "bataille", "bateau", "batterie", "baudrier", "bavarder", "belette", "bélier", "belote",
15988"bénéfice", "berceau", "berger", "berline", "bermuda", "besace", "besogne", "bétail", "beurre", "biberon",
15989"bicycle", "bidule", "bijou", "bilan", "bilingue", "billard", "binaire", "biologie", "biopsie", "biotype",
15990"biscuit", "bison", "bistouri", "bitume", "bizarre", "blafard", "blague", "blanchir", "blessant", "blinder",
15991"blond", "bloquer", "blouson", "bobard", "bobine", "boire", "boiser", "bolide", "bonbon", "bondir",
15992"bonheur", "bonifier", "bonus", "bordure", "borne", "botte", "boucle", "boueux", "bougie", "boulon",
15993"bouquin", "bourse", "boussole", "boutique", "boxeur", "branche", "brasier", "brave", "brebis", "brèche",
15994"breuvage", "bricoler", "brigade", "brillant", "brioche", "brique", "brochure", "broder", "bronzer", "brousse",
15995"broyeur", "brume", "brusque", "brutal", "bruyant", "buffle", "buisson", "bulletin", "bureau", "burin",
15996"bustier", "butiner", "butoir", "buvable", "buvette", "cabanon", "cabine", "cachette", "cadeau", "cadre",
15997"caféine", "caillou", "caisson", "calculer", "calepin", "calibre", "calmer", "calomnie", "calvaire", "camarade",
15998"caméra", "camion", "campagne", "canal", "caneton", "canon", "cantine", "canular", "capable", "caporal",
15999"caprice", "capsule", "capter", "capuche", "carabine", "carbone", "caresser", "caribou", "carnage", "carotte",
16000"carreau", "carton", "cascade", "casier", "casque", "cassure", "causer", "caution", "cavalier", "caverne",
16001"caviar", "cédille", "ceinture", "céleste", "cellule", "cendrier", "censurer", "central", "cercle", "cérébral",
16002"cerise", "cerner", "cerveau", "cesser", "chagrin", "chaise", "chaleur", "chambre", "chance", "chapitre",
16003"charbon", "chasseur", "chaton", "chausson", "chavirer", "chemise", "chenille", "chéquier", "chercher", "cheval",
16004"chien", "chiffre", "chignon", "chimère", "chiot", "chlorure", "chocolat", "choisir", "chose", "chouette",
16005"chrome", "chute", "cigare", "cigogne", "cimenter", "cinéma", "cintrer", "circuler", "cirer", "cirque",
16006"citerne", "citoyen", "citron", "civil", "clairon", "clameur", "claquer", "classe", "clavier", "client",
16007"cligner", "climat", "clivage", "cloche", "clonage", "cloporte", "cobalt", "cobra", "cocasse", "cocotier",
16008"coder", "codifier", "coffre", "cogner", "cohésion", "coiffer", "coincer", "colère", "colibri", "colline",
16009"colmater", "colonel", "combat", "comédie", "commande", "compact", "concert", "conduire", "confier", "congeler",
16010"connoter", "consonne", "contact", "convexe", "copain", "copie", "corail", "corbeau", "cordage", "corniche",
16011"corpus", "correct", "cortège", "cosmique", "costume", "coton", "coude", "coupure", "courage", "couteau",
16012"couvrir", "coyote", "crabe", "crainte", "cravate", "crayon", "créature", "créditer", "crémeux", "creuser",
16013"crevette", "cribler", "crier", "cristal", "critère", "croire", "croquer", "crotale", "crucial", "cruel",
16014"crypter", "cubique", "cueillir", "cuillère", "cuisine", "cuivre", "culminer", "cultiver", "cumuler", "cupide",
16015"curatif", "curseur", "cyanure", "cycle", "cylindre", "cynique", "daigner", "damier", "danger", "danseur",
16016"dauphin", "débattre", "débiter", "déborder", "débrider", "débutant", "décaler", "décembre", "déchirer", "décider",
16017"déclarer", "décorer", "décrire", "décupler", "dédale", "déductif", "déesse", "défensif", "défiler", "défrayer",
16018"dégager", "dégivrer", "déglutir", "dégrafer", "déjeuner", "délice", "déloger", "demander", "demeurer", "démolir",
16019"dénicher", "dénouer", "dentelle", "dénuder", "départ", "dépenser", "déphaser", "déplacer", "déposer", "déranger",
16020"dérober", "désastre", "descente", "désert", "désigner", "désobéir", "dessiner", "destrier", "détacher", "détester",
16021"détourer", "détresse", "devancer", "devenir", "deviner", "devoir", "diable", "dialogue", "diamant", "dicter",
16022"différer", "digérer", "digital", "digne", "diluer", "dimanche", "diminuer", "dioxyde", "directif", "diriger",
16023"discuter", "disposer", "dissiper", "distance", "divertir", "diviser", "docile", "docteur", "dogme", "doigt",
16024"domaine", "domicile", "dompter", "donateur", "donjon", "donner", "dopamine", "dortoir", "dorure", "dosage",
16025"doseur", "dossier", "dotation", "douanier", "double", "douceur", "douter", "doyen", "dragon", "draper",
16026"dresser", "dribbler", "droiture", "duperie", "duplexe", "durable", "durcir", "dynastie", "éblouir", "écarter",
16027"écharpe", "échelle", "éclairer", "éclipse", "éclore", "écluse", "école", "économie", "écorce", "écouter",
16028"écraser", "écrémer", "écrivain", "écrou", "écume", "écureuil", "édifier", "éduquer", "effacer", "effectif",
16029"effigie", "effort", "effrayer", "effusion", "égaliser", "égarer", "éjecter", "élaborer", "élargir", "électron",
16030"élégant", "éléphant", "élève", "éligible", "élitisme", "éloge", "élucider", "éluder", "emballer", "embellir",
16031"embryon", "émeraude", "émission", "emmener", "émotion", "émouvoir", "empereur", "employer", "emporter", "emprise",
16032"émulsion", "encadrer", "enchère", "enclave", "encoche", "endiguer", "endosser", "endroit", "enduire", "énergie",
16033"enfance", "enfermer", "enfouir", "engager", "engin", "englober", "énigme", "enjamber", "enjeu", "enlever",
16034"ennemi", "ennuyeux", "enrichir", "enrobage", "enseigne", "entasser", "entendre", "entier", "entourer", "entraver",
16035"énumérer", "envahir", "enviable", "envoyer", "enzyme", "éolien", "épaissir", "épargne", "épatant", "épaule",
16036"épicerie", "épidémie", "épier", "épilogue", "épine", "épisode", "épitaphe", "époque", "épreuve", "éprouver",
16037"épuisant", "équerre", "équipe", "ériger", "érosion", "erreur", "éruption", "escalier", "espadon", "espèce",
16038"espiègle", "espoir", "esprit", "esquiver", "essayer", "essence", "essieu", "essorer", "estime", "estomac",
16039"estrade", "étagère", "étaler", "étanche", "étatique", "éteindre", "étendoir", "éternel", "éthanol", "éthique",
16040"ethnie", "étirer", "étoffer", "étoile", "étonnant", "étourdir", "étrange", "étroit", "étude", "euphorie",
16041"évaluer", "évasion", "éventail", "évidence", "éviter", "évolutif", "évoquer", "exact", "exagérer", "exaucer",
16042"exceller", "excitant", "exclusif", "excuse", "exécuter", "exemple", "exercer", "exhaler", "exhorter", "exigence",
16043"exiler", "exister", "exotique", "expédier", "explorer", "exposer", "exprimer", "exquis", "extensif", "extraire",
16044"exulter", "fable", "fabuleux", "facette", "facile", "facture", "faiblir", "falaise", "fameux", "famille",
16045"farceur", "farfelu", "farine", "farouche", "fasciner", "fatal", "fatigue", "faucon", "fautif", "faveur",
16046"favori", "fébrile", "féconder", "fédérer", "félin", "femme", "fémur", "fendoir", "féodal", "fermer",
16047"féroce", "ferveur", "festival", "feuille", "feutre", "février", "fiasco", "ficeler", "fictif", "fidèle",
16048"figure", "filature", "filetage", "filière", "filleul", "filmer", "filou", "filtrer", "financer", "finir",
16049"fiole", "firme", "fissure", "fixer", "flairer", "flamme", "flasque", "flatteur", "fléau", "flèche",
16050"fleur", "flexion", "flocon", "flore", "fluctuer", "fluide", "fluvial", "folie", "fonderie", "fongible",
16051"fontaine", "forcer", "forgeron", "formuler", "fortune", "fossile", "foudre", "fougère", "fouiller", "foulure",
16052"fourmi", "fragile", "fraise", "franchir", "frapper", "frayeur", "frégate", "freiner", "frelon", "frémir",
16053"frénésie", "frère", "friable", "friction", "frisson", "frivole", "froid", "fromage", "frontal", "frotter",
16054"fruit", "fugitif", "fuite", "fureur", "furieux", "furtif", "fusion", "futur", "gagner", "galaxie",
16055"galerie", "gambader", "garantir", "gardien", "garnir", "garrigue", "gazelle", "gazon", "géant", "gélatine",
16056"gélule", "gendarme", "général", "génie", "genou", "gentil", "géologie", "géomètre", "géranium", "germe",
16057"gestuel", "geyser", "gibier", "gicler", "girafe", "givre", "glace", "glaive", "glisser", "globe",
16058"gloire", "glorieux", "golfeur", "gomme", "gonfler", "gorge", "gorille", "goudron", "gouffre", "goulot",
16059"goupille", "gourmand", "goutte", "graduel", "graffiti", "graine", "grand", "grappin", "gratuit", "gravir",
16060"grenat", "griffure", "griller", "grimper", "grogner", "gronder", "grotte", "groupe", "gruger", "grutier",
16061"gruyère", "guépard", "guerrier", "guide", "guimauve", "guitare", "gustatif", "gymnaste", "gyrostat", "habitude",
16062"hachoir", "halte", "hameau", "hangar", "hanneton", "haricot", "harmonie", "harpon", "hasard", "hélium",
16063"hématome", "herbe", "hérisson", "hermine", "héron", "hésiter", "heureux", "hiberner", "hibou", "hilarant",
16064"histoire", "hiver", "homard", "hommage", "homogène", "honneur", "honorer", "honteux", "horde", "horizon",
16065"horloge", "hormone", "horrible", "houleux", "housse", "hublot", "huileux", "humain", "humble", "humide",
16066"humour", "hurler", "hydromel", "hygiène", "hymne", "hypnose", "idylle", "ignorer", "iguane", "illicite",
16067"illusion", "image", "imbiber", "imiter", "immense", "immobile", "immuable", "impact", "impérial", "implorer",
16068"imposer", "imprimer", "imputer", "incarner", "incendie", "incident", "incliner", "incolore", "indexer", "indice",
16069"inductif", "inédit", "ineptie", "inexact", "infini", "infliger", "informer", "infusion", "ingérer", "inhaler",
16070"inhiber", "injecter", "injure", "innocent", "inoculer", "inonder", "inscrire", "insecte", "insigne", "insolite",
16071"inspirer", "instinct", "insulter", "intact", "intense", "intime", "intrigue", "intuitif", "inutile", "invasion",
16072"inventer", "inviter", "invoquer", "ironique", "irradier", "irréel", "irriter", "isoler", "ivoire", "ivresse",
16073"jaguar", "jaillir", "jambe", "janvier", "jardin", "jauger", "jaune", "javelot", "jetable", "jeton",
16074"jeudi", "jeunesse", "joindre", "joncher", "jongler", "joueur", "jouissif", "journal", "jovial", "joyau",
16075"joyeux", "jubiler", "jugement", "junior", "jupon", "juriste", "justice", "juteux", "juvénile", "kayak",
16076"kimono", "kiosque", "label", "labial", "labourer", "lacérer", "lactose", "lagune", "laine", "laisser",
16077"laitier", "lambeau", "lamelle", "lampe", "lanceur", "langage", "lanterne", "lapin", "largeur", "larme",
16078"laurier", "lavabo", "lavoir", "lecture", "légal", "léger", "légume", "lessive", "lettre", "levier",
16079"lexique", "lézard", "liasse", "libérer", "libre", "licence", "licorne", "liège", "lièvre", "ligature",
16080"ligoter", "ligue", "limer", "limite", "limonade", "limpide", "linéaire", "lingot", "lionceau", "liquide",
16081"lisière", "lister", "lithium", "litige", "littoral", "livreur", "logique", "lointain", "loisir", "lombric",
16082"loterie", "louer", "lourd", "loutre", "louve", "loyal", "lubie", "lucide", "lucratif", "lueur",
16083"lugubre", "luisant", "lumière", "lunaire", "lundi", "luron", "lutter", "luxueux", "machine", "magasin",
16084"magenta", "magique", "maigre", "maillon", "maintien", "mairie", "maison", "majorer", "malaxer", "maléfice",
16085"malheur", "malice", "mallette", "mammouth", "mandater", "maniable", "manquant", "manteau", "manuel", "marathon",
16086"marbre", "marchand", "mardi", "maritime", "marqueur", "marron", "marteler", "mascotte", "massif", "matériel",
16087"matière", "matraque", "maudire", "maussade", "mauve", "maximal", "méchant", "méconnu", "médaille", "médecin",
16088"méditer", "méduse", "meilleur", "mélange", "mélodie", "membre", "mémoire", "menacer", "mener", "menhir",
16089"mensonge", "mentor", "mercredi", "mérite", "merle", "messager", "mesure", "métal", "météore", "méthode",
16090"métier", "meuble", "miauler", "microbe", "miette", "mignon", "migrer", "milieu", "million", "mimique",
16091"mince", "minéral", "minimal", "minorer", "minute", "miracle", "miroiter", "missile", "mixte", "mobile",
16092"moderne", "moelleux", "mondial", "moniteur", "monnaie", "monotone", "monstre", "montagne", "monument", "moqueur",
16093"morceau", "morsure", "mortier", "moteur", "motif", "mouche", "moufle", "moulin", "mousson", "mouton",
16094"mouvant", "multiple", "munition", "muraille", "murène", "murmure", "muscle", "muséum", "musicien", "mutation",
16095"muter", "mutuel", "myriade", "myrtille", "mystère", "mythique", "nageur", "nappe", "narquois", "narrer",
16096"natation", "nation", "nature", "naufrage", "nautique", "navire", "nébuleux", "nectar", "néfaste", "négation",
16097"négliger", "négocier", "neige", "nerveux", "nettoyer", "neurone", "neutron", "neveu", "niche", "nickel",
16098"nitrate", "niveau", "noble", "nocif", "nocturne", "noirceur", "noisette", "nomade", "nombreux", "nommer",
16099"normatif", "notable", "notifier", "notoire", "nourrir", "nouveau", "novateur", "novembre", "novice", "nuage",
16100"nuancer", "nuire", "nuisible", "numéro", "nuptial", "nuque", "nutritif", "obéir", "objectif", "obliger",
16101"obscur", "observer", "obstacle", "obtenir", "obturer", "occasion", "occuper", "océan", "octobre", "octroyer",
16102"octupler", "oculaire", "odeur", "odorant", "offenser", "officier", "offrir", "ogive", "oiseau", "oisillon",
16103"olfactif", "olivier", "ombrage", "omettre", "onctueux", "onduler", "onéreux", "onirique", "opale", "opaque",
16104"opérer", "opinion", "opportun", "opprimer", "opter", "optique", "orageux", "orange", "orbite", "ordonner",
16105"oreille", "organe", "orgueil", "orifice", "ornement", "orque", "ortie", "osciller", "osmose", "ossature",
16106"otarie", "ouragan", "ourson", "outil", "outrager", "ouvrage", "ovation", "oxyde", "oxygène", "ozone",
16107"paisible", "palace", "palmarès", "palourde", "palper", "panache", "panda", "pangolin", "paniquer", "panneau",
16108"panorama", "pantalon", "papaye", "papier", "papoter", "papyrus", "paradoxe", "parcelle", "paresse", "parfumer",
16109"parler", "parole", "parrain", "parsemer", "partager", "parure", "parvenir", "passion", "pastèque", "paternel",
16110"patience", "patron", "pavillon", "pavoiser", "payer", "paysage", "peigne", "peintre", "pelage", "pélican",
16111"pelle", "pelouse", "peluche", "pendule", "pénétrer", "pénible", "pensif", "pénurie", "pépite", "péplum",
16112"perdrix", "perforer", "période", "permuter", "perplexe", "persil", "perte", "peser", "pétale", "petit",
16113"pétrir", "peuple", "pharaon", "phobie", "phoque", "photon", "phrase", "physique", "piano", "pictural",
16114"pièce", "pierre", "pieuvre", "pilote", "pinceau", "pipette", "piquer", "pirogue", "piscine", "piston",
16115"pivoter", "pixel", "pizza", "placard", "plafond", "plaisir", "planer", "plaque", "plastron", "plateau",
16116"pleurer", "plexus", "pliage", "plomb", "plonger", "pluie", "plumage", "pochette", "poésie", "poète",
16117"pointe", "poirier", "poisson", "poivre", "polaire", "policier", "pollen", "polygone", "pommade", "pompier",
16118"ponctuel", "pondérer", "poney", "portique", "position", "posséder", "posture", "potager", "poteau", "potion",
16119"pouce", "poulain", "poumon", "pourpre", "poussin", "pouvoir", "prairie", "pratique", "précieux", "prédire",
16120"préfixe", "prélude", "prénom", "présence", "prétexte", "prévoir", "primitif", "prince", "prison", "priver",
16121"problème", "procéder", "prodige", "profond", "progrès", "proie", "projeter", "prologue", "promener", "propre",
16122"prospère", "protéger", "prouesse", "proverbe", "prudence", "pruneau", "psychose", "public", "puceron", "puiser",
16123"pulpe", "pulsar", "punaise", "punitif", "pupitre", "purifier", "puzzle", "pyramide", "quasar", "querelle",
16124"question", "quiétude", "quitter", "quotient", "racine", "raconter", "radieux", "ragondin", "raideur", "raisin",
16125"ralentir", "rallonge", "ramasser", "rapide", "rasage", "ratisser", "ravager", "ravin", "rayonner", "réactif",
16126"réagir", "réaliser", "réanimer", "recevoir", "réciter", "réclamer", "récolter", "recruter", "reculer", "recycler",
16127"rédiger", "redouter", "refaire", "réflexe", "réformer", "refrain", "refuge", "régalien", "région", "réglage",
16128"régulier", "réitérer", "rejeter", "rejouer", "relatif", "relever", "relief", "remarque", "remède", "remise",
16129"remonter", "remplir", "remuer", "renard", "renfort", "renifler", "renoncer", "rentrer", "renvoi", "replier",
16130"reporter", "reprise", "reptile", "requin", "réserve", "résineux", "résoudre", "respect", "rester", "résultat",
16131"rétablir", "retenir", "réticule", "retomber", "retracer", "réunion", "réussir", "revanche", "revivre", "révolte",
16132"révulsif", "richesse", "rideau", "rieur", "rigide", "rigoler", "rincer", "riposter", "risible", "risque",
16133"rituel", "rival", "rivière", "rocheux", "romance", "rompre", "ronce", "rondin", "roseau", "rosier",
16134"rotatif", "rotor", "rotule", "rouge", "rouille", "rouleau", "routine", "royaume", "ruban", "rubis",
16135"ruche", "ruelle", "rugueux", "ruiner", "ruisseau", "ruser", "rustique", "rythme", "sabler", "saboter",
16136"sabre", "sacoche", "safari", "sagesse", "saisir", "salade", "salive", "salon", "saluer", "samedi",
16137"sanction", "sanglier", "sarcasme", "sardine", "saturer", "saugrenu", "saumon", "sauter", "sauvage", "savant",
16138"savonner", "scalpel", "scandale", "scélérat", "scénario", "sceptre", "schéma", "science", "scinder", "score",
16139"scrutin", "sculpter", "séance", "sécable", "sécher", "secouer", "sécréter", "sédatif", "séduire", "seigneur",
16140"séjour", "sélectif", "semaine", "sembler", "semence", "séminal", "sénateur", "sensible", "sentence", "séparer",
16141"séquence", "serein", "sergent", "sérieux", "serrure", "sérum", "service", "sésame", "sévir", "sevrage",
16142"sextuple", "sidéral", "siècle", "siéger", "siffler", "sigle", "signal", "silence", "silicium", "simple",
16143"sincère", "sinistre", "siphon", "sirop", "sismique", "situer", "skier", "social", "socle", "sodium",
16144"soigneux", "soldat", "soleil", "solitude", "soluble", "sombre", "sommeil", "somnoler", "sonde", "songeur",
16145"sonnette", "sonore", "sorcier", "sortir", "sosie", "sottise", "soucieux", "soudure", "souffle", "soulever",
16146"soupape", "source", "soutirer", "souvenir", "spacieux", "spatial", "spécial", "sphère", "spiral", "stable",
16147"station", "sternum", "stimulus", "stipuler", "strict", "studieux", "stupeur", "styliste", "sublime", "substrat",
16148"subtil", "subvenir", "succès", "sucre", "suffixe", "suggérer", "suiveur", "sulfate", "superbe", "supplier",
16149"surface", "suricate", "surmener", "surprise", "sursaut", "survie", "suspect", "syllabe", "symbole", "symétrie",
16150"synapse", "syntaxe", "système", "tabac", "tablier", "tactile", "tailler", "talent", "talisman", "talonner",
16151"tambour", "tamiser", "tangible", "tapis", "taquiner", "tarder", "tarif", "tartine", "tasse", "tatami",
16152"tatouage", "taupe", "taureau", "taxer", "témoin", "temporel", "tenaille", "tendre", "teneur", "tenir",
16153"tension", "terminer", "terne", "terrible", "tétine", "texte", "thème", "théorie", "thérapie", "thorax",
16154"tibia", "tiède", "timide", "tirelire", "tiroir", "tissu", "titane", "titre", "tituber", "toboggan",
16155"tolérant", "tomate", "tonique", "tonneau", "toponyme", "torche", "tordre", "tornade", "torpille", "torrent",
16156"torse", "tortue", "totem", "toucher", "tournage", "tousser", "toxine", "traction", "trafic", "tragique",
16157"trahir", "train", "trancher", "travail", "trèfle", "tremper", "trésor", "treuil", "triage", "tribunal",
16158"tricoter", "trilogie", "triomphe", "tripler", "triturer", "trivial", "trombone", "tronc", "tropical", "troupeau",
16159"tuile", "tulipe", "tumulte", "tunnel", "turbine", "tuteur", "tutoyer", "tuyau", "tympan", "typhon",
16160"typique", "tyran", "ubuesque", "ultime", "ultrason", "unanime", "unifier", "union", "unique", "unitaire",
16161"univers", "uranium", "urbain", "urticant", "usage", "usine", "usuel", "usure", "utile", "utopie",
16162"vacarme", "vaccin", "vagabond", "vague", "vaillant", "vaincre", "vaisseau", "valable", "valise", "vallon",
16163"valve", "vampire", "vanille", "vapeur", "varier", "vaseux", "vassal", "vaste", "vecteur", "vedette",
16164"végétal", "véhicule", "veinard", "véloce", "vendredi", "vénérer", "venger", "venimeux", "ventouse", "verdure",
16165"vérin", "vernir", "verrou", "verser", "vertu", "veston", "vétéran", "vétuste", "vexant", "vexer",
16166"viaduc", "viande", "victoire", "vidange", "vidéo", "vignette", "vigueur", "vilain", "village", "vinaigre",
16167"violon", "vipère", "virement", "virtuose", "virus", "visage", "viseur", "vision", "visqueux", "visuel",
16168"vital", "vitesse", "viticole", "vitrine", "vivace", "vivipare", "vocation", "voguer", "voile", "voisin",
16169"voiture", "volaille", "volcan", "voltiger", "volume", "vorace", "vortex", "voter", "vouloir", "voyage",
16170"voyelle", "wagon", "xénon", "yacht", "zèbre", "zénith", "zeste", "zoologie"]
16171</script>
16172 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
16173WORDLISTS["italian"] = [
16174"abaco", "abbaglio", "abbinato", "abete", "abisso", "abolire", "abrasivo", "abrogato", "accadere", "accenno",
16175"accusato", "acetone", "achille", "acido", "acqua", "acre", "acrilico", "acrobata", "acuto", "adagio",
16176"addebito", "addome", "adeguato", "aderire", "adipe", "adottare", "adulare", "affabile", "affetto", "affisso",
16177"affranto", "aforisma", "afoso", "africano", "agave", "agente", "agevole", "aggancio", "agire", "agitare",
16178"agonismo", "agricolo", "agrumeto", "aguzzo", "alabarda", "alato", "albatro", "alberato", "albo", "albume",
16179"alce", "alcolico", "alettone", "alfa", "algebra", "aliante", "alibi", "alimento", "allagato", "allegro",
16180"allievo", "allodola", "allusivo", "almeno", "alogeno", "alpaca", "alpestre", "altalena", "alterno", "alticcio",
16181"altrove", "alunno", "alveolo", "alzare", "amalgama", "amanita", "amarena", "ambito", "ambrato", "ameba",
16182"america", "ametista", "amico", "ammasso", "ammenda", "ammirare", "ammonito", "amore", "ampio", "ampliare",
16183"amuleto", "anacardo", "anagrafe", "analista", "anarchia", "anatra", "anca", "ancella", "ancora", "andare",
16184"andrea", "anello", "angelo", "angolare", "angusto", "anima", "annegare", "annidato", "anno", "annuncio",
16185"anonimo", "anticipo", "anzi", "apatico", "apertura", "apode", "apparire", "appetito", "appoggio", "approdo",
16186"appunto", "aprile", "arabica", "arachide", "aragosta", "araldica", "arancio", "aratura", "arazzo", "arbitro",
16187"archivio", "ardito", "arenile", "argento", "argine", "arguto", "aria", "armonia", "arnese", "arredato",
16188"arringa", "arrosto", "arsenico", "arso", "artefice", "arzillo", "asciutto", "ascolto", "asepsi", "asettico",
16189"asfalto", "asino", "asola", "aspirato", "aspro", "assaggio", "asse", "assoluto", "assurdo", "asta",
16190"astenuto", "astice", "astratto", "atavico", "ateismo", "atomico", "atono", "attesa", "attivare", "attorno",
16191"attrito", "attuale", "ausilio", "austria", "autista", "autonomo", "autunno", "avanzato", "avere", "avvenire",
16192"avviso", "avvolgere", "azione", "azoto", "azzimo", "azzurro", "babele", "baccano", "bacino", "baco",
16193"badessa", "badilata", "bagnato", "baita", "balcone", "baldo", "balena", "ballata", "balzano", "bambino",
16194"bandire", "baraonda", "barbaro", "barca", "baritono", "barlume", "barocco", "basilico", "basso", "batosta",
16195"battuto", "baule", "bava", "bavosa", "becco", "beffa", "belgio", "belva", "benda", "benevole",
16196"benigno", "benzina", "bere", "berlina", "beta", "bibita", "bici", "bidone", "bifido", "biga",
16197"bilancia", "bimbo", "binocolo", "biologo", "bipede", "bipolare", "birbante", "birra", "biscotto", "bisesto",
16198"bisnonno", "bisonte", "bisturi", "bizzarro", "blando", "blatta", "bollito", "bonifico", "bordo", "bosco",
16199"botanico", "bottino", "bozzolo", "braccio", "bradipo", "brama", "branca", "bravura", "bretella", "brevetto",
16200"brezza", "briglia", "brillante", "brindare", "broccolo", "brodo", "bronzina", "brullo", "bruno", "bubbone",
16201"buca", "budino", "buffone", "buio", "bulbo", "buono", "burlone", "burrasca", "bussola", "busta",
16202"cadetto", "caduco", "calamaro", "calcolo", "calesse", "calibro", "calmo", "caloria", "cambusa", "camerata",
16203"camicia", "cammino", "camola", "campale", "canapa", "candela", "cane", "canino", "canotto", "cantina",
16204"capace", "capello", "capitolo", "capogiro", "cappero", "capra", "capsula", "carapace", "carcassa", "cardo",
16205"carisma", "carovana", "carretto", "cartolina", "casaccio", "cascata", "caserma", "caso", "cassone", "castello",
16206"casuale", "catasta", "catena", "catrame", "cauto", "cavillo", "cedibile", "cedrata", "cefalo", "celebre",
16207"cellulare", "cena", "cenone", "centesimo", "ceramica", "cercare", "certo", "cerume", "cervello", "cesoia",
16208"cespo", "ceto", "chela", "chiaro", "chicca", "chiedere", "chimera", "china", "chirurgo", "chitarra",
16209"ciao", "ciclismo", "cifrare", "cigno", "cilindro", "ciottolo", "circa", "cirrosi", "citrico", "cittadino",
16210"ciuffo", "civetta", "civile", "classico", "clinica", "cloro", "cocco", "codardo", "codice", "coerente",
16211"cognome", "collare", "colmato", "colore", "colposo", "coltivato", "colza", "coma", "cometa", "commando",
16212"comodo", "computer", "comune", "conciso", "condurre", "conferma", "congelare", "coniuge", "connesso", "conoscere",
16213"consumo", "continuo", "convegno", "coperto", "copione", "coppia", "copricapo", "corazza", "cordata", "coricato",
16214"cornice", "corolla", "corpo", "corredo", "corsia", "cortese", "cosmico", "costante", "cottura", "covato",
16215"cratere", "cravatta", "creato", "credere", "cremoso", "crescita", "creta", "criceto", "crinale", "crisi",
16216"critico", "croce", "cronaca", "crostata", "cruciale", "crusca", "cucire", "cuculo", "cugino", "cullato",
16217"cupola", "curatore", "cursore", "curvo", "cuscino", "custode", "dado", "daino", "dalmata", "damerino",
16218"daniela", "dannoso", "danzare", "datato", "davanti", "davvero", "debutto", "decennio", "deciso", "declino",
16219"decollo", "decreto", "dedicato", "definito", "deforme", "degno", "delegare", "delfino", "delirio", "delta",
16220"demenza", "denotato", "dentro", "deposito", "derapata", "derivare", "deroga", "descritto", "deserto", "desiderio",
16221"desumere", "detersivo", "devoto", "diametro", "dicembre", "diedro", "difeso", "diffuso", "digerire", "digitale",
16222"diluvio", "dinamico", "dinnanzi", "dipinto", "diploma", "dipolo", "diradare", "dire", "dirotto", "dirupo",
16223"disagio", "discreto", "disfare", "disgelo", "disposto", "distanza", "disumano", "dito", "divano", "divelto",
16224"dividere", "divorato", "doblone", "docente", "doganale", "dogma", "dolce", "domato", "domenica", "dominare",
16225"dondolo", "dono", "dormire", "dote", "dottore", "dovuto", "dozzina", "drago", "druido", "dubbio",
16226"dubitare", "ducale", "duna", "duomo", "duplice", "duraturo", "ebano", "eccesso", "ecco", "eclissi",
16227"economia", "edera", "edicola", "edile", "editoria", "educare", "egemonia", "egli", "egoismo", "egregio",
16228"elaborato", "elargire", "elegante", "elencato", "eletto", "elevare", "elfico", "elica", "elmo", "elsa",
16229"eluso", "emanato", "emblema", "emesso", "emiro", "emotivo", "emozione", "empirico", "emulo", "endemico",
16230"enduro", "energia", "enfasi", "enoteca", "entrare", "enzima", "epatite", "epilogo", "episodio", "epocale",
16231"eppure", "equatore", "erario", "erba", "erboso", "erede", "eremita", "erigere", "ermetico", "eroe",
16232"erosivo", "errante", "esagono", "esame", "esanime", "esaudire", "esca", "esempio", "esercito", "esibito",
16233"esigente", "esistere", "esito", "esofago", "esortato", "esoso", "espanso", "espresso", "essenza", "esso",
16234"esteso", "estimare", "estonia", "estroso", "esultare", "etilico", "etnico", "etrusco", "etto", "euclideo",
16235"europa", "evaso", "evidenza", "evitato", "evoluto", "evviva", "fabbrica", "faccenda", "fachiro", "falco",
16236"famiglia", "fanale", "fanfara", "fango", "fantasma", "fare", "farfalla", "farinoso", "farmaco", "fascia",
16237"fastoso", "fasullo", "faticare", "fato", "favoloso", "febbre", "fecola", "fede", "fegato", "felpa",
16238"feltro", "femmina", "fendere", "fenomeno", "fermento", "ferro", "fertile", "fessura", "festivo", "fetta",
16239"feudo", "fiaba", "fiducia", "fifa", "figurato", "filo", "finanza", "finestra", "finire", "fiore",
16240"fiscale", "fisico", "fiume", "flacone", "flamenco", "flebo", "flemma", "florido", "fluente", "fluoro",
16241"fobico", "focaccia", "focoso", "foderato", "foglio", "folata", "folclore", "folgore", "fondente", "fonetico",
16242"fonia", "fontana", "forbito", "forchetta", "foresta", "formica", "fornaio", "foro", "fortezza", "forzare",
16243"fosfato", "fosso", "fracasso", "frana", "frassino", "fratello", "freccetta", "frenata", "fresco", "frigo",
16244"frollino", "fronde", "frugale", "frutta", "fucilata", "fucsia", "fuggente", "fulmine", "fulvo", "fumante",
16245"fumetto", "fumoso", "fune", "funzione", "fuoco", "furbo", "furgone", "furore", "fuso", "futile",
16246"gabbiano", "gaffe", "galateo", "gallina", "galoppo", "gambero", "gamma", "garanzia", "garbo", "garofano",
16247"garzone", "gasdotto", "gasolio", "gastrico", "gatto", "gaudio", "gazebo", "gazzella", "geco", "gelatina",
16248"gelso", "gemello", "gemmato", "gene", "genitore", "gennaio", "genotipo", "gergo", "ghepardo", "ghiaccio",
16249"ghisa", "giallo", "gilda", "ginepro", "giocare", "gioiello", "giorno", "giove", "girato", "girone",
16250"gittata", "giudizio", "giurato", "giusto", "globulo", "glutine", "gnomo", "gobba", "golf", "gomito",
16251"gommone", "gonfio", "gonna", "governo", "gracile", "grado", "grafico", "grammo", "grande", "grattare",
16252"gravoso", "grazia", "greca", "gregge", "grifone", "grigio", "grinza", "grotta", "gruppo", "guadagno",
16253"guaio", "guanto", "guardare", "gufo", "guidare", "ibernato", "icona", "identico", "idillio", "idolo",
16254"idra", "idrico", "idrogeno", "igiene", "ignaro", "ignorato", "ilare", "illeso", "illogico", "illudere",
16255"imballo", "imbevuto", "imbocco", "imbuto", "immane", "immerso", "immolato", "impacco", "impeto", "impiego",
16256"importo", "impronta", "inalare", "inarcare", "inattivo", "incanto", "incendio", "inchino", "incisivo", "incluso",
16257"incontro", "incrocio", "incubo", "indagine", "india", "indole", "inedito", "infatti", "infilare", "inflitto",
16258"ingaggio", "ingegno", "inglese", "ingordo", "ingrosso", "innesco", "inodore", "inoltrare", "inondato", "insano",
16259"insetto", "insieme", "insonnia", "insulina", "intasato", "intero", "intonaco", "intuito", "inumidire", "invalido",
16260"invece", "invito", "iperbole", "ipnotico", "ipotesi", "ippica", "iride", "irlanda", "ironico", "irrigato",
16261"irrorare", "isolato", "isotopo", "isterico", "istituto", "istrice", "italia", "iterare", "labbro", "labirinto",
16262"lacca", "lacerato", "lacrima", "lacuna", "laddove", "lago", "lampo", "lancetta", "lanterna", "lardoso",
16263"larga", "laringe", "lastra", "latenza", "latino", "lattuga", "lavagna", "lavoro", "legale", "leggero",
16264"lembo", "lentezza", "lenza", "leone", "lepre", "lesivo", "lessato", "lesto", "letterale", "leva",
16265"levigato", "libero", "lido", "lievito", "lilla", "limatura", "limitare", "limpido", "lineare", "lingua",
16266"liquido", "lira", "lirica", "lisca", "lite", "litigio", "livrea", "locanda", "lode", "logica",
16267"lombare", "londra", "longevo", "loquace", "lorenzo", "loto", "lotteria", "luce", "lucidato", "lumaca",
16268"luminoso", "lungo", "lupo", "luppolo", "lusinga", "lusso", "lutto", "macabro", "macchina", "macero",
16269"macinato", "madama", "magico", "maglia", "magnete", "magro", "maiolica", "malafede", "malgrado", "malinteso",
16270"malsano", "malto", "malumore", "mana", "mancia", "mandorla", "mangiare", "manifesto", "mannaro", "manovra",
16271"mansarda", "mantide", "manubrio", "mappa", "maratona", "marcire", "maretta", "marmo", "marsupio", "maschera",
16272"massaia", "mastino", "materasso", "matricola", "mattone", "maturo", "mazurca", "meandro", "meccanico", "mecenate",
16273"medesimo", "meditare", "mega", "melassa", "melis", "melodia", "meninge", "meno", "mensola", "mercurio",
16274"merenda", "merlo", "meschino", "mese", "messere", "mestolo", "metallo", "metodo", "mettere", "miagolare",
16275"mica", "micelio", "michele", "microbo", "midollo", "miele", "migliore", "milano", "milite", "mimosa",
16276"minerale", "mini", "minore", "mirino", "mirtillo", "miscela", "missiva", "misto", "misurare", "mitezza",
16277"mitigare", "mitra", "mittente", "mnemonico", "modello", "modifica", "modulo", "mogano", "mogio", "mole",
16278"molosso", "monastero", "monco", "mondina", "monetario", "monile", "monotono", "monsone", "montato", "monviso",
16279"mora", "mordere", "morsicato", "mostro", "motivato", "motosega", "motto", "movenza", "movimento", "mozzo",
16280"mucca", "mucosa", "muffa", "mughetto", "mugnaio", "mulatto", "mulinello", "multiplo", "mummia", "munto",
16281"muovere", "murale", "musa", "muscolo", "musica", "mutevole", "muto", "nababbo", "nafta", "nanometro",
16282"narciso", "narice", "narrato", "nascere", "nastrare", "naturale", "nautica", "naviglio", "nebulosa", "necrosi",
16283"negativo", "negozio", "nemmeno", "neofita", "neretto", "nervo", "nessuno", "nettuno", "neutrale", "neve",
16284"nevrotico", "nicchia", "ninfa", "nitido", "nobile", "nocivo", "nodo", "nome", "nomina", "nordico",
16285"normale", "norvegese", "nostrano", "notare", "notizia", "notturno", "novella", "nucleo", "nulla", "numero",
16286"nuovo", "nutrire", "nuvola", "nuziale", "oasi", "obbedire", "obbligo", "obelisco", "oblio", "obolo",
16287"obsoleto", "occasione", "occhio", "occidente", "occorrere", "occultare", "ocra", "oculato", "odierno", "odorare",
16288"offerta", "offrire", "offuscato", "oggetto", "oggi", "ognuno", "olandese", "olfatto", "oliato", "oliva",
16289"ologramma", "oltre", "omaggio", "ombelico", "ombra", "omega", "omissione", "ondoso", "onere", "onice",
16290"onnivoro", "onorevole", "onta", "operato", "opinione", "opposto", "oracolo", "orafo", "ordine", "orecchino",
16291"orefice", "orfano", "organico", "origine", "orizzonte", "orma", "ormeggio", "ornativo", "orologio", "orrendo",
16292"orribile", "ortensia", "ortica", "orzata", "orzo", "osare", "oscurare", "osmosi", "ospedale", "ospite",
16293"ossa", "ossidare", "ostacolo", "oste", "otite", "otre", "ottagono", "ottimo", "ottobre", "ovale",
16294"ovest", "ovino", "oviparo", "ovocito", "ovunque", "ovviare", "ozio", "pacchetto", "pace", "pacifico",
16295"padella", "padrone", "paese", "paga", "pagina", "palazzina", "palesare", "pallido", "palo", "palude",
16296"pandoro", "pannello", "paolo", "paonazzo", "paprica", "parabola", "parcella", "parere", "pargolo", "pari",
16297"parlato", "parola", "partire", "parvenza", "parziale", "passivo", "pasticca", "patacca", "patologia", "pattume",
16298"pavone", "peccato", "pedalare", "pedonale", "peggio", "peloso", "penare", "pendice", "penisola", "pennuto",
16299"penombra", "pensare", "pentola", "pepe", "pepita", "perbene", "percorso", "perdonato", "perforare", "pergamena",
16300"periodo", "permesso", "perno", "perplesso", "persuaso", "pertugio", "pervaso", "pesatore", "pesista", "peso",
16301"pestifero", "petalo", "pettine", "petulante", "pezzo", "piacere", "pianta", "piattino", "piccino", "picozza",
16302"piega", "pietra", "piffero", "pigiama", "pigolio", "pigro", "pila", "pilifero", "pillola", "pilota",
16303"pimpante", "pineta", "pinna", "pinolo", "pioggia", "piombo", "piramide", "piretico", "pirite", "pirolisi",
16304"pitone", "pizzico", "placebo", "planare", "plasma", "platano", "plenario", "pochezza", "poderoso", "podismo",
16305"poesia", "poggiare", "polenta", "poligono", "pollice", "polmonite", "polpetta", "polso", "poltrona", "polvere",
16306"pomice", "pomodoro", "ponte", "popoloso", "porfido", "poroso", "porpora", "porre", "portata", "posa",
16307"positivo", "possesso", "postulato", "potassio", "potere", "pranzo", "prassi", "pratica", "precluso", "predica",
16308"prefisso", "pregiato", "prelievo", "premere", "prenotare", "preparato", "presenza", "pretesto", "prevalso", "prima",
16309"principe", "privato", "problema", "procura", "produrre", "profumo", "progetto", "prolunga", "promessa", "pronome",
16310"proposta", "proroga", "proteso", "prova", "prudente", "prugna", "prurito", "psiche", "pubblico", "pudica",
16311"pugilato", "pugno", "pulce", "pulito", "pulsante", "puntare", "pupazzo", "pupilla", "puro", "quadro",
16312"qualcosa", "quasi", "querela", "quota", "raccolto", "raddoppio", "radicale", "radunato", "raffica", "ragazzo",
16313"ragione", "ragno", "ramarro", "ramingo", "ramo", "randagio", "rantolare", "rapato", "rapina", "rappreso",
16314"rasatura", "raschiato", "rasente", "rassegna", "rastrello", "rata", "ravveduto", "reale", "recepire", "recinto",
16315"recluta", "recondito", "recupero", "reddito", "redimere", "regalato", "registro", "regola", "regresso", "relazione",
16316"remare", "remoto", "renna", "replica", "reprimere", "reputare", "resa", "residente", "responso", "restauro",
16317"rete", "retina", "retorica", "rettifica", "revocato", "riassunto", "ribadire", "ribelle", "ribrezzo", "ricarica",
16318"ricco", "ricevere", "riciclato", "ricordo", "ricreduto", "ridicolo", "ridurre", "rifasare", "riflesso", "riforma",
16319"rifugio", "rigare", "rigettato", "righello", "rilassato", "rilevato", "rimanere", "rimbalzo", "rimedio", "rimorchio",
16320"rinascita", "rincaro", "rinforzo", "rinnovo", "rinomato", "rinsavito", "rintocco", "rinuncia", "rinvenire", "riparato",
16321"ripetuto", "ripieno", "riportare", "ripresa", "ripulire", "risata", "rischio", "riserva", "risibile", "riso",
16322"rispetto", "ristoro", "risultato", "risvolto", "ritardo", "ritegno", "ritmico", "ritrovo", "riunione", "riva",
16323"riverso", "rivincita", "rivolto", "rizoma", "roba", "robotico", "robusto", "roccia", "roco", "rodaggio",
16324"rodere", "roditore", "rogito", "rollio", "romantico", "rompere", "ronzio", "rosolare", "rospo", "rotante",
16325"rotondo", "rotula", "rovescio", "rubizzo", "rubrica", "ruga", "rullino", "rumine", "rumoroso", "ruolo",
16326"rupe", "russare", "rustico", "sabato", "sabbiare", "sabotato", "sagoma", "salasso", "saldatura", "salgemma",
16327"salivare", "salmone", "salone", "saltare", "saluto", "salvo", "sapere", "sapido", "saporito", "saraceno",
16328"sarcasmo", "sarto", "sassoso", "satellite", "satira", "satollo", "saturno", "savana", "savio", "saziato",
16329"sbadiglio", "sbalzo", "sbancato", "sbarra", "sbattere", "sbavare", "sbendare", "sbirciare", "sbloccato", "sbocciato",
16330"sbrinare", "sbruffone", "sbuffare", "scabroso", "scadenza", "scala", "scambiare", "scandalo", "scapola", "scarso",
16331"scatenare", "scavato", "scelto", "scenico", "scettro", "scheda", "schiena", "sciarpa", "scienza", "scindere",
16332"scippo", "sciroppo", "scivolo", "sclerare", "scodella", "scolpito", "scomparto", "sconforto", "scoprire", "scorta",
16333"scossone", "scozzese", "scriba", "scrollare", "scrutinio", "scuderia", "scultore", "scuola", "scuro", "scusare",
16334"sdebitare", "sdoganare", "seccatura", "secondo", "sedano", "seggiola", "segnalato", "segregato", "seguito", "selciato",
16335"selettivo", "sella", "selvaggio", "semaforo", "sembrare", "seme", "seminato", "sempre", "senso", "sentire",
16336"sepolto", "sequenza", "serata", "serbato", "sereno", "serio", "serpente", "serraglio", "servire", "sestina",
16337"setola", "settimana", "sfacelo", "sfaldare", "sfamato", "sfarzoso", "sfaticato", "sfera", "sfida", "sfilato",
16338"sfinge", "sfocato", "sfoderare", "sfogo", "sfoltire", "sforzato", "sfratto", "sfruttato", "sfuggito", "sfumare",
16339"sfuso", "sgabello", "sgarbato", "sgonfiare", "sgorbio", "sgrassato", "sguardo", "sibilo", "siccome", "sierra",
16340"sigla", "signore", "silenzio", "sillaba", "simbolo", "simpatico", "simulato", "sinfonia", "singolo", "sinistro",
16341"sino", "sintesi", "sinusoide", "sipario", "sisma", "sistole", "situato", "slitta", "slogatura", "sloveno",
16342"smarrito", "smemorato", "smentito", "smeraldo", "smilzo", "smontare", "smottato", "smussato", "snellire", "snervato",
16343"snodo", "sobbalzo", "sobrio", "soccorso", "sociale", "sodale", "soffitto", "sogno", "soldato", "solenne",
16344"solido", "sollazzo", "solo", "solubile", "solvente", "somatico", "somma", "sonda", "sonetto", "sonnifero",
16345"sopire", "soppeso", "sopra", "sorgere", "sorpasso", "sorriso", "sorso", "sorteggio", "sorvolato", "sospiro",
16346"sosta", "sottile", "spada", "spalla", "spargere", "spatola", "spavento", "spazzola", "specie", "spedire",
16347"spegnere", "spelatura", "speranza", "spessore", "spettrale", "spezzato", "spia", "spigoloso", "spillato", "spinoso",
16348"spirale", "splendido", "sportivo", "sposo", "spranga", "sprecare", "spronato", "spruzzo", "spuntino", "squillo",
16349"sradicare", "srotolato", "stabile", "stacco", "staffa", "stagnare", "stampato", "stantio", "starnuto", "stasera",
16350"statuto", "stelo", "steppa", "sterzo", "stiletto", "stima", "stirpe", "stivale", "stizzoso", "stonato",
16351"storico", "strappo", "stregato", "stridulo", "strozzare", "strutto", "stuccare", "stufo", "stupendo", "subentro",
16352"succoso", "sudore", "suggerito", "sugo", "sultano", "suonare", "superbo", "supporto", "surgelato", "surrogato",
16353"sussurro", "sutura", "svagare", "svedese", "sveglio", "svelare", "svenuto", "svezia", "sviluppo", "svista",
16354"svizzera", "svolta", "svuotare", "tabacco", "tabulato", "tacciare", "taciturno", "tale", "talismano", "tampone",
16355"tannino", "tara", "tardivo", "targato", "tariffa", "tarpare", "tartaruga", "tasto", "tattico", "taverna",
16356"tavolata", "tazza", "teca", "tecnico", "telefono", "temerario", "tempo", "temuto", "tendone", "tenero",
16357"tensione", "tentacolo", "teorema", "terme", "terrazzo", "terzetto", "tesi", "tesserato", "testato", "tetro",
16358"tettoia", "tifare", "tigella", "timbro", "tinto", "tipico", "tipografo", "tiraggio", "tiro", "titanio",
16359"titolo", "titubante", "tizio", "tizzone", "toccare", "tollerare", "tolto", "tombola", "tomo", "tonfo",
16360"tonsilla", "topazio", "topologia", "toppa", "torba", "tornare", "torrone", "tortora", "toscano", "tossire",
16361"tostatura", "totano", "trabocco", "trachea", "trafila", "tragedia", "tralcio", "tramonto", "transito", "trapano",
16362"trarre", "trasloco", "trattato", "trave", "treccia", "tremolio", "trespolo", "tributo", "tricheco", "trifoglio",
16363"trillo", "trincea", "trio", "tristezza", "triturato", "trivella", "tromba", "trono", "troppo", "trottola",
16364"trovare", "truccato", "tubatura", "tuffato", "tulipano", "tumulto", "tunisia", "turbare", "turchino", "tuta",
16365"tutela", "ubicato", "uccello", "uccisore", "udire", "uditivo", "uffa", "ufficio", "uguale", "ulisse",
16366"ultimato", "umano", "umile", "umorismo", "uncinetto", "ungere", "ungherese", "unicorno", "unificato", "unisono",
16367"unitario", "unte", "uovo", "upupa", "uragano", "urgenza", "urlo", "usanza", "usato", "uscito",
16368"usignolo", "usuraio", "utensile", "utilizzo", "utopia", "vacante", "vaccinato", "vagabondo", "vagliato", "valanga",
16369"valgo", "valico", "valletta", "valoroso", "valutare", "valvola", "vampata", "vangare", "vanitoso", "vano",
16370"vantaggio", "vanvera", "vapore", "varano", "varcato", "variante", "vasca", "vedetta", "vedova", "veduto",
16371"vegetale", "veicolo", "velcro", "velina", "velluto", "veloce", "venato", "vendemmia", "vento", "verace",
16372"verbale", "vergogna", "verifica", "vero", "verruca", "verticale", "vescica", "vessillo", "vestale", "veterano",
16373"vetrina", "vetusto", "viandante", "vibrante", "vicenda", "vichingo", "vicinanza", "vidimare", "vigilia", "vigneto",
16374"vigore", "vile", "villano", "vimini", "vincitore", "viola", "vipera", "virgola", "virologo", "virulento",
16375"viscoso", "visione", "vispo", "vissuto", "visura", "vita", "vitello", "vittima", "vivanda", "vivido",
16376"viziare", "voce", "voga", "volatile", "volere", "volpe", "voragine", "vulcano", "zampogna", "zanna",
16377"zappato", "zattera", "zavorra", "zefiro", "zelante", "zelo", "zenzero", "zerbino", "zibetto", "zinco",
16378"zircone", "zitto", "zolla", "zotico", "zucchero", "zufolo", "zulu", "zuppa"]
dc55c6b0 16379</script>
ab78acc6 16380 <script>/*
3af2954a
IC
16381 * Copyright (c) 2013 Pavol Rusnak
16382 *
16383 * Permission is hereby granted, free of charge, to any person obtaining a copy of
16384 * this software and associated documentation files (the "Software"), to deal in
16385 * the Software without restriction, including without limitation the rights to
16386 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
16387 * of the Software, and to permit persons to whom the Software is furnished to do
16388 * so, subject to the following conditions:
16389 *
16390 * The above copyright notice and this permission notice shall be included in all
16391 * copies or substantial portions of the Software.
16392 *
16393 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16394 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16395 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16396 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
16397 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
16398 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16399 */
16400
16401/*
16402 * Javascript port from python by Ian Coleman
16403 *
80c4dd2a
IC
16404 * Requires code from sjcl
16405 * https://github.com/bitwiseshiftleft/sjcl
3af2954a
IC
16406 */
16407
16408var Mnemonic = function(language) {
16409
16410 var PBKDF2_ROUNDS = 2048;
16411 var RADIX = 2048;
16412
16413 var self = this;
16414 var wordlist = [];
16415
80c4dd2a
IC
16416 var hmacSHA512 = function(key) {
16417 var hasher = new sjcl.misc.hmac(key, sjcl.hash.sha512);
16418 this.encrypt = function() {
16419 return hasher.encrypt.apply(hasher, arguments);
16420 };
16421 };
16422
3af2954a
IC
16423 function init() {
16424 wordlist = WORDLISTS[language];
16425 if (wordlist.length != RADIX) {
16426 err = 'Wordlist should contain ' + RADIX + ' words, but it contains ' + wordlist.length + ' words.';
16427 throw err;
16428 }
16429 }
16430
16431 self.generate = function(strength) {
16432 strength = strength || 128;
16433 var r = strength % 32;
16434 if (r > 0) {
16435 throw 'Strength should be divisible by 32, but it is not (' + r + ').';
16436 }
16437 var hasStrongCrypto = 'crypto' in window && window['crypto'] !== null;
16438 if (!hasStrongCrypto) {
16439 throw 'Mnemonic should be generated with strong randomness, but crypto.getRandomValues is unavailable';
16440 }
16441 var buffer = new Uint8Array(strength / 8);
16442 var data = crypto.getRandomValues(buffer);
16443 return self.toMnemonic(data);
16444 }
16445
80c4dd2a
IC
16446 self.toMnemonic = function(byteArray) {
16447 if (byteArray.length % 4 > 0) {
16448 throw 'Data length in bits should be divisible by 32, but it is not (' + byteArray.length + ' bytes = ' + byteArray.length*8 + ' bits).'
3af2954a
IC
16449 }
16450
16451 //h = hashlib.sha256(data).hexdigest()
80c4dd2a
IC
16452 var data = byteArrayToWordArray(byteArray);
16453 var hash = sjcl.hash.sha256.hash(data);
16454 var h = sjcl.codec.hex.fromBits(hash);
3af2954a
IC
16455
16456 // b is a binary string, eg '00111010101100...'
16457 //b = bin(int(binascii.hexlify(data), 16))[2:].zfill(len(data) * 8) + \
16458 // bin(int(h, 16))[2:].zfill(256)[:len(data) * 8 / 32]
16459 //
16460 // a = bin(int(binascii.hexlify(data), 16))[2:].zfill(len(data) * 8)
16461 // c = bin(int(h, 16))[2:].zfill(256)
16462 // d = c[:len(data) * 8 / 32]
80c4dd2a
IC
16463 var a = byteArrayToBinaryString(byteArray);
16464 var c = zfill(hexStringToBinaryString(h), 256);
16465 var d = c.substring(0, byteArray.length * 8 / 32);
3af2954a
IC
16466 // b = line1 + line2
16467 var b = a + d;
16468
16469 var result = [];
16470 var blen = b.length / 11;
16471 for (var i=0; i<blen; i++) {
16472 var idx = parseInt(b.substring(i * 11, (i + 1) * 11), 2);
16473 result.push(wordlist[idx]);
16474 }
0515eeec 16475 return self.joinWords(result);
3af2954a
IC
16476 }
16477
16478 self.check = function(mnemonic) {
0515eeec 16479 var mnemonic = self.splitWords(mnemonic);
18abe53b 16480 if (mnemonic.length == 0 || mnemonic.length % 3 > 0) {
3af2954a
IC
16481 return false
16482 }
16483 // idx = map(lambda x: bin(self.wordlist.index(x))[2:].zfill(11), mnemonic)
16484 var idx = [];
16485 for (var i=0; i<mnemonic.length; i++) {
16486 var word = mnemonic[i];
16487 var wordIndex = wordlist.indexOf(word);
16488 if (wordIndex == -1) {
16489 return false;
16490 }
16491 var binaryIndex = zfill(wordIndex.toString(2), 11);
16492 idx.push(binaryIndex);
16493 }
16494 var b = idx.join('');
16495 var l = b.length;
16496 //d = b[:l / 33 * 32]
16497 //h = b[-l / 33:]
16498 var d = b.substring(0, l / 33 * 32);
16499 var h = b.substring(l - l / 33, l);
16500 //nd = binascii.unhexlify(hex(int(d, 2))[2:].rstrip('L').zfill(l / 33 * 8))
80c4dd2a 16501 var nd = binaryStringToWordArray(d);
3af2954a 16502 //nh = bin(int(hashlib.sha256(nd).hexdigest(), 16))[2:].zfill(256)[:l / 33]
80c4dd2a
IC
16503 var ndHash = sjcl.hash.sha256.hash(nd);
16504 var ndHex = sjcl.codec.hex.fromBits(ndHash);
16505 var ndBstr = zfill(hexStringToBinaryString(ndHex), 256);
3af2954a
IC
16506 var nh = ndBstr.substring(0,l/33);
16507 return h == nh;
16508 }
16509
16510 self.toSeed = function(mnemonic, passphrase) {
16511 passphrase = passphrase || '';
0515eeec 16512 mnemonic = self.joinWords(self.splitWords(self.normalizeString(mnemonic))); // removes blanks
3af2954a
IC
16513 passphrase = self.normalizeString(passphrase)
16514 passphrase = "mnemonic" + passphrase;
80c4dd2a
IC
16515 var mnemonicBits = sjcl.codec.utf8String.toBits(mnemonic);
16516 var passphraseBits = sjcl.codec.utf8String.toBits(passphrase);
16517 var result = sjcl.misc.pbkdf2(mnemonicBits, passphraseBits, PBKDF2_ROUNDS, 512, hmacSHA512);
16518 var hashHex = sjcl.codec.hex.fromBits(result);
16519 return hashHex;
3af2954a
IC
16520 }
16521
0515eeec
IC
16522 self.splitWords = function(mnemonic) {
16523 return mnemonic.split(/\s/g).filter(function(x) { return x.length; });
16524 }
16525
16526 self.joinWords = function(words) {
16527 // Set space correctly depending on the language
16528 // see https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md#japanese
16529 var space = " ";
16530 if (language == "japanese") {
16531 space = "\u3000"; // ideographic space
16532 }
16533 return words.join(space);
16534 }
16535
3af2954a
IC
16536 self.normalizeString = function(str) {
16537 if (typeof str.normalize == "function") {
16538 return str.normalize("NFKD");
16539 }
16540 else {
16541 // TODO decide how to handle this in the future.
16542 // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
16543 return str;
16544 }
16545 }
16546
80c4dd2a
IC
16547 function byteArrayToWordArray(data) {
16548 var a = [];
16549 for (var i=0; i<data.length/4; i++) {
16550 v = 0;
16551 v += data[i*4 + 0] << 8 * 3;
16552 v += data[i*4 + 1] << 8 * 2;
16553 v += data[i*4 + 2] << 8 * 1;
16554 v += data[i*4 + 3] << 8 * 0;
16555 a.push(v);
16556 }
16557 return a;
16558 }
16559
3af2954a
IC
16560 function byteArrayToBinaryString(data) {
16561 var bin = "";
16562 for (var i=0; i<data.length; i++) {
16563 bin += zfill(data[i].toString(2), 8);
16564 }
16565 return bin;
16566 }
16567
80c4dd2a
IC
16568 function hexStringToBinaryString(hexString) {
16569 binaryString = "";
16570 for (var i=0; i<hexString.length; i++) {
16571 binaryString += zfill(parseInt(hexString[i], 16).toString(2),4);
16572 }
16573 return binaryString;
16574 }
16575
16576 function binaryStringToWordArray(binary) {
16577 var aLen = binary.length / 32;
16578 var a = [];
16579 for (var i=0; i<aLen; i++) {
16580 var valueStr = binary.substring(0,32);
3af2954a 16581 var value = parseInt(valueStr, 2);
80c4dd2a
IC
16582 a.push(value);
16583 binary = binary.slice(32);
3af2954a 16584 }
80c4dd2a 16585 return a;
3af2954a
IC
16586 }
16587
16588 // Pad a numeric string on the left with zero digits until the given width
16589 // is reached.
16590 // Note this differs to the python implementation because it does not
16591 // handle numbers starting with a sign.
16592 function zfill(source, length) {
16593 source = source.toString();
16594 while (source.length < length) {
16595 source = '0' + source;
16596 }
16597 return source;
16598 }
16599
16600 init();
ebd8d4e8 16601
3af2954a 16602}
dc55c6b0 16603</script>
95f04905
IC
16604 <script>/*
16605 JavaScript BigInteger library version 0.9.1
16606 http://silentmatt.com/biginteger/
18abe53b 16607
95f04905
IC
16608 Copyright (c) 2009 Matthew Crumley <email@matthewcrumley.com>
16609 Copyright (c) 2010,2011 by John Tobey <John.Tobey@gmail.com>
16610 Licensed under the MIT license.
c6624d51 16611
95f04905
IC
16612 Support for arbitrary internal representation base was added by
16613 Vitaly Magerya.
16614*/
18abe53b 16615
95f04905
IC
16616/*
16617 File: biginteger.js
18abe53b 16618
95f04905 16619 Exports:
18abe53b 16620
95f04905
IC
16621 <BigInteger>
16622*/
16623(function(exports) {
16624"use strict";
16625/*
16626 Class: BigInteger
16627 An arbitrarily-large integer.
18abe53b 16628
95f04905
IC
16629 <BigInteger> objects should be considered immutable. None of the "built-in"
16630 methods modify *this* or their arguments. All properties should be
16631 considered private.
18abe53b 16632
95f04905
IC
16633 All the methods of <BigInteger> instances can be called "statically". The
16634 static versions are convenient if you don't already have a <BigInteger>
16635 object.
18abe53b 16636
95f04905 16637 As an example, these calls are equivalent.
18abe53b 16638
95f04905
IC
16639 > BigInteger(4).multiply(5); // returns BigInteger(20);
16640 > BigInteger.multiply(4, 5); // returns BigInteger(20);
18abe53b 16641
95f04905
IC
16642 > var a = 42;
16643 > var a = BigInteger.toJSValue("0b101010"); // Not completely useless...
16644*/
c6624d51 16645
95f04905 16646var CONSTRUCT = {}; // Unique token to call "private" version of constructor
c6624d51
IC
16647
16648/*
16649 Constructor: BigInteger()
16650 Convert a value to a <BigInteger>.
16651
16652 Although <BigInteger()> is the constructor for <BigInteger> objects, it is
16653 best not to call it as a constructor. If *n* is a <BigInteger> object, it is
16654 simply returned as-is. Otherwise, <BigInteger()> is equivalent to <parse>
16655 without a radix argument.
16656
16657 > var n0 = BigInteger(); // Same as <BigInteger.ZERO>
16658 > var n1 = BigInteger("123"); // Create a new <BigInteger> with value 123
16659 > var n2 = BigInteger(123); // Create a new <BigInteger> with value 123
16660 > var n3 = BigInteger(n2); // Return n2, unchanged
16661
16662 The constructor form only takes an array and a sign. *n* must be an
16663 array of numbers in little-endian order, where each digit is between 0
16664 and BigInteger.base. The second parameter sets the sign: -1 for
16665 negative, +1 for positive, or 0 for zero. The array is *not copied and
16666 may be modified*. If the array contains only zeros, the sign parameter
16667 is ignored and is forced to zero.
16668
16669 > new BigInteger([5], -1): create a new BigInteger with value -5
16670
16671 Parameters:
16672
16673 n - Value to convert to a <BigInteger>.
16674
16675 Returns:
16676
16677 A <BigInteger> value.
16678
16679 See Also:
16680
16681 <parse>, <BigInteger>
16682*/
16683function BigInteger(n, s, token) {
16684 if (token !== CONSTRUCT) {
16685 if (n instanceof BigInteger) {
16686 return n;
16687 }
16688 else if (typeof n === "undefined") {
16689 return ZERO;
16690 }
16691 return BigInteger.parse(n);
16692 }
16693
16694 n = n || []; // Provide the nullary constructor for subclasses.
16695 while (n.length && !n[n.length - 1]) {
16696 --n.length;
16697 }
16698 this._d = n;
16699 this._s = n.length ? (s || 1) : 0;
16700}
16701
16702BigInteger._construct = function(n, s) {
16703 return new BigInteger(n, s, CONSTRUCT);
16704};
16705
16706// Base-10 speedup hacks in parse, toString, exp10 and log functions
16707// require base to be a power of 10. 10^7 is the largest such power
16708// that won't cause a precision loss when digits are multiplied.
16709var BigInteger_base = 10000000;
16710var BigInteger_base_log10 = 7;
16711
16712BigInteger.base = BigInteger_base;
16713BigInteger.base_log10 = BigInteger_base_log10;
16714
16715var ZERO = new BigInteger([], 0, CONSTRUCT);
16716// Constant: ZERO
16717// <BigInteger> 0.
16718BigInteger.ZERO = ZERO;
16719
16720var ONE = new BigInteger([1], 1, CONSTRUCT);
16721// Constant: ONE
16722// <BigInteger> 1.
16723BigInteger.ONE = ONE;
16724
16725var M_ONE = new BigInteger(ONE._d, -1, CONSTRUCT);
16726// Constant: M_ONE
16727// <BigInteger> -1.
16728BigInteger.M_ONE = M_ONE;
16729
16730// Constant: _0
16731// Shortcut for <ZERO>.
16732BigInteger._0 = ZERO;
16733
16734// Constant: _1
16735// Shortcut for <ONE>.
16736BigInteger._1 = ONE;
16737
16738/*
16739 Constant: small
16740 Array of <BigIntegers> from 0 to 36.
16741
16742 These are used internally for parsing, but useful when you need a "small"
16743 <BigInteger>.
16744
16745 See Also:
16746
16747 <ZERO>, <ONE>, <_0>, <_1>
16748*/
16749BigInteger.small = [
16750 ZERO,
16751 ONE,
16752 /* Assuming BigInteger_base > 36 */
16753 new BigInteger( [2], 1, CONSTRUCT),
16754 new BigInteger( [3], 1, CONSTRUCT),
16755 new BigInteger( [4], 1, CONSTRUCT),
16756 new BigInteger( [5], 1, CONSTRUCT),
16757 new BigInteger( [6], 1, CONSTRUCT),
16758 new BigInteger( [7], 1, CONSTRUCT),
16759 new BigInteger( [8], 1, CONSTRUCT),
16760 new BigInteger( [9], 1, CONSTRUCT),
16761 new BigInteger([10], 1, CONSTRUCT),
16762 new BigInteger([11], 1, CONSTRUCT),
16763 new BigInteger([12], 1, CONSTRUCT),
16764 new BigInteger([13], 1, CONSTRUCT),
16765 new BigInteger([14], 1, CONSTRUCT),
16766 new BigInteger([15], 1, CONSTRUCT),
16767 new BigInteger([16], 1, CONSTRUCT),
16768 new BigInteger([17], 1, CONSTRUCT),
16769 new BigInteger([18], 1, CONSTRUCT),
16770 new BigInteger([19], 1, CONSTRUCT),
16771 new BigInteger([20], 1, CONSTRUCT),
16772 new BigInteger([21], 1, CONSTRUCT),
16773 new BigInteger([22], 1, CONSTRUCT),
16774 new BigInteger([23], 1, CONSTRUCT),
16775 new BigInteger([24], 1, CONSTRUCT),
16776 new BigInteger([25], 1, CONSTRUCT),
16777 new BigInteger([26], 1, CONSTRUCT),
16778 new BigInteger([27], 1, CONSTRUCT),
16779 new BigInteger([28], 1, CONSTRUCT),
16780 new BigInteger([29], 1, CONSTRUCT),
16781 new BigInteger([30], 1, CONSTRUCT),
16782 new BigInteger([31], 1, CONSTRUCT),
16783 new BigInteger([32], 1, CONSTRUCT),
16784 new BigInteger([33], 1, CONSTRUCT),
16785 new BigInteger([34], 1, CONSTRUCT),
16786 new BigInteger([35], 1, CONSTRUCT),
16787 new BigInteger([36], 1, CONSTRUCT)
16788];
16789
16790// Used for parsing/radix conversion
16791BigInteger.digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
16792
16793/*
16794 Method: toString
16795 Convert a <BigInteger> to a string.
16796
16797 When *base* is greater than 10, letters are upper case.
16798
16799 Parameters:
16800
16801 base - Optional base to represent the number in (default is base 10).
16802 Must be between 2 and 36 inclusive, or an Error will be thrown.
16803
16804 Returns:
16805
16806 The string representation of the <BigInteger>.
16807*/
16808BigInteger.prototype.toString = function(base) {
16809 base = +base || 10;
16810 if (base < 2 || base > 36) {
16811 throw new Error("illegal radix " + base + ".");
16812 }
16813 if (this._s === 0) {
16814 return "0";
16815 }
16816 if (base === 10) {
16817 var str = this._s < 0 ? "-" : "";
16818 str += this._d[this._d.length - 1].toString();
16819 for (var i = this._d.length - 2; i >= 0; i--) {
16820 var group = this._d[i].toString();
16821 while (group.length < BigInteger_base_log10) group = '0' + group;
16822 str += group;
16823 }
16824 return str;
16825 }
16826 else {
16827 var numerals = BigInteger.digits;
16828 base = BigInteger.small[base];
16829 var sign = this._s;
16830
16831 var n = this.abs();
16832 var digits = [];
16833 var digit;
16834
16835 while (n._s !== 0) {
16836 var divmod = n.divRem(base);
16837 n = divmod[0];
16838 digit = divmod[1];
16839 // TODO: This could be changed to unshift instead of reversing at the end.
16840 // Benchmark both to compare speeds.
16841 digits.push(numerals[digit.valueOf()]);
16842 }
16843 return (sign < 0 ? "-" : "") + digits.reverse().join("");
16844 }
16845};
16846
16847// Verify strings for parsing
16848BigInteger.radixRegex = [
16849 /^$/,
16850 /^$/,
16851 /^[01]*$/,
16852 /^[012]*$/,
16853 /^[0-3]*$/,
16854 /^[0-4]*$/,
16855 /^[0-5]*$/,
16856 /^[0-6]*$/,
16857 /^[0-7]*$/,
16858 /^[0-8]*$/,
16859 /^[0-9]*$/,
16860 /^[0-9aA]*$/,
16861 /^[0-9abAB]*$/,
16862 /^[0-9abcABC]*$/,
16863 /^[0-9a-dA-D]*$/,
16864 /^[0-9a-eA-E]*$/,
16865 /^[0-9a-fA-F]*$/,
16866 /^[0-9a-gA-G]*$/,
16867 /^[0-9a-hA-H]*$/,
16868 /^[0-9a-iA-I]*$/,
16869 /^[0-9a-jA-J]*$/,
16870 /^[0-9a-kA-K]*$/,
16871 /^[0-9a-lA-L]*$/,
16872 /^[0-9a-mA-M]*$/,
16873 /^[0-9a-nA-N]*$/,
16874 /^[0-9a-oA-O]*$/,
16875 /^[0-9a-pA-P]*$/,
16876 /^[0-9a-qA-Q]*$/,
16877 /^[0-9a-rA-R]*$/,
16878 /^[0-9a-sA-S]*$/,
16879 /^[0-9a-tA-T]*$/,
16880 /^[0-9a-uA-U]*$/,
16881 /^[0-9a-vA-V]*$/,
16882 /^[0-9a-wA-W]*$/,
16883 /^[0-9a-xA-X]*$/,
16884 /^[0-9a-yA-Y]*$/,
16885 /^[0-9a-zA-Z]*$/
16886];
16887
16888/*
16889 Function: parse
16890 Parse a string into a <BigInteger>.
16891
16892 *base* is optional but, if provided, must be from 2 to 36 inclusive. If
16893 *base* is not provided, it will be guessed based on the leading characters
16894 of *s* as follows:
16895
16896 - "0x" or "0X": *base* = 16
16897 - "0c" or "0C": *base* = 8
16898 - "0b" or "0B": *base* = 2
16899 - else: *base* = 10
16900
16901 If no base is provided, or *base* is 10, the number can be in exponential
16902 form. For example, these are all valid:
16903
16904 > BigInteger.parse("1e9"); // Same as "1000000000"
16905 > BigInteger.parse("1.234*10^3"); // Same as 1234
16906 > BigInteger.parse("56789 * 10 ** -2"); // Same as 567
16907
16908 If any characters fall outside the range defined by the radix, an exception
16909 will be thrown.
16910
16911 Parameters:
16912
16913 s - The string to parse.
16914 base - Optional radix (default is to guess based on *s*).
16915
16916 Returns:
16917
16918 a <BigInteger> instance.
16919*/
16920BigInteger.parse = function(s, base) {
16921 // Expands a number in exponential form to decimal form.
16922 // expandExponential("-13.441*10^5") === "1344100";
16923 // expandExponential("1.12300e-1") === "0.112300";
16924 // expandExponential(1000000000000000000000000000000) === "1000000000000000000000000000000";
16925 function expandExponential(str) {
16926 str = str.replace(/\s*[*xX]\s*10\s*(\^|\*\*)\s*/, "e");
16927
16928 return str.replace(/^([+\-])?(\d+)\.?(\d*)[eE]([+\-]?\d+)$/, function(x, s, n, f, c) {
16929 c = +c;
16930 var l = c < 0;
16931 var i = n.length + c;
16932 x = (l ? n : f).length;
16933 c = ((c = Math.abs(c)) >= x ? c - x + l : 0);
16934 var z = (new Array(c + 1)).join("0");
16935 var r = n + f;
16936 return (s || "") + (l ? r = z + r : r += z).substr(0, i += l ? z.length : 0) + (i < r.length ? "." + r.substr(i) : "");
16937 });
16938 }
16939
16940 s = s.toString();
16941 if (typeof base === "undefined" || +base === 10) {
16942 s = expandExponential(s);
16943 }
16944
16945 var prefixRE;
16946 if (typeof base === "undefined") {
16947 prefixRE = '0[xcb]';
16948 }
16949 else if (base == 16) {
16950 prefixRE = '0x';
16951 }
16952 else if (base == 8) {
16953 prefixRE = '0c';
16954 }
16955 else if (base == 2) {
16956 prefixRE = '0b';
16957 }
16958 else {
16959 prefixRE = '';
16960 }
16961 var parts = new RegExp('^([+\\-]?)(' + prefixRE + ')?([0-9a-z]*)(?:\\.\\d*)?$', 'i').exec(s);
16962 if (parts) {
16963 var sign = parts[1] || "+";
16964 var baseSection = parts[2] || "";
16965 var digits = parts[3] || "";
16966
16967 if (typeof base === "undefined") {
16968 // Guess base
16969 if (baseSection === "0x" || baseSection === "0X") { // Hex
16970 base = 16;
16971 }
16972 else if (baseSection === "0c" || baseSection === "0C") { // Octal
16973 base = 8;
16974 }
16975 else if (baseSection === "0b" || baseSection === "0B") { // Binary
16976 base = 2;
16977 }
16978 else {
16979 base = 10;
16980 }
16981 }
16982 else if (base < 2 || base > 36) {
16983 throw new Error("Illegal radix " + base + ".");
16984 }
16985
16986 base = +base;
16987
16988 // Check for digits outside the range
16989 if (!(BigInteger.radixRegex[base].test(digits))) {
16990 throw new Error("Bad digit for radix " + base);
16991 }
16992
16993 // Strip leading zeros, and convert to array
16994 digits = digits.replace(/^0+/, "").split("");
16995 if (digits.length === 0) {
16996 return ZERO;
16997 }
16998
16999 // Get the sign (we know it's not zero)
17000 sign = (sign === "-") ? -1 : 1;
17001
17002 // Optimize 10
17003 if (base == 10) {
17004 var d = [];
17005 while (digits.length >= BigInteger_base_log10) {
17006 d.push(parseInt(digits.splice(digits.length-BigInteger.base_log10, BigInteger.base_log10).join(''), 10));
17007 }
17008 d.push(parseInt(digits.join(''), 10));
17009 return new BigInteger(d, sign, CONSTRUCT);
17010 }
17011
17012 // Do the conversion
17013 var d = ZERO;
17014 base = BigInteger.small[base];
17015 var small = BigInteger.small;
17016 for (var i = 0; i < digits.length; i++) {
17017 d = d.multiply(base).add(small[parseInt(digits[i], 36)]);
17018 }
17019 return new BigInteger(d._d, sign, CONSTRUCT);
17020 }
17021 else {
17022 throw new Error("Invalid BigInteger format: " + s);
17023 }
17024};
17025
17026/*
17027 Function: add
17028 Add two <BigIntegers>.
17029
17030 Parameters:
17031
17032 n - The number to add to *this*. Will be converted to a <BigInteger>.
17033
17034 Returns:
17035
17036 The numbers added together.
17037
17038 See Also:
17039
17040 <subtract>, <multiply>, <quotient>, <next>
17041*/
17042BigInteger.prototype.add = function(n) {
17043 if (this._s === 0) {
17044 return BigInteger(n);
17045 }
17046
17047 n = BigInteger(n);
17048 if (n._s === 0) {
17049 return this;
17050 }
17051 if (this._s !== n._s) {
17052 n = n.negate();
17053 return this.subtract(n);
17054 }
17055
17056 var a = this._d;
17057 var b = n._d;
17058 var al = a.length;
17059 var bl = b.length;
17060 var sum = new Array(Math.max(al, bl) + 1);
17061 var size = Math.min(al, bl);
17062 var carry = 0;
17063 var digit;
17064
17065 for (var i = 0; i < size; i++) {
17066 digit = a[i] + b[i] + carry;
17067 sum[i] = digit % BigInteger_base;
17068 carry = (digit / BigInteger_base) | 0;
17069 }
17070 if (bl > al) {
17071 a = b;
17072 al = bl;
17073 }
17074 for (i = size; carry && i < al; i++) {
17075 digit = a[i] + carry;
17076 sum[i] = digit % BigInteger_base;
17077 carry = (digit / BigInteger_base) | 0;
17078 }
17079 if (carry) {
17080 sum[i] = carry;
17081 }
17082
17083 for ( ; i < al; i++) {
17084 sum[i] = a[i];
17085 }
17086
17087 return new BigInteger(sum, this._s, CONSTRUCT);
17088};
17089
17090/*
17091 Function: negate
17092 Get the additive inverse of a <BigInteger>.
17093
17094 Returns:
17095
17096 A <BigInteger> with the same magnatude, but with the opposite sign.
17097
17098 See Also:
17099
17100 <abs>
17101*/
17102BigInteger.prototype.negate = function() {
17103 return new BigInteger(this._d, (-this._s) | 0, CONSTRUCT);
17104};
17105
17106/*
17107 Function: abs
17108 Get the absolute value of a <BigInteger>.
17109
17110 Returns:
17111
17112 A <BigInteger> with the same magnatude, but always positive (or zero).
17113
17114 See Also:
17115
17116 <negate>
17117*/
17118BigInteger.prototype.abs = function() {
17119 return (this._s < 0) ? this.negate() : this;
17120};
17121
17122/*
17123 Function: subtract
17124 Subtract two <BigIntegers>.
17125
17126 Parameters:
17127
17128 n - The number to subtract from *this*. Will be converted to a <BigInteger>.
17129
17130 Returns:
17131
17132 The *n* subtracted from *this*.
17133
17134 See Also:
17135
17136 <add>, <multiply>, <quotient>, <prev>
17137*/
17138BigInteger.prototype.subtract = function(n) {
17139 if (this._s === 0) {
17140 return BigInteger(n).negate();
17141 }
17142
17143 n = BigInteger(n);
17144 if (n._s === 0) {
17145 return this;
17146 }
17147 if (this._s !== n._s) {
17148 n = n.negate();
17149 return this.add(n);
17150 }
17151
17152 var m = this;
17153 // negative - negative => -|a| - -|b| => -|a| + |b| => |b| - |a|
17154 if (this._s < 0) {
17155 m = new BigInteger(n._d, 1, CONSTRUCT);
17156 n = new BigInteger(this._d, 1, CONSTRUCT);
17157 }
17158
17159 // Both are positive => a - b
17160 var sign = m.compareAbs(n);
17161 if (sign === 0) {
17162 return ZERO;
17163 }
17164 else if (sign < 0) {
17165 // swap m and n
17166 var t = n;
17167 n = m;
17168 m = t;
17169 }
17170
17171 // a > b
17172 var a = m._d;
17173 var b = n._d;
17174 var al = a.length;
17175 var bl = b.length;
17176 var diff = new Array(al); // al >= bl since a > b
17177 var borrow = 0;
17178 var i;
17179 var digit;
17180
17181 for (i = 0; i < bl; i++) {
17182 digit = a[i] - borrow - b[i];
17183 if (digit < 0) {
17184 digit += BigInteger_base;
17185 borrow = 1;
17186 }
17187 else {
17188 borrow = 0;
17189 }
17190 diff[i] = digit;
17191 }
17192 for (i = bl; i < al; i++) {
17193 digit = a[i] - borrow;
17194 if (digit < 0) {
17195 digit += BigInteger_base;
17196 }
17197 else {
17198 diff[i++] = digit;
17199 break;
17200 }
17201 diff[i] = digit;
17202 }
17203 for ( ; i < al; i++) {
17204 diff[i] = a[i];
17205 }
17206
17207 return new BigInteger(diff, sign, CONSTRUCT);
17208};
17209
17210(function() {
17211 function addOne(n, sign) {
17212 var a = n._d;
17213 var sum = a.slice();
17214 var carry = true;
17215 var i = 0;
17216
17217 while (true) {
17218 var digit = (a[i] || 0) + 1;
17219 sum[i] = digit % BigInteger_base;
17220 if (digit <= BigInteger_base - 1) {
17221 break;
17222 }
17223 ++i;
17224 }
17225
17226 return new BigInteger(sum, sign, CONSTRUCT);
17227 }
17228
17229 function subtractOne(n, sign) {
17230 var a = n._d;
17231 var sum = a.slice();
17232 var borrow = true;
17233 var i = 0;
17234
17235 while (true) {
17236 var digit = (a[i] || 0) - 1;
17237 if (digit < 0) {
17238 sum[i] = digit + BigInteger_base;
17239 }
17240 else {
17241 sum[i] = digit;
17242 break;
17243 }
17244 ++i;
17245 }
17246
17247 return new BigInteger(sum, sign, CONSTRUCT);
17248 }
17249
17250 /*
17251 Function: next
17252 Get the next <BigInteger> (add one).
17253
17254 Returns:
17255
17256 *this* + 1.
17257
17258 See Also:
17259
17260 <add>, <prev>
17261 */
17262 BigInteger.prototype.next = function() {
17263 switch (this._s) {
17264 case 0:
17265 return ONE;
17266 case -1:
17267 return subtractOne(this, -1);
17268 // case 1:
17269 default:
17270 return addOne(this, 1);
17271 }
17272 };
17273
17274 /*
17275 Function: prev
17276 Get the previous <BigInteger> (subtract one).
17277
17278 Returns:
17279
17280 *this* - 1.
17281
17282 See Also:
17283
17284 <next>, <subtract>
17285 */
17286 BigInteger.prototype.prev = function() {
17287 switch (this._s) {
17288 case 0:
17289 return M_ONE;
17290 case -1:
17291 return addOne(this, -1);
17292 // case 1:
17293 default:
17294 return subtractOne(this, 1);
17295 }
17296 };
17297})();
17298
17299/*
17300 Function: compareAbs
17301 Compare the absolute value of two <BigIntegers>.
17302
17303 Calling <compareAbs> is faster than calling <abs> twice, then <compare>.
17304
17305 Parameters:
17306
17307 n - The number to compare to *this*. Will be converted to a <BigInteger>.
17308
17309 Returns:
17310
17311 -1, 0, or +1 if *|this|* is less than, equal to, or greater than *|n|*.
17312
17313 See Also:
17314
17315 <compare>, <abs>
17316*/
17317BigInteger.prototype.compareAbs = function(n) {
17318 if (this === n) {
17319 return 0;
17320 }
17321
17322 if (!(n instanceof BigInteger)) {
17323 if (!isFinite(n)) {
17324 return(isNaN(n) ? n : -1);
17325 }
17326 n = BigInteger(n);
17327 }
17328
17329 if (this._s === 0) {
17330 return (n._s !== 0) ? -1 : 0;
17331 }
17332 if (n._s === 0) {
17333 return 1;
17334 }
17335
17336 var l = this._d.length;
17337 var nl = n._d.length;
17338 if (l < nl) {
17339 return -1;
17340 }
17341 else if (l > nl) {
17342 return 1;
17343 }
17344
17345 var a = this._d;
17346 var b = n._d;
17347 for (var i = l-1; i >= 0; i--) {
17348 if (a[i] !== b[i]) {
17349 return a[i] < b[i] ? -1 : 1;
17350 }
17351 }
17352
17353 return 0;
17354};
17355
17356/*
17357 Function: compare
17358 Compare two <BigIntegers>.
17359
17360 Parameters:
17361
17362 n - The number to compare to *this*. Will be converted to a <BigInteger>.
17363
17364 Returns:
17365
17366 -1, 0, or +1 if *this* is less than, equal to, or greater than *n*.
17367
17368 See Also:
17369
17370 <compareAbs>, <isPositive>, <isNegative>, <isUnit>
17371*/
17372BigInteger.prototype.compare = function(n) {
17373 if (this === n) {
17374 return 0;
17375 }
17376
17377 n = BigInteger(n);
17378
17379 if (this._s === 0) {
17380 return -n._s;
17381 }
17382
17383 if (this._s === n._s) { // both positive or both negative
17384 var cmp = this.compareAbs(n);
17385 return cmp * this._s;
17386 }
17387 else {
17388 return this._s;
17389 }
17390};
17391
17392/*
17393 Function: isUnit
17394 Return true iff *this* is either 1 or -1.
17395
17396 Returns:
17397
17398 true if *this* compares equal to <BigInteger.ONE> or <BigInteger.M_ONE>.
17399
17400 See Also:
17401
17402 <isZero>, <isNegative>, <isPositive>, <compareAbs>, <compare>,
17403 <BigInteger.ONE>, <BigInteger.M_ONE>
17404*/
17405BigInteger.prototype.isUnit = function() {
17406 return this === ONE ||
17407 this === M_ONE ||
17408 (this._d.length === 1 && this._d[0] === 1);
17409};
17410
17411/*
17412 Function: multiply
17413 Multiply two <BigIntegers>.
17414
17415 Parameters:
17416
17417 n - The number to multiply *this* by. Will be converted to a
17418 <BigInteger>.
17419
17420 Returns:
17421
17422 The numbers multiplied together.
17423
17424 See Also:
17425
17426 <add>, <subtract>, <quotient>, <square>
17427*/
17428BigInteger.prototype.multiply = function(n) {
17429 // TODO: Consider adding Karatsuba multiplication for large numbers
17430 if (this._s === 0) {
17431 return ZERO;
17432 }
17433
17434 n = BigInteger(n);
17435 if (n._s === 0) {
17436 return ZERO;
17437 }
17438 if (this.isUnit()) {
17439 if (this._s < 0) {
17440 return n.negate();
17441 }
17442 return n;
17443 }
17444 if (n.isUnit()) {
17445 if (n._s < 0) {
17446 return this.negate();
17447 }
17448 return this;
17449 }
17450 if (this === n) {
17451 return this.square();
17452 }
17453
17454 var r = (this._d.length >= n._d.length);
17455 var a = (r ? this : n)._d; // a will be longer than b
17456 var b = (r ? n : this)._d;
17457 var al = a.length;
17458 var bl = b.length;
17459
17460 var pl = al + bl;
17461 var partial = new Array(pl);
17462 var i;
17463 for (i = 0; i < pl; i++) {
17464 partial[i] = 0;
17465 }
17466
17467 for (i = 0; i < bl; i++) {
17468 var carry = 0;
17469 var bi = b[i];
17470 var jlimit = al + i;
17471 var digit;
17472 for (var j = i; j < jlimit; j++) {
17473 digit = partial[j] + bi * a[j - i] + carry;
17474 carry = (digit / BigInteger_base) | 0;
17475 partial[j] = (digit % BigInteger_base) | 0;
17476 }
17477 if (carry) {
17478 digit = partial[j] + carry;
17479 carry = (digit / BigInteger_base) | 0;
17480 partial[j] = digit % BigInteger_base;
17481 }
17482 }
17483 return new BigInteger(partial, this._s * n._s, CONSTRUCT);
17484};
17485
17486// Multiply a BigInteger by a single-digit native number
17487// Assumes that this and n are >= 0
17488// This is not really intended to be used outside the library itself
17489BigInteger.prototype.multiplySingleDigit = function(n) {
17490 if (n === 0 || this._s === 0) {
17491 return ZERO;
17492 }
17493 if (n === 1) {
17494 return this;
17495 }
17496
17497 var digit;
17498 if (this._d.length === 1) {
17499 digit = this._d[0] * n;
17500 if (digit >= BigInteger_base) {
17501 return new BigInteger([(digit % BigInteger_base)|0,
17502 (digit / BigInteger_base)|0], 1, CONSTRUCT);
17503 }
17504 return new BigInteger([digit], 1, CONSTRUCT);
17505 }
17506
17507 if (n === 2) {
17508 return this.add(this);
17509 }
17510 if (this.isUnit()) {
17511 return new BigInteger([n], 1, CONSTRUCT);
17512 }
17513
17514 var a = this._d;
17515 var al = a.length;
17516
17517 var pl = al + 1;
17518 var partial = new Array(pl);
17519 for (var i = 0; i < pl; i++) {
17520 partial[i] = 0;
17521 }
17522
17523 var carry = 0;
17524 for (var j = 0; j < al; j++) {
17525 digit = n * a[j] + carry;
17526 carry = (digit / BigInteger_base) | 0;
17527 partial[j] = (digit % BigInteger_base) | 0;
17528 }
17529 if (carry) {
17530 partial[j] = carry;
17531 }
17532
17533 return new BigInteger(partial, 1, CONSTRUCT);
17534};
17535
17536/*
17537 Function: square
17538 Multiply a <BigInteger> by itself.
17539
17540 This is slightly faster than regular multiplication, since it removes the
17541 duplicated multiplcations.
17542
17543 Returns:
17544
17545 > this.multiply(this)
17546
17547 See Also:
17548 <multiply>
17549*/
17550BigInteger.prototype.square = function() {
17551 // Normally, squaring a 10-digit number would take 100 multiplications.
17552 // Of these 10 are unique diagonals, of the remaining 90 (100-10), 45 are repeated.
17553 // This procedure saves (N*(N-1))/2 multiplications, (e.g., 45 of 100 multiplies).
17554 // Based on code by Gary Darby, Intellitech Systems Inc., www.DelphiForFun.org
17555
17556 if (this._s === 0) {
17557 return ZERO;
17558 }
17559 if (this.isUnit()) {
17560 return ONE;
17561 }
17562
17563 var digits = this._d;
17564 var length = digits.length;
17565 var imult1 = new Array(length + length + 1);
17566 var product, carry, k;
17567 var i;
17568
17569 // Calculate diagonal
17570 for (i = 0; i < length; i++) {
17571 k = i * 2;
17572 product = digits[i] * digits[i];
17573 carry = (product / BigInteger_base) | 0;
17574 imult1[k] = product % BigInteger_base;
17575 imult1[k + 1] = carry;
17576 }
17577
17578 // Calculate repeating part
17579 for (i = 0; i < length; i++) {
17580 carry = 0;
17581 k = i * 2 + 1;
17582 for (var j = i + 1; j < length; j++, k++) {
17583 product = digits[j] * digits[i] * 2 + imult1[k] + carry;
17584 carry = (product / BigInteger_base) | 0;
17585 imult1[k] = product % BigInteger_base;
17586 }
17587 k = length + i;
17588 var digit = carry + imult1[k];
17589 carry = (digit / BigInteger_base) | 0;
17590 imult1[k] = digit % BigInteger_base;
17591 imult1[k + 1] += carry;
17592 }
17593
17594 return new BigInteger(imult1, 1, CONSTRUCT);
17595};
17596
17597/*
17598 Function: quotient
17599 Divide two <BigIntegers> and truncate towards zero.
17600
17601 <quotient> throws an exception if *n* is zero.
17602
17603 Parameters:
17604
17605 n - The number to divide *this* by. Will be converted to a <BigInteger>.
17606
17607 Returns:
17608
17609 The *this* / *n*, truncated to an integer.
17610
17611 See Also:
17612
17613 <add>, <subtract>, <multiply>, <divRem>, <remainder>
17614*/
17615BigInteger.prototype.quotient = function(n) {
17616 return this.divRem(n)[0];
17617};
17618
17619/*
17620 Function: divide
17621 Deprecated synonym for <quotient>.
17622*/
17623BigInteger.prototype.divide = BigInteger.prototype.quotient;
17624
17625/*
17626 Function: remainder
17627 Calculate the remainder of two <BigIntegers>.
17628
17629 <remainder> throws an exception if *n* is zero.
17630
17631 Parameters:
17632
17633 n - The remainder after *this* is divided *this* by *n*. Will be
17634 converted to a <BigInteger>.
17635
17636 Returns:
17637
17638 *this* % *n*.
17639
17640 See Also:
17641
17642 <divRem>, <quotient>
17643*/
17644BigInteger.prototype.remainder = function(n) {
17645 return this.divRem(n)[1];
17646};
17647
17648/*
17649 Function: divRem
17650 Calculate the integer quotient and remainder of two <BigIntegers>.
17651
17652 <divRem> throws an exception if *n* is zero.
17653
17654 Parameters:
17655
17656 n - The number to divide *this* by. Will be converted to a <BigInteger>.
17657
17658 Returns:
17659
17660 A two-element array containing the quotient and the remainder.
17661
17662 > a.divRem(b)
17663
17664 is exactly equivalent to
17665
17666 > [a.quotient(b), a.remainder(b)]
17667
17668 except it is faster, because they are calculated at the same time.
17669
17670 See Also:
17671
17672 <quotient>, <remainder>
17673*/
17674BigInteger.prototype.divRem = function(n) {
17675 n = BigInteger(n);
17676 if (n._s === 0) {
17677 throw new Error("Divide by zero");
17678 }
17679 if (this._s === 0) {
17680 return [ZERO, ZERO];
17681 }
17682 if (n._d.length === 1) {
17683 return this.divRemSmall(n._s * n._d[0]);
17684 }
17685
17686 // Test for easy cases -- |n1| <= |n2|
17687 switch (this.compareAbs(n)) {
17688 case 0: // n1 == n2
17689 return [this._s === n._s ? ONE : M_ONE, ZERO];
17690 case -1: // |n1| < |n2|
17691 return [ZERO, this];
17692 }
17693
17694 var sign = this._s * n._s;
17695 var a = n.abs();
17696 var b_digits = this._d;
17697 var b_index = b_digits.length;
17698 var digits = n._d.length;
17699 var quot = [];
17700 var guess;
17701
17702 var part = new BigInteger([], 0, CONSTRUCT);
17703
17704 while (b_index) {
17705 part._d.unshift(b_digits[--b_index]);
17706 part = new BigInteger(part._d, 1, CONSTRUCT);
17707
17708 if (part.compareAbs(n) < 0) {
17709 quot.push(0);
17710 continue;
17711 }
17712 if (part._s === 0) {
17713 guess = 0;
17714 }
17715 else {
17716 var xlen = part._d.length, ylen = a._d.length;
17717 var highx = part._d[xlen-1]*BigInteger_base + part._d[xlen-2];
17718 var highy = a._d[ylen-1]*BigInteger_base + a._d[ylen-2];
17719 if (part._d.length > a._d.length) {
17720 // The length of part._d can either match a._d length,
17721 // or exceed it by one.
17722 highx = (highx+1)*BigInteger_base;
17723 }
17724 guess = Math.ceil(highx/highy);
17725 }
17726 do {
17727 var check = a.multiplySingleDigit(guess);
17728 if (check.compareAbs(part) <= 0) {
17729 break;
17730 }
17731 guess--;
17732 } while (guess);
17733
17734 quot.push(guess);
17735 if (!guess) {
17736 continue;
17737 }
17738 var diff = part.subtract(check);
17739 part._d = diff._d.slice();
17740 }
17741
17742 return [new BigInteger(quot.reverse(), sign, CONSTRUCT),
17743 new BigInteger(part._d, this._s, CONSTRUCT)];
17744};
17745
17746// Throws an exception if n is outside of (-BigInteger.base, -1] or
17747// [1, BigInteger.base). It's not necessary to call this, since the
17748// other division functions will call it if they are able to.
17749BigInteger.prototype.divRemSmall = function(n) {
17750 var r;
17751 n = +n;
17752 if (n === 0) {
17753 throw new Error("Divide by zero");
17754 }
17755
17756 var n_s = n < 0 ? -1 : 1;
17757 var sign = this._s * n_s;
17758 n = Math.abs(n);
17759
17760 if (n < 1 || n >= BigInteger_base) {
17761 throw new Error("Argument out of range");
17762 }
17763
17764 if (this._s === 0) {
17765 return [ZERO, ZERO];
17766 }
17767
17768 if (n === 1 || n === -1) {
17769 return [(sign === 1) ? this.abs() : new BigInteger(this._d, sign, CONSTRUCT), ZERO];
17770 }
17771
17772 // 2 <= n < BigInteger_base
17773
17774 // divide a single digit by a single digit
17775 if (this._d.length === 1) {
17776 var q = new BigInteger([(this._d[0] / n) | 0], 1, CONSTRUCT);
17777 r = new BigInteger([(this._d[0] % n) | 0], 1, CONSTRUCT);
17778 if (sign < 0) {
17779 q = q.negate();
17780 }
17781 if (this._s < 0) {
17782 r = r.negate();
17783 }
17784 return [q, r];
17785 }
17786
17787 var digits = this._d.slice();
17788 var quot = new Array(digits.length);
17789 var part = 0;
17790 var diff = 0;
17791 var i = 0;
17792 var guess;
17793
17794 while (digits.length) {
17795 part = part * BigInteger_base + digits[digits.length - 1];
17796 if (part < n) {
17797 quot[i++] = 0;
17798 digits.pop();
17799 diff = BigInteger_base * diff + part;
17800 continue;
17801 }
17802 if (part === 0) {
17803 guess = 0;
17804 }
17805 else {
17806 guess = (part / n) | 0;
17807 }
17808
17809 var check = n * guess;
17810 diff = part - check;
17811 quot[i++] = guess;
17812 if (!guess) {
17813 digits.pop();
17814 continue;
17815 }
17816
17817 digits.pop();
17818 part = diff;
17819 }
17820
17821 r = new BigInteger([diff], 1, CONSTRUCT);
17822 if (this._s < 0) {
17823 r = r.negate();
17824 }
17825 return [new BigInteger(quot.reverse(), sign, CONSTRUCT), r];
17826};
17827
17828/*
17829 Function: isEven
17830 Return true iff *this* is divisible by two.
17831
17832 Note that <BigInteger.ZERO> is even.
17833
17834 Returns:
17835
17836 true if *this* is even, false otherwise.
17837
17838 See Also:
17839
17840 <isOdd>
17841*/
17842BigInteger.prototype.isEven = function() {
17843 var digits = this._d;
17844 return this._s === 0 || digits.length === 0 || (digits[0] % 2) === 0;
17845};
17846
17847/*
17848 Function: isOdd
17849 Return true iff *this* is not divisible by two.
17850
17851 Returns:
17852
17853 true if *this* is odd, false otherwise.
17854
17855 See Also:
17856
17857 <isEven>
17858*/
17859BigInteger.prototype.isOdd = function() {
17860 return !this.isEven();
17861};
17862
17863/*
17864 Function: sign
17865 Get the sign of a <BigInteger>.
17866
17867 Returns:
17868
17869 * -1 if *this* < 0
17870 * 0 if *this* == 0
17871 * +1 if *this* > 0
17872
17873 See Also:
17874
17875 <isZero>, <isPositive>, <isNegative>, <compare>, <BigInteger.ZERO>
17876*/
17877BigInteger.prototype.sign = function() {
17878 return this._s;
17879};
17880
17881/*
17882 Function: isPositive
17883 Return true iff *this* > 0.
17884
17885 Returns:
17886
17887 true if *this*.compare(<BigInteger.ZERO>) == 1.
17888
17889 See Also:
17890
17891 <sign>, <isZero>, <isNegative>, <isUnit>, <compare>, <BigInteger.ZERO>
17892*/
17893BigInteger.prototype.isPositive = function() {
17894 return this._s > 0;
17895};
17896
17897/*
17898 Function: isNegative
17899 Return true iff *this* < 0.
17900
17901 Returns:
17902
17903 true if *this*.compare(<BigInteger.ZERO>) == -1.
17904
17905 See Also:
17906
17907 <sign>, <isPositive>, <isZero>, <isUnit>, <compare>, <BigInteger.ZERO>
17908*/
17909BigInteger.prototype.isNegative = function() {
17910 return this._s < 0;
17911};
17912
17913/*
17914 Function: isZero
17915 Return true iff *this* == 0.
17916
17917 Returns:
17918
17919 true if *this*.compare(<BigInteger.ZERO>) == 0.
17920
17921 See Also:
17922
17923 <sign>, <isPositive>, <isNegative>, <isUnit>, <BigInteger.ZERO>
17924*/
17925BigInteger.prototype.isZero = function() {
17926 return this._s === 0;
17927};
17928
17929/*
17930 Function: exp10
17931 Multiply a <BigInteger> by a power of 10.
17932
17933 This is equivalent to, but faster than
17934
17935 > if (n >= 0) {
17936 > return this.multiply(BigInteger("1e" + n));
17937 > }
17938 > else { // n <= 0
17939 > return this.quotient(BigInteger("1e" + -n));
17940 > }
17941
17942 Parameters:
17943
17944 n - The power of 10 to multiply *this* by. *n* is converted to a
17945 javascipt number and must be no greater than <BigInteger.MAX_EXP>
17946 (0x7FFFFFFF), or an exception will be thrown.
17947
17948 Returns:
17949
17950 *this* * (10 ** *n*), truncated to an integer if necessary.
17951
17952 See Also:
17953
17954 <pow>, <multiply>
17955*/
17956BigInteger.prototype.exp10 = function(n) {
17957 n = +n;
17958 if (n === 0) {
17959 return this;
17960 }
17961 if (Math.abs(n) > Number(MAX_EXP)) {
17962 throw new Error("exponent too large in BigInteger.exp10");
17963 }
17964 // Optimization for this == 0. This also keeps us from having to trim zeros in the positive n case
17965 if (this._s === 0) {
17966 return ZERO;
17967 }
17968 if (n > 0) {
17969 var k = new BigInteger(this._d.slice(), this._s, CONSTRUCT);
17970
17971 for (; n >= BigInteger_base_log10; n -= BigInteger_base_log10) {
17972 k._d.unshift(0);
17973 }
17974 if (n == 0)
17975 return k;
17976 k._s = 1;
17977 k = k.multiplySingleDigit(Math.pow(10, n));
17978 return (this._s < 0 ? k.negate() : k);
17979 } else if (-n >= this._d.length*BigInteger_base_log10) {
17980 return ZERO;
17981 } else {
17982 var k = new BigInteger(this._d.slice(), this._s, CONSTRUCT);
17983
17984 for (n = -n; n >= BigInteger_base_log10; n -= BigInteger_base_log10) {
17985 k._d.shift();
17986 }
17987 return (n == 0) ? k : k.divRemSmall(Math.pow(10, n))[0];
17988 }
17989};
17990
17991/*
17992 Function: pow
17993 Raise a <BigInteger> to a power.
17994
17995 In this implementation, 0**0 is 1.
17996
17997 Parameters:
17998
17999 n - The exponent to raise *this* by. *n* must be no greater than
18000 <BigInteger.MAX_EXP> (0x7FFFFFFF), or an exception will be thrown.
18001
18002 Returns:
18003
18004 *this* raised to the *nth* power.
18005
18006 See Also:
18007
18008 <modPow>
18009*/
18010BigInteger.prototype.pow = function(n) {
18011 if (this.isUnit()) {
18012 if (this._s > 0) {
18013 return this;
18014 }
18015 else {
18016 return BigInteger(n).isOdd() ? this : this.negate();
18017 }
18018 }
18019
18020 n = BigInteger(n);
18021 if (n._s === 0) {
18022 return ONE;
18023 }
18024 else if (n._s < 0) {
18025 if (this._s === 0) {
18026 throw new Error("Divide by zero");
18027 }
18028 else {
18029 return ZERO;
18030 }
18031 }
18032 if (this._s === 0) {
18033 return ZERO;
18034 }
18035 if (n.isUnit()) {
18036 return this;
18037 }
18038
18039 if (n.compareAbs(MAX_EXP) > 0) {
18040 throw new Error("exponent too large in BigInteger.pow");
18041 }
18042 var x = this;
18043 var aux = ONE;
18044 var two = BigInteger.small[2];
18045
18046 while (n.isPositive()) {
18047 if (n.isOdd()) {
18048 aux = aux.multiply(x);
18049 if (n.isUnit()) {
18050 return aux;
18051 }
18052 }
18053 x = x.square();
18054 n = n.quotient(two);
18055 }
18056
18057 return aux;
18058};
18059
18060/*
18061 Function: modPow
18062 Raise a <BigInteger> to a power (mod m).
18063
18064 Because it is reduced by a modulus, <modPow> is not limited by
18065 <BigInteger.MAX_EXP> like <pow>.
18066
18067 Parameters:
18068
18069 exponent - The exponent to raise *this* by. Must be positive.
18070 modulus - The modulus.
18071
18072 Returns:
18073
18074 *this* ^ *exponent* (mod *modulus*).
18075
18076 See Also:
18077
18078 <pow>, <mod>
18079*/
18080BigInteger.prototype.modPow = function(exponent, modulus) {
18081 var result = ONE;
18082 var base = this;
18083
18084 while (exponent.isPositive()) {
18085 if (exponent.isOdd()) {
18086 result = result.multiply(base).remainder(modulus);
18087 }
18088
18089 exponent = exponent.quotient(BigInteger.small[2]);
18090 if (exponent.isPositive()) {
18091 base = base.square().remainder(modulus);
18092 }
18093 }
18094
18095 return result;
18096};
18097
18098/*
18099 Function: log
18100 Get the natural logarithm of a <BigInteger> as a native JavaScript number.
18101
18102 This is equivalent to
18103
18104 > Math.log(this.toJSValue())
18105
18106 but handles values outside of the native number range.
18107
18108 Returns:
18109
18110 log( *this* )
18111
18112 See Also:
18113
18114 <toJSValue>
18115*/
18116BigInteger.prototype.log = function() {
18117 switch (this._s) {
18118 case 0: return -Infinity;
18119 case -1: return NaN;
18120 default: // Fall through.
18121 }
18122
18123 var l = this._d.length;
18124
18125 if (l*BigInteger_base_log10 < 30) {
18126 return Math.log(this.valueOf());
18127 }
18128
18129 var N = Math.ceil(30/BigInteger_base_log10);
18130 var firstNdigits = this._d.slice(l - N);
18131 return Math.log((new BigInteger(firstNdigits, 1, CONSTRUCT)).valueOf()) + (l - N) * Math.log(BigInteger_base);
18132};
18133
18134/*
18135 Function: valueOf
18136 Convert a <BigInteger> to a native JavaScript integer.
18137
18138 This is called automatically by JavaScipt to convert a <BigInteger> to a
18139 native value.
18140
18141 Returns:
18142
18143 > parseInt(this.toString(), 10)
18144
18145 See Also:
18146
18147 <toString>, <toJSValue>
18148*/
18149BigInteger.prototype.valueOf = function() {
18150 return parseInt(this.toString(), 10);
18151};
18152
18153/*
18154 Function: toJSValue
18155 Convert a <BigInteger> to a native JavaScript integer.
18156
18157 This is the same as valueOf, but more explicitly named.
18158
18159 Returns:
18160
18161 > parseInt(this.toString(), 10)
18162
18163 See Also:
18164
18165 <toString>, <valueOf>
18166*/
18167BigInteger.prototype.toJSValue = function() {
18168 return parseInt(this.toString(), 10);
18169};
18170
18171var MAX_EXP = BigInteger(0x7FFFFFFF);
18172// Constant: MAX_EXP
18173// The largest exponent allowed in <pow> and <exp10> (0x7FFFFFFF or 2147483647).
18174BigInteger.MAX_EXP = MAX_EXP;
18175
18176(function() {
18177 function makeUnary(fn) {
18178 return function(a) {
18179 return fn.call(BigInteger(a));
18180 };
18181 }
18182
18183 function makeBinary(fn) {
18184 return function(a, b) {
18185 return fn.call(BigInteger(a), BigInteger(b));
18186 };
18187 }
18188
18189 function makeTrinary(fn) {
18190 return function(a, b, c) {
18191 return fn.call(BigInteger(a), BigInteger(b), BigInteger(c));
18192 };
18193 }
18194
18195 (function() {
18196 var i, fn;
18197 var unary = "toJSValue,isEven,isOdd,sign,isZero,isNegative,abs,isUnit,square,negate,isPositive,toString,next,prev,log".split(",");
18198 var binary = "compare,remainder,divRem,subtract,add,quotient,divide,multiply,pow,compareAbs".split(",");
18199 var trinary = ["modPow"];
18200
18201 for (i = 0; i < unary.length; i++) {
18202 fn = unary[i];
18203 BigInteger[fn] = makeUnary(BigInteger.prototype[fn]);
18204 }
18205
18206 for (i = 0; i < binary.length; i++) {
18207 fn = binary[i];
18208 BigInteger[fn] = makeBinary(BigInteger.prototype[fn]);
18209 }
18210
18211 for (i = 0; i < trinary.length; i++) {
18212 fn = trinary[i];
18213 BigInteger[fn] = makeTrinary(BigInteger.prototype[fn]);
18214 }
18215
18216 BigInteger.exp10 = function(x, n) {
18217 return BigInteger(x).exp10(n);
18218 };
18219 })();
18220})();
18221
18222exports.BigInteger = BigInteger;
18223})(typeof exports !== 'undefined' ? exports : this);
95f04905
IC
18224</script>
18225 <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){
18226var 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;
18227
18228},{}],2:[function(require,module,exports){
18229var 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;
18230
18231},{"./scoring":6}],3:[function(require,module,exports){
18232var 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(","),
18233english_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(","),
18234female_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(","),
18235us_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(","),
18236male_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;
18237
18238},{}],4:[function(require,module,exports){
18239var 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;
18240
18241},{"./feedback":2,"./matching":5,"./scoring":6,"./time_estimates":7}],5:[function(require,module,exports){
18242var 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;
18243
18244},{"./adjacency_graphs":1,"./frequency_lists":3,"./scoring":6}],6:[function(require,module,exports){
18245var 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;
18246
18247},{"./adjacency_graphs":1}],7:[function(require,module,exports){
18248var 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;
18249
18250},{}]},{},[4])(4)
18251});
18252//# sourceMappingURL=zxcvbn.js.map
18253</script>
18254 <script>/*
18255 * Detects entropy from a string.
18256 *
18257 * Formats include:
18258 * binary [0-1]
18259 * base 6 [0-5]
18260 * dice 6 [1-6]
18261 * decimal [0-9]
18262 * hexadecimal [0-9A-F]
9e97eb76 18263 * card [A2-9TJQK][CDHS]
95f04905
IC
18264 *
18265 * Automatically uses lowest entropy to avoid issues such as interpretting 0101
18266 * as hexadecimal which would be 16 bits when really it's only 4 bits of binary
18267 * entropy.
18268 */
18269
18270window.Entropy = new (function() {
18271
78b8d604
IC
18272 var TWO = new BigInteger(2);
18273
95f04905
IC
18274 // matchers returns an array of the matched events for each type of entropy.
18275 // eg
18276 // matchers.binary("010") returns ["0", "1", "0"]
18277 // matchers.binary("a10") returns ["1", "0"]
18278 // matchers.hex("a10") returns ["a", "1", "0"]
18279 var matchers = {
18280 binary: function(str) {
18281 return str.match(/[0-1]/gi) || [];
18282 },
18283 base6: function(str) {
18284 return str.match(/[0-5]/gi) || [];
18285 },
18286 dice: function(str) {
18287 return str.match(/[1-6]/gi) || []; // ie dice numbers
18288 },
18289 base10: function(str) {
18290 return str.match(/[0-9]/gi) || [];
18291 },
18292 hex: function(str) {
18293 return str.match(/[0-9A-F]/gi) || [];
18294 },
18295 card: function(str) {
18296 // Format is NumberSuit, eg
18297 // AH ace of hearts
18298 // 8C eight of clubs
18299 // TD ten of diamonds
18300 // JS jack of spades
18301 // QH queen of hearts
18302 // KC king of clubs
18303 return str.match(/([A2-9TJQK][CDHS])/gi) || [];
18304 }
18305 }
18306
18307 // Convert array of cards from ["ac", "4d", "ks"]
18308 // to numbers between 0 and 51 [0, 16, 51]
18309 function convertCardsToInts(cards) {
18310 var ints = [];
18311 var values = "a23456789tjqk";
18312 var suits = "cdhs";
18313 for (var i=0; i<cards.length; i++) {
18314 var card = cards[i].toLowerCase();
18315 var value = card[0];
18316 var suit = card[1];
18317 var asInt = 13 * suits.indexOf(suit) + values.indexOf(value);
18318 ints.push(asInt);
18319 }
18320 return ints;
18321 }
18322
18323 this.fromString = function(rawEntropyStr) {
18324 // Find type of entropy being used (binary, hex, dice etc)
18325 var base = getBase(rawEntropyStr);
18326 // Convert dice to base6 entropy (ie 1-6 to 0-5)
18327 // This is done by changing all 6s to 0s
18328 if (base.str == "dice") {
18329 var newParts = [];
18330 var newInts = [];
18331 for (var i=0; i<base.parts.length; i++) {
18332 var c = base.parts[i];
18333 if ("12345".indexOf(c) > -1) {
18334 newParts[i] = base.parts[i];
18335 newInts[i] = base.ints[i];
18336 }
18337 else {
18338 newParts[i] = "0";
18339 newInts[i] = 0;
18340 }
18341 }
18342 base.str = "base 6 (dice)";
18343 base.ints = newInts;
18344 base.parts = newParts;
18345 base.matcher = matchers.base6;
18346 }
18347 // Detect empty entropy
18348 if (base.parts.length == 0) {
18349 return {
18350 binaryStr: "",
18351 cleanStr: "",
18352 cleanHtml: "",
18353 base: base,
18354 };
18355 }
18356 // Convert base.ints to BigInteger.
18357 // Due to using unusual bases, eg cards of base52, this is not as simple as
18358 // using BigInteger.parse()
18359 var entropyInt = BigInteger.ZERO;
18360 for (var i=base.ints.length-1; i>=0; i--) {
18361 var thisInt = BigInteger.parse(base.ints[i]);
18362 var power = (base.ints.length - 1) - i;
18363 var additionalEntropy = BigInteger.parse(base.asInt).pow(power).multiply(thisInt);
18364 entropyInt = entropyInt.add(additionalEntropy);
18365 }
18366 // Convert entropy to binary
18367 var entropyBin = entropyInt.toString(2);
18368 // If the first integer is small, it must be padded with zeros.
18369 // Otherwise the chance of the first bit being 1 is 100%, which is
18370 // obviously incorrect.
18371 // This is not perfect for non-2^n bases.
18372 var expectedBits = Math.floor(base.parts.length * Math.log2(base.asInt));
18373 while (entropyBin.length < expectedBits) {
18374 entropyBin = "0" + entropyBin;
18375 }
94959756
IC
18376 // Calculate the number of bits per event
18377 var bitsPerEvent = Math.log2(base.asInt);
ea87f1d3 18378 // Cards binary must be handled differently, since they're not replaced
9e97eb76 18379 if (base.asInt == 52) {
94959756
IC
18380 var cardEntropy = processCardEntropy(base.parts);
18381 entropyBin = cardEntropy.binaryStr;
18382 bitsPerEvent = cardEntropy.bitsPerEvent;
9e97eb76 18383 }
95f04905
IC
18384 // Supply a 'filtered' entropy string for display purposes
18385 var entropyClean = base.parts.join("");
18386 var entropyHtml = base.parts.join("");
18387 if (base.asInt == 52) {
18388 entropyClean = base.parts.join(" ").toUpperCase();
18389 entropyClean = entropyClean.replace(/C/g, "\u2663");
18390 entropyClean = entropyClean.replace(/D/g, "\u2666");
18391 entropyClean = entropyClean.replace(/H/g, "\u2665");
18392 entropyClean = entropyClean.replace(/S/g, "\u2660");
18393 entropyHtml = base.parts.join(" ").toUpperCase();
18394 entropyHtml = entropyHtml.replace(/C/g, "<span class='card-suit club'>\u2663</span>");
18395 entropyHtml = entropyHtml.replace(/D/g, "<span class='card-suit diamond'>\u2666</span>");
18396 entropyHtml = entropyHtml.replace(/H/g, "<span class='card-suit heart'>\u2665</span>");
18397 entropyHtml = entropyHtml.replace(/S/g, "<span class='card-suit spade'>\u2660</span>");
18398 }
9e97eb76 18399 // Return the result
95f04905
IC
18400 var e = {
18401 binaryStr: entropyBin,
18402 cleanStr: entropyClean,
18403 cleanHtml: entropyHtml,
94959756 18404 bitsPerEvent: bitsPerEvent,
95f04905
IC
18405 base: base,
18406 }
18407 return e;
18408 }
18409
78b8d604
IC
18410 function getSortedDeck() {
18411 var s = [];
18412 var suits = "CDHS";
18413 var values = "A23456789TJQK";
18414 for (var i=0; i<suits.length; i++) {
18415 for (var j=0; j<values.length; j++) {
18416 s.push(values[j]+suits[i]);
18417 }
18418 }
18419 return s;
18420 }
18421
95f04905
IC
18422 function getBase(str) {
18423 // Need to get the lowest base for the supplied entropy.
18424 // This prevents interpreting, say, dice rolls as hexadecimal.
18425 var binaryMatches = matchers.binary(str);
18426 var hexMatches = matchers.hex(str);
18427 // Find the lowest base that can be used, whilst ignoring any irrelevant chars
18428 if (binaryMatches.length == hexMatches.length && hexMatches.length > 0) {
18429 var ints = binaryMatches.map(function(i) { return parseInt(i, 2) });
18430 return {
18431 ints: ints,
18432 parts: binaryMatches,
18433 matcher: matchers.binary,
18434 asInt: 2,
18435 str: "binary",
18436 }
18437 }
18438 var cardMatches = matchers.card(str);
18439 if (cardMatches.length >= hexMatches.length / 2) {
18440 var ints = convertCardsToInts(cardMatches);
18441 return {
18442 ints: ints,
18443 parts: cardMatches,
18444 matcher: matchers.card,
18445 asInt: 52,
18446 str: "card",
18447 }
18448 }
18449 var diceMatches = matchers.dice(str);
18450 if (diceMatches.length == hexMatches.length && hexMatches.length > 0) {
18451 var ints = diceMatches.map(function(i) { return parseInt(i) });
18452 return {
18453 ints: ints,
18454 parts: diceMatches,
18455 matcher: matchers.dice,
18456 asInt: 6,
18457 str: "dice",
18458 }
18459 }
18460 var base6Matches = matchers.base6(str);
18461 if (base6Matches.length == hexMatches.length && hexMatches.length > 0) {
18462 var ints = base6Matches.map(function(i) { return parseInt(i) });
18463 return {
18464 ints: ints,
18465 parts: base6Matches,
18466 matcher: matchers.base6,
18467 asInt: 6,
18468 str: "base 6",
18469 }
18470 }
18471 var base10Matches = matchers.base10(str);
18472 if (base10Matches.length == hexMatches.length && hexMatches.length > 0) {
18473 var ints = base10Matches.map(function(i) { return parseInt(i) });
18474 return {
18475 ints: ints,
18476 parts: base10Matches,
18477 matcher: matchers.base10,
18478 asInt: 10,
18479 str: "base 10",
18480 }
18481 }
18482 var ints = hexMatches.map(function(i) { return parseInt(i, 16) });
18483 return {
18484 ints: ints,
18485 parts: hexMatches,
18486 matcher: matchers.hex,
18487 asInt: 16,
18488 str: "hexadecimal",
18489 }
18490 }
18491
ea87f1d3
IC
18492 // Assume cards are NOT replaced.
18493 // Additional entropy decreases as more cards are used. This means
18494 // total possible entropy is measured using n!, not base^n.
18495 // eg the second last card can be only one of two, not one of fifty two
18496 // so the added entropy for that card is only one bit at most
94959756 18497 function processCardEntropy(cards) {
ea87f1d3
IC
18498 // Track how many instances of each card have been used, and thus
18499 // how many decks are in use.
18500 var cardCounts = {};
18501 var numberOfDecks = 0;
18502 // Work out number of decks by max(duplicates)
18503 for (var i=0; i<cards.length; i++) {
18504 // Get the card that was drawn
18505 var cardLower = cards[i];
18506 var card = cardLower.toUpperCase();
18507 // Initialize the count for this card if needed
18508 if (!(card in cardCounts)) {
18509 cardCounts[card] = 0;
18510 }
18511 cardCounts[card] += 1;
18512 // See if this is max(duplicates)
18513 if (cardCounts[card] > numberOfDecks) {
18514 numberOfDecks = cardCounts[card];
18515 }
18516 }
18517 // Work out the total number of bits for this many decks
18518 // See http://crypto.stackexchange.com/q/41886
fc7c248f
IC
18519 var gainedBits = 0;
18520 // Equivalent of Math.log2(factorial(52*numberOfDecks))
18521 // which becomes infinity for numberOfDecks > 4
18522 for (var i=1; i<=52*numberOfDecks; i++) {
18523 gainedBits = gainedBits + Math.log2(i);
18524 }
ea87f1d3
IC
18525 var lostBits = 52 * Math.log2(factorial(numberOfDecks));
18526 var maxBits = gainedBits - lostBits;
18527 // Convert the drawn cards to a binary representation.
18528 // The exact technique for doing this is unclear.
18529 // See
18530 // http://crypto.stackexchange.com/a/41896
18531 // "I even doubt that this is well defined (only the average entropy
18532 // is, I believe)."
18533 // See
18534 // https://github.com/iancoleman/bip39/issues/33#issuecomment-263021856
18535 // "The binary representation can be the first log(permutations,2) bits
18536 // of the sha-2 hash of the normalized deck string."
18537 //
18538 // In this specific implementation, the first N bits of the hash of the
18539 // normalized cards string is being used. Uppercase, no spaces; eg
18540 // sha256("AH8DQSTC2H")
18541 var totalCards = numberOfDecks * 52;
18542 var percentUsed = cards.length / totalCards;
18543 // Calculate the average number of bits of entropy for the number of
18544 // cards drawn.
18545 var numberOfBits = Math.floor(maxBits * percentUsed);
18546 // Create a normalized string of the selected cards
18547 var normalizedCards = cards.join("").toUpperCase();
18548 // Convert to binary using the SHA256 hash of the normalized cards.
18549 // If the number of bits is more than 256, multiple rounds of hashing
18550 // are used until the required number of bits is reached.
18551 var entropyBin = "";
18552 var iterations = 0;
18553 while (entropyBin.length < numberOfBits) {
18554 var hashedCards = sjcl.hash.sha256.hash(normalizedCards);
18555 for (var j=0; j<iterations; j++) {
18556 hashedCards = sjcl.hash.sha256.hash(hashedCards);
18557 }
18558 var hashHex = sjcl.codec.hex.fromBits(hashedCards);
18559 for (var i=0; i<hashHex.length; i++) {
18560 var decimal = parseInt(hashHex[i], 16);
18561 var binary = decimal.toString(2);
18562 while (binary.length < 4) {
18563 binary = "0" + binary;
18564 }
18565 entropyBin = entropyBin + binary;
18566 }
18567 iterations = iterations + 1;
18568 }
18569 // Truncate to the appropriate number of bits.
18570 entropyBin = entropyBin.substring(0, numberOfBits);
94959756
IC
18571 // Get the number of bits per event
18572 bitsPerEvent = maxBits / totalCards;
18573 return {
18574 binaryStr: entropyBin,
18575 bitsPerEvent: bitsPerEvent,
18576 }
ea87f1d3
IC
18577 }
18578
95f04905
IC
18579 // Polyfill for Math.log2
18580 // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log2#Polyfill
18581 Math.log2 = Math.log2 || function(x) {
18582 // The polyfill isn't good enough because of the poor accuracy of
18583 // Math.LOG2E
18584 // log2(8) gave 2.9999999999999996 which when floored causes issues.
18585 // So instead use the BigInteger library to get it right.
18586 return BigInteger.log(x) / BigInteger.log(2);
18587 };
18588
9e97eb76
IC
18589 // Depends on BigInteger
18590 function factorial(n) {
18591 if (n == 0) {
18592 return 1;
18593 }
18594 f = BigInteger.ONE;
18595 for (var i=1; i<=n; i++) {
18596 f = f.multiply(new BigInteger(i));
18597 }
18598 return f;
18599 }
18600
95f04905 18601})();
c6624d51
IC
18602</script>
18603 <script>(function() {
18604
18605 // mnemonics is populated as required by getLanguage
18606 var mnemonics = { "english": new Mnemonic("english") };
18607 var mnemonic = mnemonics["english"];
18608 var seed = null
18609 var bip32RootKey = null;
18610 var bip32ExtendedKey = null;
18611 var network = bitcoin.networks.bitcoin;
18612 var addressRowTemplate = $("#address-row-template");
18613
18614 var showIndex = true;
18615 var showAddress = true;
18616 var showPubKey = true;
18617 var showPrivKey = true;
e00964cc 18618 var showQr = true;
c6624d51
IC
18619
18620 var entropyChangeTimeoutEvent = null;
18621 var phraseChangeTimeoutEvent = null;
18622 var rootKeyChangedTimeoutEvent = null;
18623
18624 var DOM = {};
18625 DOM.network = $(".network");
18626 DOM.phraseNetwork = $("#network-phrase");
18627 DOM.useEntropy = $(".use-entropy");
18628 DOM.entropyContainer = $(".entropy-container");
18629 DOM.entropy = $(".entropy");
2a6dd137
IC
18630 DOM.entropyFiltered = DOM.entropyContainer.find(".filtered");
18631 DOM.entropyType = DOM.entropyContainer.find(".type");
18632 DOM.entropyStrength = DOM.entropyContainer.find(".strength");
18633 DOM.entropyEventCount = DOM.entropyContainer.find(".event-count");
18634 DOM.entropyBits = DOM.entropyContainer.find(".bits");
18635 DOM.entropyBitsPerEvent = DOM.entropyContainer.find(".bits-per-event");
18636 DOM.entropyWordCount = DOM.entropyContainer.find(".word-count");
18637 DOM.entropyBinary = DOM.entropyContainer.find(".binary");
18638 DOM.entropyMnemonicLength = DOM.entropyContainer.find(".mnemonic-length");
c6624d51
IC
18639 DOM.phrase = $(".phrase");
18640 DOM.passphrase = $(".passphrase");
18641 DOM.generateContainer = $(".generate-container");
18642 DOM.generate = $(".generate");
18643 DOM.seed = $(".seed");
18644 DOM.rootKey = $(".root-key");
18645 DOM.extendedPrivKey = $(".extended-priv-key");
18646 DOM.extendedPubKey = $(".extended-pub-key");
18647 DOM.bip32tab = $("#bip32-tab");
18648 DOM.bip44tab = $("#bip44-tab");
18649 DOM.bip32panel = $("#bip32");
18650 DOM.bip44panel = $("#bip44");
18651 DOM.bip32path = $("#bip32-path");
18652 DOM.bip44path = $("#bip44-path");
18653 DOM.bip44purpose = $("#bip44 .purpose");
18654 DOM.bip44coin = $("#bip44 .coin");
18655 DOM.bip44account = $("#bip44 .account");
18656 DOM.bip44change = $("#bip44 .change");
18abe53b 18657 DOM.generatedStrength = $(".generate-container .strength");
c6624d51
IC
18658 DOM.hardenedAddresses = $(".hardened-addresses");
18659 DOM.addresses = $(".addresses");
18660 DOM.rowsToAdd = $(".rows-to-add");
18661 DOM.more = $(".more");
18662 DOM.feedback = $(".feedback");
18663 DOM.tab = $(".derivation-type a");
18664 DOM.indexToggle = $(".index-toggle");
18665 DOM.addressToggle = $(".address-toggle");
18666 DOM.publicKeyToggle = $(".public-key-toggle");
18667 DOM.privateKeyToggle = $(".private-key-toggle");
18668 DOM.languages = $(".languages a");
e00964cc
IC
18669 DOM.qrContainer = $(".qr-container");
18670 DOM.qrImage = DOM.qrContainer.find(".qr-image");
18671 DOM.qrHint = DOM.qrContainer.find(".qr-hint");
18672 DOM.showQrEls = $("[data-show-qr]");
c6624d51
IC
18673
18674 function init() {
18675 // Events
18676 DOM.network.on("change", networkChanged);
18677 DOM.useEntropy.on("change", setEntropyVisibility);
18678 DOM.entropy.on("input", delayedEntropyChanged);
18abe53b 18679 DOM.entropyMnemonicLength.on("change", entropyChanged);
c6624d51
IC
18680 DOM.phrase.on("input", delayedPhraseChanged);
18681 DOM.passphrase.on("input", delayedPhraseChanged);
18682 DOM.generate.on("click", generateClicked);
18683 DOM.more.on("click", showMore);
18684 DOM.rootKey.on("input", delayedRootKeyChanged);
18685 DOM.bip32path.on("input", calcForDerivationPath);
18686 DOM.bip44purpose.on("input", calcForDerivationPath);
18687 DOM.bip44coin.on("input", calcForDerivationPath);
18688 DOM.bip44account.on("input", calcForDerivationPath);
18689 DOM.bip44change.on("input", calcForDerivationPath);
18690 DOM.tab.on("shown.bs.tab", calcForDerivationPath);
18691 DOM.hardenedAddresses.on("change", calcForDerivationPath);
18692 DOM.indexToggle.on("click", toggleIndexes);
18693 DOM.addressToggle.on("click", toggleAddresses);
18694 DOM.publicKeyToggle.on("click", togglePublicKeys);
18695 DOM.privateKeyToggle.on("click", togglePrivateKeys);
18696 DOM.languages.on("click", languageChanged);
e00964cc 18697 setQrEvents(DOM.showQrEls);
c6624d51
IC
18698 disableForms();
18699 hidePending();
18700 hideValidationError();
18701 populateNetworkSelect();
18702 }
18703
18704 // Event handlers
18705
18706 function networkChanged(e) {
18707 var networkIndex = e.target.value;
18708 networks[networkIndex].onSelect();
18709 if (seed != null) {
18710 phraseChanged();
18711 }
18712 else {
18713 rootKeyChanged();
18714 }
18715 }
18716
18717 function setEntropyVisibility() {
18718 if (isUsingOwnEntropy()) {
18719 DOM.entropyContainer.removeClass("hidden");
18720 DOM.generateContainer.addClass("hidden");
18721 DOM.phrase.prop("readonly", true);
18722 DOM.entropy.focus();
18723 entropyChanged();
18724 }
18725 else {
18726 DOM.entropyContainer.addClass("hidden");
18727 DOM.generateContainer.removeClass("hidden");
18728 DOM.phrase.prop("readonly", false);
18abe53b 18729 hidePending();
c6624d51
IC
18730 }
18731 }
18732
18733 function delayedPhraseChanged() {
18734 hideValidationError();
18735 showPending();
18736 if (phraseChangeTimeoutEvent != null) {
18737 clearTimeout(phraseChangeTimeoutEvent);
18738 }
18739 phraseChangeTimeoutEvent = setTimeout(phraseChanged, 400);
18740 }
18741
18742 function phraseChanged() {
18743 showPending();
18744 hideValidationError();
18745 setMnemonicLanguage();
18746 // Get the mnemonic phrase
18747 var phrase = DOM.phrase.val();
18748 var errorText = findPhraseErrors(phrase);
18749 if (errorText) {
18750 showValidationError(errorText);
18751 return;
18752 }
18753 // Calculate and display
18754 var passphrase = DOM.passphrase.val();
18755 calcBip32RootKeyFromSeed(phrase, passphrase);
18756 calcForDerivationPath();
18757 hidePending();
18758 }
18759
18760 function delayedEntropyChanged() {
18761 hideValidationError();
18762 showPending();
18763 if (entropyChangeTimeoutEvent != null) {
18764 clearTimeout(entropyChangeTimeoutEvent);
18765 }
18766 entropyChangeTimeoutEvent = setTimeout(entropyChanged, 400);
18767 }
18768
18769 function entropyChanged() {
18abe53b
IC
18770 // If blank entropy, clear mnemonic, addresses, errors
18771 if (DOM.entropy.val().trim().length == 0) {
18772 clearDisplay();
2a6dd137 18773 clearEntropyFeedback();
18abe53b
IC
18774 DOM.phrase.val("");
18775 showValidationError("Blank entropy");
18776 return;
18777 }
18778 // Get the current phrase to detect changes
18779 var phrase = DOM.phrase.val();
18780 // Set the phrase from the entropy
c6624d51 18781 setMnemonicFromEntropy();
18abe53b
IC
18782 // Recalc addresses if the phrase has changed
18783 var newPhrase = DOM.phrase.val();
18784 if (newPhrase != phrase) {
18785 if (newPhrase.length == 0) {
18786 clearDisplay();
18787 }
18788 else {
18789 phraseChanged();
18790 }
18791 }
18792 else {
18793 hidePending();
18794 }
c6624d51
IC
18795 }
18796
18797 function delayedRootKeyChanged() {
18798 // Warn if there is an existing mnemonic or passphrase.
18799 if (DOM.phrase.val().length > 0 || DOM.passphrase.val().length > 0) {
18800 if (!confirm("This will clear existing mnemonic and passphrase")) {
18801 DOM.rootKey.val(bip32RootKey);
18802 return
18803 }
18804 }
18805 hideValidationError();
18806 showPending();
18807 // Clear existing mnemonic and passphrase
18808 DOM.phrase.val("");
18809 DOM.passphrase.val("");
18810 seed = null;
18811 if (rootKeyChangedTimeoutEvent != null) {
18812 clearTimeout(rootKeyChangedTimeoutEvent);
18813 }
18814 rootKeyChangedTimeoutEvent = setTimeout(rootKeyChanged, 400);
18815 }
18816
18817 function rootKeyChanged() {
18818 showPending();
18819 hideValidationError();
18820 // Validate the root key TODO
18821 var rootKeyBase58 = DOM.rootKey.val();
18822 var errorText = validateRootKey(rootKeyBase58);
18823 if (errorText) {
18824 showValidationError(errorText);
18825 return;
18826 }
18827 // Calculate and display
18828 calcBip32RootKeyFromBase58(rootKeyBase58);
18829 calcForDerivationPath();
18830 hidePending();
18831 }
18832
18833 function calcForDerivationPath() {
18834 showPending();
18835 hideValidationError();
18836 // Get the derivation path
18837 var derivationPath = getDerivationPath();
18838 var errorText = findDerivationPathErrors(derivationPath);
18839 if (errorText) {
18840 showValidationError(errorText);
18841 return;
18842 }
18843 calcBip32ExtendedKey(derivationPath);
18844 displayBip32Info();
18845 hidePending();
18846 }
18847
18848 function generateClicked() {
18849 if (isUsingOwnEntropy()) {
18850 return;
18851 }
18852 clearDisplay();
18853 showPending();
18854 setTimeout(function() {
18855 setMnemonicLanguage();
18856 var phrase = generateRandomPhrase();
18857 if (!phrase) {
18858 return;
18859 }
18860 phraseChanged();
18861 }, 50);
18862 }
18863
18864 function languageChanged() {
18865 setTimeout(function() {
18866 setMnemonicLanguage();
18867 if (DOM.phrase.val().length > 0) {
18868 var newPhrase = convertPhraseToNewLanguage();
18869 DOM.phrase.val(newPhrase);
18870 phraseChanged();
18871 }
18872 else {
18873 DOM.generate.trigger("click");
18874 }
18875 }, 50);
18876 }
18877
18878 function toggleIndexes() {
18879 showIndex = !showIndex;
18880 $("td.index span").toggleClass("invisible");
18881 }
18882
18883 function toggleAddresses() {
18884 showAddress = !showAddress;
18885 $("td.address span").toggleClass("invisible");
18886 }
18887
18888 function togglePublicKeys() {
18889 showPubKey = !showPubKey;
18890 $("td.pubkey span").toggleClass("invisible");
18891 }
18892
18893 function togglePrivateKeys() {
18894 showPrivKey = !showPrivKey;
18895 $("td.privkey span").toggleClass("invisible");
18896 }
18897
18898 // Private methods
18899
18900 function generateRandomPhrase() {
18901 if (!hasStrongRandom()) {
18902 var errorText = "This browser does not support strong randomness";
18903 showValidationError(errorText);
18904 return;
18905 }
18abe53b 18906 var numWords = parseInt(DOM.generatedStrength.val());
c6624d51
IC
18907 var strength = numWords / 3 * 32;
18908 var words = mnemonic.generate(strength);
18909 DOM.phrase.val(words);
18910 return words;
18911 }
18912
18913 function calcBip32RootKeyFromSeed(phrase, passphrase) {
18914 seed = mnemonic.toSeed(phrase, passphrase);
18915 bip32RootKey = bitcoin.HDNode.fromSeedHex(seed, network);
18916 }
18917
18918 function calcBip32RootKeyFromBase58(rootKeyBase58) {
18919 bip32RootKey = bitcoin.HDNode.fromBase58(rootKeyBase58, network);
18920 }
18921
18922 function calcBip32ExtendedKey(path) {
18923 bip32ExtendedKey = bip32RootKey;
18924 // Derive the key from the path
18925 var pathBits = path.split("/");
ebd8d4e8
IC
18926 for (var i=0; i<pathBits.length; i++) {
18927 var bit = pathBits[i];
18928 var index = parseInt(bit);
18929 if (isNaN(index)) {
18930 continue;
18931 }
18932 var hardened = bit[bit.length-1] == "'";
18933 if (hardened) {
18934 bip32ExtendedKey = bip32ExtendedKey.deriveHardened(index);
18935 }
18936 else {
18937 bip32ExtendedKey = bip32ExtendedKey.derive(index);
18938 }
18939 }
18940 }
18941
18942 function showValidationError(errorText) {
18943 DOM.feedback
18944 .text(errorText)
18945 .show();
18946 }
18947
18948 function hideValidationError() {
18949 DOM.feedback
18950 .text("")
18951 .hide();
18952 }
18953
18954 function findPhraseErrors(phrase) {
ebd8d4e8 18955 // Preprocess the words
783981de 18956 phrase = mnemonic.normalizeString(phrase);
0515eeec 18957 var words = phraseToWordArray(phrase);
18abe53b
IC
18958 // Detect blank phrase
18959 if (words.length == 0) {
18960 return "Blank mnemonic";
18961 }
563e401a 18962 // Check each word
0515eeec
IC
18963 for (var i=0; i<words.length; i++) {
18964 var word = words[i];
18965 var language = getLanguage();
18966 if (WORDLISTS[language].indexOf(word) == -1) {
563e401a
IC
18967 console.log("Finding closest match to " + word);
18968 var nearestWord = findNearestWord(word);
18969 return word + " not in wordlist, did you mean " + nearestWord + "?";
18970 }
18971 }
ebd8d4e8 18972 // Check the words are valid
0515eeec 18973 var properPhrase = wordArrayToPhrase(words);
ebd8d4e8
IC
18974 var isValid = mnemonic.check(properPhrase);
18975 if (!isValid) {
18976 return "Invalid mnemonic";
18977 }
18978 return false;
18979 }
18980
efe41586
IC
18981 function validateRootKey(rootKeyBase58) {
18982 try {
18983 bitcoin.HDNode.fromBase58(rootKeyBase58);
18984 }
18985 catch (e) {
18986 return "Invalid root key";
18987 }
18988 return "";
18989 }
18990
38523d36
IC
18991 function getDerivationPath() {
18992 if (DOM.bip44tab.hasClass("active")) {
18993 var purpose = parseIntNoNaN(DOM.bip44purpose.val(), 44);
18994 var coin = parseIntNoNaN(DOM.bip44coin.val(), 0);
18995 var account = parseIntNoNaN(DOM.bip44account.val(), 0);
18996 var change = parseIntNoNaN(DOM.bip44change.val(), 0);
18997 var path = "m/";
18998 path += purpose + "'/";
18999 path += coin + "'/";
19000 path += account + "'/";
19001 path += change;
19002 DOM.bip44path.val(path);
19003 var derivationPath = DOM.bip44path.val();
19004 console.log("Using derivation path from BIP44 tab: " + derivationPath);
19005 return derivationPath;
19006 }
19007 else if (DOM.bip32tab.hasClass("active")) {
19008 var derivationPath = DOM.bip32path.val();
19009 console.log("Using derivation path from BIP32 tab: " + derivationPath);
19010 return derivationPath;
19011 }
19012 else {
19013 console.log("Unknown derivation path");
19014 }
19015 }
19016
ebd8d4e8 19017 function findDerivationPathErrors(path) {
30c9e79d
IC
19018 // TODO is not perfect but is better than nothing
19019 // Inspired by
19020 // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#test-vectors
19021 // and
19022 // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#extended-keys
19023 var maxDepth = 255; // TODO verify this!!
19024 var maxIndexValue = Math.pow(2, 31); // TODO verify this!!
19025 if (path[0] != "m") {
19026 return "First character must be 'm'";
19027 }
19028 if (path.length > 1) {
19029 if (path[1] != "/") {
19030 return "Separator must be '/'";
19031 }
19032 var indexes = path.split("/");
19033 if (indexes.length > maxDepth) {
19034 return "Derivation depth is " + indexes.length + ", must be less than " + maxDepth;
19035 }
19036 for (var depth = 1; depth<indexes.length; depth++) {
19037 var index = indexes[depth];
19038 var invalidChars = index.replace(/^[0-9]+'?$/g, "")
19039 if (invalidChars.length > 0) {
19040 return "Invalid characters " + invalidChars + " found at depth " + depth;
19041 }
19042 var indexValue = parseInt(index.replace("'", ""));
19043 if (isNaN(depth)) {
19044 return "Invalid number at depth " + depth;
19045 }
19046 if (indexValue > maxIndexValue) {
19047 return "Value of " + indexValue + " at depth " + depth + " must be less than " + maxIndexValue;
19048 }
19049 }
19050 }
ebd8d4e8
IC
19051 return false;
19052 }
19053
19054 function displayBip32Info() {
19055 // Display the key
73161a92 19056 DOM.seed.val(seed);
ebd8d4e8
IC
19057 var rootKey = bip32RootKey.toBase58();
19058 DOM.rootKey.val(rootKey);
19059 var extendedPrivKey = bip32ExtendedKey.toBase58();
19060 DOM.extendedPrivKey.val(extendedPrivKey);
19061 var extendedPubKey = bip32ExtendedKey.toBase58(false);
19062 DOM.extendedPubKey.val(extendedPubKey);
19063 // Display the addresses and privkeys
19064 clearAddressesList();
19065 displayAddresses(0, 20);
19066 }
19067
19068 function displayAddresses(start, total) {
19069 for (var i=0; i<total; i++) {
80c4dd2a
IC
19070 var index = i + start;
19071 new TableRow(index);
19072 }
19073 }
19074
19075 function TableRow(index) {
19076
1975bfbc
IC
19077 var useHardenedAddresses = DOM.hardenedAddresses.prop("checked");
19078
80c4dd2a
IC
19079 function init() {
19080 calculateValues();
19081 }
19082
19083 function calculateValues() {
19084 setTimeout(function() {
1975bfbc
IC
19085 var key = "";
19086 if (useHardenedAddresses) {
19087 key = bip32ExtendedKey.deriveHardened(index);
19088 }
19089 else {
19090 key = bip32ExtendedKey.derive(index);
19091 }
80c4dd2a
IC
19092 var address = key.getAddress().toString();
19093 var privkey = key.privKey.toWIF(network);
1b12b2f5 19094 var pubkey = key.pubKey.toHex();
38523d36 19095 var indexText = getDerivationPath() + "/" + index;
1975bfbc
IC
19096 if (useHardenedAddresses) {
19097 indexText = indexText + "'";
19098 }
1b12b2f5 19099 addAddressToList(indexText, address, pubkey, privkey);
80c4dd2a 19100 }, 50)
ebd8d4e8 19101 }
80c4dd2a
IC
19102
19103 init();
19104
ebd8d4e8
IC
19105 }
19106
19107 function showMore() {
19108 var start = DOM.addresses.children().length;
19109 var rowsToAdd = parseInt(DOM.rowsToAdd.val());
19110 if (isNaN(rowsToAdd)) {
19111 rowsToAdd = 20;
19112 DOM.rowsToAdd.val("20");
19113 }
19114 if (rowsToAdd > 200) {
19115 var msg = "Generating " + rowsToAdd + " rows could take a while. ";
19116 msg += "Do you want to continue?";
19117 if (!confirm(msg)) {
19118 return;
19119 }
19120 }
ebd8d4e8 19121 displayAddresses(start, rowsToAdd);
ebd8d4e8
IC
19122 }
19123
19124 function clearDisplay() {
19125 clearAddressesList();
19126 clearKey();
19127 hideValidationError();
19128 }
19129
19130 function clearAddressesList() {
19131 DOM.addresses.empty();
19132 }
19133
19134 function clearKey() {
19135 DOM.rootKey.val("");
19136 DOM.extendedPrivKey.val("");
19137 DOM.extendedPubKey.val("");
19138 }
19139
1b12b2f5 19140 function addAddressToList(indexText, address, pubkey, privkey) {
ebd8d4e8 19141 var row = $(addressRowTemplate.html());
80c4dd2a
IC
19142 // Elements
19143 var indexCell = row.find(".index span");
19144 var addressCell = row.find(".address span");
1b12b2f5 19145 var pubkeyCell = row.find(".pubkey span");
80c4dd2a
IC
19146 var privkeyCell = row.find(".privkey span");
19147 // Content
ae30fed8 19148 indexCell.text(indexText);
80c4dd2a 19149 addressCell.text(address);
1b12b2f5 19150 pubkeyCell.text(pubkey);
80c4dd2a
IC
19151 privkeyCell.text(privkey);
19152 // Visibility
19153 if (!showIndex) {
19154 indexCell.addClass("invisible");
19155 }
19156 if (!showAddress) {
19157 addressCell.addClass("invisible");
19158 }
1b12b2f5
IC
19159 if (!showPubKey) {
19160 pubkeyCell.addClass("invisible");
19161 }
80c4dd2a 19162 if (!showPrivKey) {
6d628db7 19163 privkeyCell.addClass("invisible");
80c4dd2a 19164 }
ebd8d4e8 19165 DOM.addresses.append(row);
e00964cc
IC
19166 var rowShowQrEls = row.find("[data-show-qr]");
19167 setQrEvents(rowShowQrEls);
ebd8d4e8
IC
19168 }
19169
19170 function hasStrongRandom() {
19171 return 'crypto' in window && window['crypto'] !== null;
19172 }
19173
19174 function disableForms() {
19175 $("form").on("submit", function(e) {
19176 e.preventDefault();
19177 });
19178 }
19179
ebd8d4e8
IC
19180 function parseIntNoNaN(val, defaultVal) {
19181 var v = parseInt(val);
19182 if (isNaN(v)) {
19183 return defaultVal;
19184 }
19185 return v;
19186 }
19187
19188 function showPending() {
19189 DOM.feedback
19190 .text("Calculating...")
19191 .show();
19192 }
19193
563e401a 19194 function findNearestWord(word) {
0515eeec
IC
19195 var language = getLanguage();
19196 var words = WORDLISTS[language];
563e401a
IC
19197 var minDistance = 99;
19198 var closestWord = words[0];
19199 for (var i=0; i<words.length; i++) {
19200 var comparedTo = words[i];
19201 var distance = Levenshtein.get(word, comparedTo);
19202 if (distance < minDistance) {
19203 closestWord = comparedTo;
19204 minDistance = distance;
19205 }
19206 }
19207 return closestWord;
19208 }
19209
ebd8d4e8
IC
19210 function hidePending() {
19211 DOM.feedback
19212 .text("")
19213 .hide();
19214 }
19215
ab78acc6
IC
19216 function populateNetworkSelect() {
19217 for (var i=0; i<networks.length; i++) {
19218 var network = networks[i];
19219 var option = $("<option>");
19220 option.attr("value", i);
19221 option.text(network.name);
19222 DOM.phraseNetwork.append(option);
19223 }
19224 }
19225
0515eeec
IC
19226 function getLanguage() {
19227 var defaultLanguage = "english";
19228 // Try to get from existing phrase
19229 var language = getLanguageFromPhrase();
19230 // Try to get from url if not from phrase
19231 if (language.length == 0) {
19232 language = getLanguageFromUrl();
19233 }
19234 // Default to English if no other option
19235 if (language.length == 0) {
19236 language = defaultLanguage;
19237 }
19238 return language;
19239 }
19240
19241 function getLanguageFromPhrase(phrase) {
19242 // Check if how many words from existing phrase match a language.
19243 var language = "";
19244 if (!phrase) {
19245 phrase = DOM.phrase.val();
19246 }
19247 if (phrase.length > 0) {
19248 var words = phraseToWordArray(phrase);
19249 var languageMatches = {};
19250 for (l in WORDLISTS) {
19251 // Track how many words match in this language
19252 languageMatches[l] = 0;
19253 for (var i=0; i<words.length; i++) {
19254 var wordInLanguage = WORDLISTS[l].indexOf(words[i]) > -1;
19255 if (wordInLanguage) {
19256 languageMatches[l]++;
19257 }
19258 }
19259 // Find languages with most word matches.
19260 // This is made difficult due to commonalities between Chinese
19261 // simplified vs traditional.
19262 var mostMatches = 0;
19263 var mostMatchedLanguages = [];
19264 for (var l in languageMatches) {
19265 var numMatches = languageMatches[l];
19266 if (numMatches > mostMatches) {
19267 mostMatches = numMatches;
19268 mostMatchedLanguages = [l];
19269 }
19270 else if (numMatches == mostMatches) {
19271 mostMatchedLanguages.push(l);
19272 }
19273 }
19274 }
19275 if (mostMatchedLanguages.length > 0) {
19276 // Use first language and warn if multiple detected
19277 language = mostMatchedLanguages[0];
19278 if (mostMatchedLanguages.length > 1) {
19279 console.warn("Multiple possible languages");
19280 console.warn(mostMatchedLanguages);
19281 }
19282 }
19283 }
19284 return language;
19285 }
19286
19287 function getLanguageFromUrl() {
c6624d51
IC
19288 for (var language in WORDLISTS) {
19289 if (window.location.hash.indexOf(language) > -1) {
19290 return language;
19291 }
19292 }
19293 return "";
0515eeec
IC
19294 }
19295
19296 function setMnemonicLanguage() {
19297 var language = getLanguage();
19298 // Load the bip39 mnemonic generator for this language if required
19299 if (!(language in mnemonics)) {
19300 mnemonics[language] = new Mnemonic(language);
19301 }
19302 mnemonic = mnemonics[language];
19303 }
19304
19305 function convertPhraseToNewLanguage() {
19306 var oldLanguage = getLanguageFromPhrase();
19307 var newLanguage = getLanguageFromUrl();
19308 var oldPhrase = DOM.phrase.val();
19309 var oldWords = phraseToWordArray(oldPhrase);
19310 var newWords = [];
19311 for (var i=0; i<oldWords.length; i++) {
19312 var oldWord = oldWords[i];
19313 var index = WORDLISTS[oldLanguage].indexOf(oldWord);
19314 var newWord = WORDLISTS[newLanguage][index];
19315 newWords.push(newWord);
19316 }
19317 newPhrase = wordArrayToPhrase(newWords);
19318 return newPhrase;
19319 }
19320
19321 // TODO look at jsbip39 - mnemonic.splitWords
19322 function phraseToWordArray(phrase) {
19323 var words = phrase.split(/\s/g);
19324 var noBlanks = [];
19325 for (var i=0; i<words.length; i++) {
19326 var word = words[i];
19327 if (word.length > 0) {
19328 noBlanks.push(word);
19329 }
19330 }
19331 return noBlanks;
19332 }
19333
19334 // TODO look at jsbip39 - mnemonic.joinWords
19335 function wordArrayToPhrase(words) {
19336 var phrase = words.join(" ");
19337 var language = getLanguageFromPhrase(phrase);
19338 if (language == "japanese") {
19339 phrase = words.join("\u3000");
19340 }
19341 return phrase;
19342 }
19343
c6624d51
IC
19344 function isUsingOwnEntropy() {
19345 return DOM.useEntropy.prop("checked");
19346 }
19347
19348 function setMnemonicFromEntropy() {
2a6dd137 19349 clearEntropyFeedback();
18abe53b 19350 // Get entropy value
c6624d51 19351 var entropyStr = DOM.entropy.val();
18abe53b 19352 // Work out minimum base for entropy
c6624d51 19353 var entropy = Entropy.fromString(entropyStr);
18abe53b 19354 if (entropy.binaryStr.length == 0) {
c6624d51
IC
19355 return;
19356 }
19357 // Show entropy details
18abe53b
IC
19358 showEntropyFeedback(entropy);
19359 // Use entropy hash if not using raw entropy
19360 var bits = entropy.binaryStr;
19361 var mnemonicLength = DOM.entropyMnemonicLength.val();
19362 if (mnemonicLength != "raw") {
19363 // Get bits by hashing entropy with SHA256
19364 var hash = sjcl.hash.sha256.hash(entropy.cleanStr);
19365 var hex = sjcl.codec.hex.fromBits(hash);
19366 bits = BigInteger.parse(hex, 16).toString(2);
19367 for (var i=0; i<256-bits.length; i++) {
19368 bits = "0" + bits;
19369 }
19370 // Truncate hash to suit number of words
19371 mnemonicLength = parseInt(mnemonicLength);
19372 var numberOfBits = 32 * mnemonicLength / 3;
19373 bits = bits.substring(0, numberOfBits);
c6624d51 19374 }
c6624d51 19375 // Discard trailing entropy
18abe53b 19376 var bitsToUse = Math.floor(bits.length / 32) * 32;
2a6dd137
IC
19377 var start = bits.length - bitsToUse;
19378 var binaryStr = bits.substring(start);
c6624d51
IC
19379 // Convert entropy string to numeric array
19380 var entropyArr = [];
18abe53b
IC
19381 for (var i=0; i<binaryStr.length / 8; i++) {
19382 var byteAsBits = binaryStr.substring(i*8, i*8+8);
19383 var entropyByte = parseInt(byteAsBits, 2);
c6624d51
IC
19384 entropyArr.push(entropyByte)
19385 }
19386 // Convert entropy array to mnemonic
19387 var phrase = mnemonic.toMnemonic(entropyArr);
19388 // Set the mnemonic in the UI
19389 DOM.phrase.val(phrase);
19390 }
19391
2a6dd137
IC
19392 function clearEntropyFeedback() {
19393 DOM.entropyStrength.text("...");
18abe53b 19394 DOM.entropyType.text("");
2a6dd137
IC
19395 DOM.entropyWordCount.text("0");
19396 DOM.entropyEventCount.text("0");
19397 DOM.entropyBitsPerEvent.text("0");
19398 DOM.entropyBits.text("0");
19399 DOM.entropyFiltered.html("&nbsp;");
19400 DOM.entropyBinary.html("&nbsp;");
c6624d51
IC
19401 }
19402
18abe53b 19403 function showEntropyFeedback(entropy) {
9e97eb76 19404 var numberOfBits = entropy.binaryStr.length;
18abe53b 19405 var strength = "extremely weak";
9e97eb76 19406 if (numberOfBits >= 64) {
18abe53b
IC
19407 strength = "very weak";
19408 }
9e97eb76 19409 if (numberOfBits >= 96) {
18abe53b
IC
19410 strength = "weak";
19411 }
9e97eb76 19412 if (numberOfBits >= 128) {
18abe53b
IC
19413 strength = "strong";
19414 }
9e97eb76 19415 if (numberOfBits >= 160) {
18abe53b
IC
19416 strength = "very strong";
19417 }
9e97eb76 19418 if (numberOfBits >= 192) {
18abe53b
IC
19419 strength = "extremely strong";
19420 }
19421 // If time to crack is less than one day, and password is considered
19422 // strong or better based on the number of bits, rename strength to
19423 // 'easily cracked'.
95f04905
IC
19424 try {
19425 var z = zxcvbn(entropy.base.parts.join(""));
19426 var timeToCrack = z.crack_times_seconds.offline_fast_hashing_1e10_per_second;
19427 if (timeToCrack < 86400 && entropy.binaryStr.length >= 128) {
19428 strength = "easily cracked";
19429 if (z.feedback.warning != "") {
19430 strength = strength + " - " + z.feedback.warning;
19431 };
19432 }
18abe53b 19433 }
95f04905
IC
19434 catch (e) {
19435 strength = "unknown";
19436 console.log("Error detecting entropy strength with zxcvbn:");
19437 console.log(e);
19438 }
95f04905 19439 var entropyTypeStr = getEntropyTypeStr(entropy);
9e97eb76 19440 var wordCount = Math.floor(numberOfBits / 32) * 3;
94959756 19441 var bitsPerEvent = entropy.bitsPerEvent.toFixed(2);
2a6dd137 19442 DOM.entropyFiltered.html(entropy.cleanHtml);
95f04905 19443 DOM.entropyType.text(entropyTypeStr);
18abe53b
IC
19444 DOM.entropyStrength.text(strength);
19445 DOM.entropyEventCount.text(entropy.base.ints.length);
9e97eb76 19446 DOM.entropyBits.text(numberOfBits);
2a6dd137
IC
19447 DOM.entropyWordCount.text(wordCount);
19448 DOM.entropyBinary.text(entropy.binaryStr);
9e97eb76 19449 DOM.entropyBitsPerEvent.text(bitsPerEvent);
95f04905
IC
19450 }
19451
19452 function getEntropyTypeStr(entropy) {
19453 var typeStr = entropy.base.str;
19454 // Add some detail if these are cards
19455 if (entropy.base.asInt == 52) {
19456 var cardDetail = []; // array of message strings
19457 // Detect duplicates
19458 var dupes = [];
19459 var dupeTracker = {};
19460 for (var i=0; i<entropy.base.parts.length; i++) {
19461 var card = entropy.base.parts[i];
9e97eb76
IC
19462 var cardUpper = card.toUpperCase();
19463 if (cardUpper in dupeTracker) {
95f04905
IC
19464 dupes.push(card);
19465 }
9e97eb76 19466 dupeTracker[cardUpper] = true;
95f04905
IC
19467 }
19468 if (dupes.length > 0) {
19469 var dupeWord = "duplicates";
19470 if (dupes.length == 1) {
19471 dupeWord = "duplicate";
19472 }
19473 var msg = dupes.length + " " + dupeWord + ": " + dupes.slice(0,3).join(" ");
19474 if (dupes.length > 3) {
19475 msg += "...";
19476 }
19477 cardDetail.push(msg);
19478 }
19479 // Detect full deck
19480 var uniqueCards = [];
19481 for (var uniqueCard in dupeTracker) {
19482 uniqueCards.push(uniqueCard);
19483 }
19484 if (uniqueCards.length == 52) {
19485 cardDetail.unshift("full deck");
19486 }
9e97eb76
IC
19487 // Detect missing cards
19488 var values = "A23456789TJQK";
19489 var suits = "CDHS";
19490 var missingCards = [];
19491 for (var i=0; i<suits.length; i++) {
19492 for (var j=0; j<values.length; j++) {
19493 var card = values[j] + suits[i];
19494 if (!(card in dupeTracker)) {
19495 missingCards.push(card);
19496 }
19497 }
19498 }
19499 // Display missing cards if six or less, ie clearly going for full deck
19500 if (missingCards.length > 0 && missingCards.length <= 6) {
19501 var msg = missingCards.length + " missing: " + missingCards.slice(0,3).join(" ");
19502 if (missingCards.length > 3) {
19503 msg += "...";
19504 }
19505 cardDetail.push(msg);
19506 }
95f04905
IC
19507 // Add card details to typeStr
19508 if (cardDetail.length > 0) {
19509 typeStr += " (" + cardDetail.join(", ") + ")";
19510 }
19511 }
19512 return typeStr;
19513 }
19514
e00964cc
IC
19515 function setQrEvents(els) {
19516 els.on("mouseenter", createQr);
19517 els.on("mouseleave", destroyQr);
19518 els.on("click", toggleQr);
19519 }
19520
19521 function createQr(e) {
19522 var content = e.target.textContent || e.target.value;
19523 if (content) {
19524 var size = 130;
19525 DOM.qrImage.qrcode({width: size, height: size, text: content});
19526 if (!showQr) {
19527 DOM.qrImage.addClass("hidden");
19528 }
19529 DOM.qrContainer.removeClass("hidden");
19530 }
19531 }
19532
19533 function destroyQr() {
19534 DOM.qrImage.text("");
19535 DOM.qrContainer.addClass("hidden");
19536 }
19537
19538 function toggleQr() {
19539 showQr = !showQr;
19540 DOM.qrImage.toggleClass("hidden");
19541 DOM.qrHint.toggleClass("hidden");
19542 }
19543
ab78acc6
IC
19544 var networks = [
19545 {
19546 name: "Bitcoin",
19547 onSelect: function() {
19548 network = bitcoin.networks.bitcoin;
19549 DOM.bip44coin.val(0);
ab78acc6
IC
19550 },
19551 },
19552 {
19553 name: "Bitcoin Testnet",
19554 onSelect: function() {
19555 network = bitcoin.networks.testnet;
19556 DOM.bip44coin.val(1);
ab78acc6
IC
19557 },
19558 },
19559 {
19560 name: "Litecoin",
19561 onSelect: function() {
19562 network = bitcoin.networks.litecoin;
19563 DOM.bip44coin.val(2);
19564 },
19565 },
19566 {
19567 name: "Dogecoin",
19568 onSelect: function() {
19569 network = bitcoin.networks.dogecoin;
19570 DOM.bip44coin.val(3);
19571 },
19572 },
d5dc92fd
IC
19573 {
19574 name: "ShadowCash",
19575 onSelect: function() {
19576 network = bitcoin.networks.shadow;
19577 DOM.bip44coin.val(35);
19578 },
19579 },
19580 {
19581 name: "ShadowCash Testnet",
19582 onSelect: function() {
19583 network = bitcoin.networks.shadowtn;
19584 DOM.bip44coin.val(1);
19585 },
19586 },
a3baa26e
IC
19587 {
19588 name: "Viacoin",
19589 onSelect: function() {
19590 network = bitcoin.networks.viacoin;
19591 DOM.bip44coin.val(14);
19592 },
19593 },
19594 {
19595 name: "Viacoin Testnet",
19596 onSelect: function() {
19597 network = bitcoin.networks.viacointestnet;
19598 DOM.bip44coin.val(1);
19599 },
19600 },
19601 {
19602 name: "Jumbucks",
19603 onSelect: function() {
19604 network = bitcoin.networks.jumbucks;
19605 DOM.bip44coin.val(26);
19606 },
19607 },
5c434a8a
CM
19608 {
19609 name: "CLAM",
19610 onSelect: function() {
19611 network = bitcoin.networks.clam;
19612 DOM.bip44coin.val(23);
19613 },
19614 },
5493efc3 19615 {
19616 name: "DASH",
19617 onSelect: function() {
19618 network = bitcoin.networks.dash;
19619 DOM.bip44coin.val(5);
19620 },
19621 },
07ac4350 19622 {
19623 name: "Namecoin",
19624 onSelect: function() {
19625 network = bitcoin.networks.namecoin;
19626 DOM.bip44coin.val(7);
19627 },
19628 },
19629 {
19630 name: "Peercoin",
19631 onSelect: function() {
19632 network = bitcoin.networks.peercoin;
19633 DOM.bip44coin.val(6);
19634 },
19635 },
ab78acc6
IC
19636 ]
19637
ebd8d4e8
IC
19638 init();
19639
19640})();
dc55c6b0 19641</script>
ebd8d4e8
IC
19642 </body>
19643</html>