2016-10-21 08:19:18 +00:00
( 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 ) {
var 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&" , " f
} , { } ] , 2 : [ function ( require , module , exports ) {
var 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 ;
} , { "./scoring" : 6 } ] , 3 : [ function ( require , module , exports ) {
var 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 , 1 qaz2wsx , 7777777 , fuckyou , qazwsx , jordan , 123 qwe , 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 , 1234 qwer , 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 , 1 q2w3e4r , 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 , 123 abc , slipknot , qazxsw , 123456 a , 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 , 1 q2w3e4r5t , sydney , gators , dexter , red123 , 123456 q , 12345 a , bubba , creative , voodoo , golf , trouble , america , nissan , gunner , garfield , bullshit , asdfghjk , 5150 , fucking , apollo , 1 qazxsw2 , 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 , 12 qwaszx , 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 , 12345 q , 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 , 123456789 a , ruslan , eagle , 1232323 q , scarface , qwerty12 , 147852 , a12345 , buddha , porno , 420420 , spirit , money1 , stargate , qwe123 , naruto , mercury , liberty , 12345 qwert , 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 , as
english _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 , t
female _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 , ga
us _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 , at
male _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 , winf
} , { } ] , 4 : [ function ( require , module , exports ) {
var 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 ;
} , { "./feedback" : 2 , "./matching" : 5 , "./scoring" : 6 , "./time_estimates" : 7 } ] , 5 : [ function ( require , module , exports ) {
var 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 . le
} , { "./adjacency_graphs" : 1 , "./frequency_lists" : 3 , "./scoring" : 6 } ] , 6 : [ function ( require , module , exports ) {
2017-03-25 19:56:20 +00:00
var 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 - t
2016-10-21 08:19:18 +00:00
} , { "./adjacency_graphs" : 1 } ] , 7 : [ function ( require , module , exports ) {
var 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 ;
} , { } ] } , { } , [ 4 ] ) ( 4 )
} ) ;
//# sourceMappingURL=zxcvbn.js.map