UNPKG

zxcvbn

Version:

realistic password strength estimation

505 lines (491 loc) 64.9 kB
if (typeof _$jscoverage === 'undefined') _$jscoverage = {}; (function(_export) { if (typeof _export._$jscoverage === 'undefined') { _export._$jscoverage = _$jscoverage; } })(typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : this); if (! _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"]) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"] = {"path":"/Users/dan/zxcvbn/src/scoring.coffee","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0,0,0,0,0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"fnMap":{"1":{"name":"calc_average_degree","line":5,"loc":{"start":{"line":5,"column":0},"end":{"line":5,"column":31}}},"2":{"name":"nCk","line":20,"loc":{"start":{"line":20,"column":2},"end":{"line":20,"column":15}}},"3":{"name":"lg","line":31,"loc":{"start":{"line":31,"column":2},"end":{"line":31,"column":11}}},"4":{"name":"minimum_entropy_match_sequence","line":41,"loc":{"start":{"line":41,"column":2},"end":{"line":41,"column":55}}},"5":{"name":"make_bruteforce_match","line":75,"loc":{"start":{"line":75,"column":4},"end":{"line":75,"column":36}}},"6":{"name":"round_to_x_digits","line":105,"loc":{"start":{"line":105,"column":2},"end":{"line":105,"column":29}}},"7":{"name":"entropy_to_crack_time","line":124,"loc":{"start":{"line":124,"column":2},"end":{"line":124,"column":36}}},"8":{"name":"crack_time_to_score","line":127,"loc":{"start":{"line":127,"column":2},"end":{"line":127,"column":34}}},"9":{"name":"calc_entropy","line":138,"loc":{"start":{"line":138,"column":2},"end":{"line":138,"column":25}}},"10":{"name":"repeat_entropy","line":150,"loc":{"start":{"line":150,"column":2},"end":{"line":150,"column":27}}},"11":{"name":"sequence_entropy","line":154,"loc":{"start":{"line":154,"column":2},"end":{"line":154,"column":29}}},"12":{"name":"digits_entropy","line":169,"loc":{"start":{"line":169,"column":2},"end":{"line":169,"column":27}}},"13":{"name":"year_entropy","line":175,"loc":{"start":{"line":175,"column":2},"end":{"line":175,"column":25}}},"14":{"name":"date_entropy","line":177,"loc":{"start":{"line":177,"column":2},"end":{"line":177,"column":25}}},"15":{"name":"spatial_entropy","line":186,"loc":{"start":{"line":186,"column":2},"end":{"line":186,"column":28}}},"16":{"name":"dictionary_entropy","line":212,"loc":{"start":{"line":212,"column":2},"end":{"line":212,"column":31}}},"17":{"name":"extra_uppercase_entropy","line":223,"loc":{"start":{"line":223,"column":2},"end":{"line":223,"column":36}}},"18":{"name":"extra_l33t_entropy","line":240,"loc":{"start":{"line":240,"column":2},"end":{"line":240,"column":31}}},"19":{"name":"calc_bruteforce_cardinality","line":252,"loc":{"start":{"line":252,"column":2},"end":{"line":252,"column":43}}},"20":{"name":"display_time","line":274,"loc":{"start":{"line":274,"column":2},"end":{"line":274,"column":27}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":47}},"2":{"start":{"line":5,"column":0},"end":{"line":11,"column":0}},"3":{"start":{"line":6,"column":2},"end":{"line":6,"column":12}},"4":{"start":{"line":7,"column":2},"end":{"line":9,"column":1}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":50}},"6":{"start":{"line":8,"column":16},"end":{"line":8,"column":42}},"7":{"start":{"line":8,"column":16},"end":{"line":8,"column":16}},"8":{"start":{"line":9,"column":2},"end":{"line":9,"column":39}},"9":{"start":{"line":9,"column":14},"end":{"line":9,"column":31}},"10":{"start":{"line":9,"column":14},"end":{"line":9,"column":14}},"11":{"start":{"line":10,"column":2},"end":{"line":10,"column":8}},"12":{"start":{"line":12,"column":0},"end":{"line":12,"column":69}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":67}},"14":{"start":{"line":16,"column":0},"end":{"line":16,"column":74}},"15":{"start":{"line":16,"column":31},"end":{"line":16,"column":66}},"16":{"start":{"line":16,"column":31},"end":{"line":16,"column":31}},"17":{"start":{"line":17,"column":0},"end":{"line":17,"column":72}},"18":{"start":{"line":17,"column":29},"end":{"line":17,"column":64}},"19":{"start":{"line":17,"column":29},"end":{"line":17,"column":29}},"20":{"start":{"line":19,"column":0},"end":{"line":295,"column":0}},"21":{"start":{"line":22,"column":4},"end":{"line":22,"column":20}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":11}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":21}},"24":{"start":{"line":23,"column":4},"end":{"line":23,"column":11}},"25":{"start":{"line":24,"column":4},"end":{"line":24,"column":8}},"26":{"start":{"line":25,"column":4},"end":{"line":29,"column":3}},"27":{"start":{"line":26,"column":6},"end":{"line":26,"column":11}},"28":{"start":{"line":27,"column":6},"end":{"line":27,"column":11}},"29":{"start":{"line":28,"column":6},"end":{"line":28,"column":11}},"30":{"start":{"line":29,"column":4},"end":{"line":29,"column":4}},"31":{"start":{"line":31,"column":13},"end":{"line":31,"column":37}},"32":{"start":{"line":42,"column":4},"end":{"line":42,"column":65}},"33":{"start":{"line":43,"column":4},"end":{"line":43,"column":15}},"34":{"start":{"line":46,"column":4},"end":{"line":46,"column":20}},"35":{"start":{"line":47,"column":4},"end":{"line":61,"column":3}},"36":{"start":{"line":50,"column":6},"end":{"line":50,"column":66}},"37":{"start":{"line":50,"column":20},"end":{"line":50,"column":36}},"38":{"start":{"line":51,"column":6},"end":{"line":51,"column":27}},"39":{"start":{"line":52,"column":6},"end":{"line":61,"column":3}},"40":{"start":{"line":53,"column":8},"end":{"line":53,"column":34}},"41":{"start":{"line":55,"column":8},"end":{"line":55,"column":69}},"42":{"start":{"line":55,"column":29},"end":{"line":55,"column":45}},"43":{"start":{"line":56,"column":8},"end":{"line":61,"column":3}},"44":{"start":{"line":57,"column":10},"end":{"line":57,"column":39}},"45":{"start":{"line":58,"column":10},"end":{"line":58,"column":32}},"46":{"start":{"line":61,"column":4},"end":{"line":61,"column":22}},"47":{"start":{"line":62,"column":4},"end":{"line":62,"column":26}},"48":{"start":{"line":63,"column":4},"end":{"line":63,"column":15}},"49":{"start":{"line":64,"column":6},"end":{"line":64,"column":28}},"50":{"start":{"line":65,"column":6},"end":{"line":69,"column":13}},"51":{"start":{"line":66,"column":8},"end":{"line":66,"column":32}},"52":{"start":{"line":67,"column":8},"end":{"line":67,"column":22}},"53":{"start":{"line":69,"column":8},"end":{"line":69,"column":13}},"54":{"start":{"line":70,"column":4},"end":{"line":70,"column":27}},"55":{"start":{"line":75,"column":4},"end":{"line":82,"column":3}},"56":{"start":{"line":76,"column":6},"end":{"line":81,"column":40}},"57":{"start":{"line":82,"column":4},"end":{"line":82,"column":8}},"58":{"start":{"line":83,"column":4},"end":{"line":83,"column":27}},"59":{"start":{"line":84,"column":4},"end":{"line":90,"column":3}},"60":{"start":{"line":85,"column":6},"end":{"line":85,"column":32}},"61":{"start":{"line":86,"column":6},"end":{"line":88,"column":5}},"62":{"start":{"line":87,"column":8},"end":{"line":87,"column":63}},"63":{"start":{"line":88,"column":6},"end":{"line":88,"column":14}},"64":{"start":{"line":89,"column":6},"end":{"line":89,"column":35}},"65":{"start":{"line":90,"column":4},"end":{"line":92,"column":3}},"66":{"start":{"line":91,"column":6},"end":{"line":91,"column":75}},"67":{"start":{"line":92,"column":4},"end":{"line":92,"column":39}},"68":{"start":{"line":94,"column":4},"end":{"line":94,"column":50}},"69":{"start":{"line":95,"column":4},"end":{"line":95,"column":50}},"70":{"start":{"line":98,"column":4},"end":{"line":103,"column":41}},"71":{"start":{"line":105,"column":31},"end":{"line":105,"column":79}},"72":{"start":{"line":125,"column":4},"end":{"line":125,"column":49}},"73":{"start":{"line":128,"column":4},"end":{"line":128,"column":40}},"74":{"start":{"line":128,"column":4},"end":{"line":128,"column":11}},"75":{"start":{"line":129,"column":4},"end":{"line":129,"column":40}},"76":{"start":{"line":129,"column":4},"end":{"line":129,"column":11}},"77":{"start":{"line":130,"column":4},"end":{"line":130,"column":40}},"78":{"start":{"line":130,"column":4},"end":{"line":130,"column":11}},"79":{"start":{"line":131,"column":4},"end":{"line":131,"column":40}},"80":{"start":{"line":131,"column":4},"end":{"line":131,"column":11}},"81":{"start":{"line":132,"column":4},"end":{"line":132,"column":11}},"82":{"start":{"line":139,"column":4},"end":{"line":139,"column":41}},"83":{"start":{"line":139,"column":4},"end":{"line":139,"column":23}},"84":{"start":{"line":140,"column":4},"end":{"line":148,"column":3}},"85":{"start":{"line":141,"column":29},"end":{"line":141,"column":43}},"86":{"start":{"line":142,"column":29},"end":{"line":142,"column":45}},"87":{"start":{"line":143,"column":29},"end":{"line":143,"column":43}},"88":{"start":{"line":144,"column":29},"end":{"line":144,"column":41}},"89":{"start":{"line":145,"column":29},"end":{"line":145,"column":41}},"90":{"start":{"line":146,"column":29},"end":{"line":146,"column":44}},"91":{"start":{"line":147,"column":29},"end":{"line":147,"column":47}},"92":{"start":{"line":148,"column":4},"end":{"line":148,"column":48}},"93":{"start":{"line":151,"column":4},"end":{"line":151,"column":57}},"94":{"start":{"line":152,"column":4},"end":{"line":152,"column":41}},"95":{"start":{"line":152,"column":9},"end":{"line":152,"column":40}},"96":{"start":{"line":155,"column":4},"end":{"line":155,"column":36}},"97":{"start":{"line":156,"column":4},"end":{"line":165,"column":3}},"98":{"start":{"line":157,"column":6},"end":{"line":157,"column":21}},"99":{"start":{"line":159,"column":6},"end":{"line":164,"column":33}},"100":{"start":{"line":160,"column":8},"end":{"line":160,"column":29}},"101":{"start":{"line":161,"column":11},"end":{"line":164,"column":33}},"102":{"start":{"line":162,"column":8},"end":{"line":162,"column":29}},"103":{"start":{"line":164,"column":8},"end":{"line":164,"column":33}},"104":{"start":{"line":165,"column":4},"end":{"line":167,"column":3}},"105":{"start":{"line":166,"column":6},"end":{"line":166,"column":22}},"106":{"start":{"line":167,"column":4},"end":{"line":167,"column":40}},"107":{"start":{"line":169,"column":29},"end":{"line":169,"column":64}},"108":{"start":{"line":175,"column":27},"end":{"line":175,"column":40}},"109":{"start":{"line":178,"column":4},"end":{"line":181,"column":55}},"110":{"start":{"line":179,"column":6},"end":{"line":179,"column":48}},"111":{"start":{"line":181,"column":6},"end":{"line":181,"column":55}},"112":{"start":{"line":182,"column":4},"end":{"line":184,"column":3}},"113":{"start":{"line":183,"column":6},"end":{"line":183,"column":17}},"114":{"start":{"line":184,"column":4},"end":{"line":184,"column":10}},"115":{"start":{"line":187,"column":4},"end":{"line":191,"column":34}},"116":{"start":{"line":188,"column":6},"end":{"line":188,"column":36}},"117":{"start":{"line":189,"column":6},"end":{"line":189,"column":32}},"118":{"start":{"line":191,"column":6},"end":{"line":191,"column":34}},"119":{"start":{"line":192,"column":6},"end":{"line":192,"column":30}},"120":{"start":{"line":193,"column":4},"end":{"line":193,"column":20}},"121":{"start":{"line":194,"column":4},"end":{"line":194,"column":25}},"122":{"start":{"line":195,"column":4},"end":{"line":195,"column":18}},"123":{"start":{"line":197,"column":4},"end":{"line":201,"column":3}},"124":{"start":{"line":198,"column":6},"end":{"line":198,"column":40}},"125":{"start":{"line":199,"column":6},"end":{"line":201,"column":3}},"126":{"start":{"line":200,"column":8},"end":{"line":200,"column":63}},"127":{"start":{"line":201,"column":4},"end":{"line":201,"column":30}},"128":{"start":{"line":204,"column":4},"end":{"line":210,"column":3}},"129":{"start":{"line":205,"column":6},"end":{"line":205,"column":28}},"130":{"start":{"line":206,"column":6},"end":{"line":206,"column":49}},"131":{"start":{"line":207,"column":6},"end":{"line":207,"column":22}},"132":{"start":{"line":208,"column":6},"end":{"line":208,"column":65}},"133":{"start":{"line":208,"column":6},"end":{"line":208,"column":36}},"134":{"start":{"line":209,"column":6},"end":{"line":209,"column":33}},"135":{"start":{"line":210,"column":4},"end":{"line":210,"column":10}},"136":{"start":{"line":213,"column":4},"end":{"line":213,"column":38}},"137":{"start":{"line":214,"column":4},"end":{"line":214,"column":59}},"138":{"start":{"line":215,"column":4},"end":{"line":215,"column":49}},"139":{"start":{"line":216,"column":4},"end":{"line":216,"column":68}},"140":{"start":{"line":224,"column":4},"end":{"line":224,"column":21}},"141":{"start":{"line":225,"column":4},"end":{"line":225,"column":36}},"142":{"start":{"line":225,"column":4},"end":{"line":225,"column":11}},"143":{"start":{"line":229,"column":4},"end":{"line":234,"column":3}},"144":{"start":{"line":230,"column":6},"end":{"line":230,"column":33}},"145":{"start":{"line":230,"column":6},"end":{"line":230,"column":13}},"146":{"start":{"line":234,"column":4},"end":{"line":234,"column":68}},"147":{"start":{"line":234,"column":9},"end":{"line":234,"column":60}},"148":{"start":{"line":234,"column":9},"end":{"line":234,"column":11}},"149":{"start":{"line":235,"column":4},"end":{"line":235,"column":68}},"150":{"start":{"line":235,"column":9},"end":{"line":235,"column":60}},"151":{"start":{"line":235,"column":9},"end":{"line":235,"column":11}},"152":{"start":{"line":236,"column":4},"end":{"line":236,"column":20}},"153":{"start":{"line":237,"column":4},"end":{"line":237,"column":63}},"154":{"start":{"line":237,"column":4},"end":{"line":237,"column":34}},"155":{"start":{"line":238,"column":4},"end":{"line":238,"column":20}},"156":{"start":{"line":241,"column":4},"end":{"line":241,"column":29}},"157":{"start":{"line":241,"column":4},"end":{"line":241,"column":11}},"158":{"start":{"line":242,"column":4},"end":{"line":242,"column":20}},"159":{"start":{"line":243,"column":4},"end":{"line":248,"column":3}},"160":{"start":{"line":244,"column":6},"end":{"line":244,"column":73}},"161":{"start":{"line":244,"column":11},"end":{"line":244,"column":65}},"162":{"start":{"line":244,"column":11},"end":{"line":244,"column":13}},"163":{"start":{"line":245,"column":6},"end":{"line":245,"column":75}},"164":{"start":{"line":245,"column":11},"end":{"line":245,"column":67}},"165":{"start":{"line":245,"column":11},"end":{"line":245,"column":13}},"166":{"start":{"line":246,"column":6},"end":{"line":246,"column":65}},"167":{"start":{"line":246,"column":6},"end":{"line":246,"column":36}},"168":{"start":{"line":248,"column":4},"end":{"line":248,"column":26}},"169":{"start":{"line":253,"column":4},"end":{"line":253,"column":81}},"170":{"start":{"line":254,"column":4},"end":{"line":266,"column":3}},"171":{"start":{"line":255,"column":6},"end":{"line":255,"column":28}},"172":{"start":{"line":256,"column":6},"end":{"line":265,"column":21}},"173":{"start":{"line":257,"column":8},"end":{"line":257,"column":20}},"174":{"start":{"line":258,"column":11},"end":{"line":265,"column":21}},"175":{"start":{"line":259,"column":8},"end":{"line":259,"column":19}},"176":{"start":{"line":260,"column":11},"end":{"line":265,"column":21}},"177":{"start":{"line":261,"column":8},"end":{"line":261,"column":19}},"178":{"start":{"line":262,"column":11},"end":{"line":265,"column":21}},"179":{"start":{"line":263,"column":8},"end":{"line":263,"column":21}},"180":{"start":{"line":265,"column":8},"end":{"line":265,"column":21}},"181":{"start":{"line":266,"column":4},"end":{"line":266,"column":8}},"182":{"start":{"line":267,"column":4},"end":{"line":267,"column":20}},"183":{"start":{"line":267,"column":4},"end":{"line":267,"column":10}},"184":{"start":{"line":268,"column":4},"end":{"line":268,"column":19}},"185":{"start":{"line":268,"column":4},"end":{"line":268,"column":10}},"186":{"start":{"line":269,"column":4},"end":{"line":269,"column":19}},"187":{"start":{"line":269,"column":4},"end":{"line":269,"column":10}},"188":{"start":{"line":270,"column":4},"end":{"line":270,"column":21}},"189":{"start":{"line":270,"column":4},"end":{"line":270,"column":10}},"190":{"start":{"line":271,"column":4},"end":{"line":271,"column":22}},"191":{"start":{"line":271,"column":4},"end":{"line":271,"column":11}},"192":{"start":{"line":272,"column":4},"end":{"line":272,"column":4}},"193":{"start":{"line":275,"column":4},"end":{"line":275,"column":14}},"194":{"start":{"line":276,"column":4},"end":{"line":276,"column":21}},"195":{"start":{"line":277,"column":4},"end":{"line":277,"column":18}},"196":{"start":{"line":278,"column":4},"end":{"line":278,"column":19}},"197":{"start":{"line":279,"column":4},"end":{"line":279,"column":20}},"198":{"start":{"line":280,"column":4},"end":{"line":280,"column":23}},"199":{"start":{"line":281,"column":4},"end":{"line":294,"column":16}},"200":{"start":{"line":282,"column":6},"end":{"line":282,"column":14}},"201":{"start":{"line":283,"column":9},"end":{"line":294,"column":16}},"202":{"start":{"line":284,"column":6},"end":{"line":284,"column":49}},"203":{"start":{"line":284,"column":8},"end":{"line":284,"column":49}},"204":{"start":{"line":284,"column":9},"end":{"line":284,"column":39}},"205":{"start":{"line":285,"column":9},"end":{"line":294,"column":16}},"206":{"start":{"line":286,"column":6},"end":{"line":286,"column":45}},"207":{"start":{"line":286,"column":8},"end":{"line":286,"column":45}},"208":{"start":{"line":286,"column":9},"end":{"line":286,"column":37}},"209":{"start":{"line":287,"column":9},"end":{"line":294,"column":16}},"210":{"start":{"line":288,"column":6},"end":{"line":288,"column":43}},"211":{"start":{"line":288,"column":8},"end":{"line":288,"column":43}},"212":{"start":{"line":288,"column":9},"end":{"line":288,"column":36}},"213":{"start":{"line":289,"column":9},"end":{"line":294,"column":16}},"214":{"start":{"line":290,"column":6},"end":{"line":290,"column":47}},"215":{"start":{"line":290,"column":8},"end":{"line":290,"column":47}},"216":{"start":{"line":290,"column":9},"end":{"line":290,"column":38}},"217":{"start":{"line":291,"column":9},"end":{"line":294,"column":16}},"218":{"start":{"line":292,"column":6},"end":{"line":292,"column":45}},"219":{"start":{"line":292,"column":8},"end":{"line":292,"column":45}},"220":{"start":{"line":292,"column":9},"end":{"line":292,"column":37}},"221":{"start":{"line":294,"column":6},"end":{"line":294,"column":16}},"222":{"start":{"line":296,"column":0},"end":{"line":296,"column":23}}},"branchMap":{"1":{"line":22,"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":22,"column":4}},{"start":{"line":22,"column":4},"end":{"line":22,"column":4}}]},"2":{"line":23,"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":23,"column":4}},{"start":{"line":23,"column":4},"end":{"line":23,"column":4}}]},"3":{"line":56,"type":"if","locations":[{"start":{"line":56,"column":8},"end":{"line":56,"column":8}},{"start":{"line":56,"column":8},"end":{"line":56,"column":8}}]},"4":{"line":65,"type":"if","locations":[{"start":{"line":65,"column":6},"end":{"line":65,"column":6}},{"start":{"line":65,"column":6},"end":{"line":65,"column":6}}]},"5":{"line":86,"type":"if","locations":[{"start":{"line":86,"column":6},"end":{"line":86,"column":6}},{"start":{"line":86,"column":6},"end":{"line":86,"column":6}}]},"6":{"line":90,"type":"if","locations":[{"start":{"line":90,"column":4},"end":{"line":90,"column":4}},{"start":{"line":90,"column":4},"end":{"line":90,"column":4}}]},"7":{"line":128,"type":"if","locations":[{"start":{"line":128,"column":4},"end":{"line":128,"column":4}},{"start":{"line":128,"column":4},"end":{"line":128,"column":4}}]},"8":{"line":129,"type":"if","locations":[{"start":{"line":129,"column":4},"end":{"line":129,"column":4}},{"start":{"line":129,"column":4},"end":{"line":129,"column":4}}]},"9":{"line":130,"type":"if","locations":[{"start":{"line":130,"column":4},"end":{"line":130,"column":4}},{"start":{"line":130,"column":4},"end":{"line":130,"column":4}}]},"10":{"line":131,"type":"if","locations":[{"start":{"line":131,"column":4},"end":{"line":131,"column":4}},{"start":{"line":131,"column":4},"end":{"line":131,"column":4}}]},"11":{"line":139,"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":139,"column":4}},{"start":{"line":139,"column":4},"end":{"line":139,"column":4}}]},"12":{"line":140,"type":"switch","locations":[{"start":{"line":141,"column":6},"end":{"line":141,"column":43}},{"start":{"line":142,"column":6},"end":{"line":142,"column":45}},{"start":{"line":143,"column":6},"end":{"line":143,"column":43}},{"start":{"line":144,"column":6},"end":{"line":144,"column":41}},{"start":{"line":145,"column":6},"end":{"line":145,"column":41}},{"start":{"line":146,"column":6},"end":{"line":146,"column":44}},{"start":{"line":147,"column":6},"end":{"line":147,"column":47}}]},"13":{"line":156,"type":"if","locations":[{"start":{"line":156,"column":4},"end":{"line":156,"column":4}},{"start":{"line":156,"column":4},"end":{"line":156,"column":4}}]},"14":{"line":159,"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":159,"column":6}},{"start":{"line":159,"column":6},"end":{"line":159,"column":6}}]},"15":{"line":161,"type":"if","locations":[{"start":{"line":161,"column":11},"end":{"line":161,"column":11}},{"start":{"line":161,"column":11},"end":{"line":161,"column":11}}]},"16":{"line":165,"type":"if","locations":[{"start":{"line":165,"column":4},"end":{"line":165,"column":4}},{"start":{"line":165,"column":4},"end":{"line":165,"column":4}}]},"17":{"line":178,"type":"if","locations":[{"start":{"line":178,"column":4},"end":{"line":178,"column":4}},{"start":{"line":178,"column":4},"end":{"line":178,"column":4}}]},"18":{"line":182,"type":"if","locations":[{"start":{"line":182,"column":4},"end":{"line":182,"column":4}},{"start":{"line":182,"column":4},"end":{"line":182,"column":4}}]},"19":{"line":187,"type":"if","locations":[{"start":{"line":187,"column":4},"end":{"line":187,"column":4}},{"start":{"line":187,"column":4},"end":{"line":187,"column":4}}]},"20":{"line":204,"type":"if","locations":[{"start":{"line":204,"column":4},"end":{"line":204,"column":4}},{"start":{"line":204,"column":4},"end":{"line":204,"column":4}}]},"21":{"line":225,"type":"if","locations":[{"start":{"line":225,"column":4},"end":{"line":225,"column":4}},{"start":{"line":225,"column":4},"end":{"line":225,"column":4}}]},"22":{"line":230,"type":"if","locations":[{"start":{"line":230,"column":6},"end":{"line":230,"column":6}},{"start":{"line":230,"column":6},"end":{"line":230,"column":6}}]},"23":{"line":241,"type":"if","locations":[{"start":{"line":241,"column":4},"end":{"line":241,"column":4}},{"start":{"line":241,"column":4},"end":{"line":241,"column":4}}]},"24":{"line":256,"type":"if","locations":[{"start":{"line":256,"column":6},"end":{"line":256,"column":6}},{"start":{"line":256,"column":6},"end":{"line":256,"column":6}}]},"25":{"line":258,"type":"if","locations":[{"start":{"line":258,"column":11},"end":{"line":258,"column":11}},{"start":{"line":258,"column":11},"end":{"line":258,"column":11}}]},"26":{"line":260,"type":"if","locations":[{"start":{"line":260,"column":11},"end":{"line":260,"column":11}},{"start":{"line":260,"column":11},"end":{"line":260,"column":11}}]},"27":{"line":262,"type":"if","locations":[{"start":{"line":262,"column":11},"end":{"line":262,"column":11}},{"start":{"line":262,"column":11},"end":{"line":262,"column":11}}]},"28":{"line":267,"type":"if","locations":[{"start":{"line":267,"column":4},"end":{"line":267,"column":4}},{"start":{"line":267,"column":4},"end":{"line":267,"column":4}}]},"29":{"line":268,"type":"if","locations":[{"start":{"line":268,"column":4},"end":{"line":268,"column":4}},{"start":{"line":268,"column":4},"end":{"line":268,"column":4}}]},"30":{"line":269,"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":269,"column":4}},{"start":{"line":269,"column":4},"end":{"line":269,"column":4}}]},"31":{"line":270,"type":"if","locations":[{"start":{"line":270,"column":4},"end":{"line":270,"column":4}},{"start":{"line":270,"column":4},"end":{"line":270,"column":4}}]},"32":{"line":271,"type":"if","locations":[{"start":{"line":271,"column":4},"end":{"line":271,"column":4}},{"start":{"line":271,"column":4},"end":{"line":271,"column":4}}]},"33":{"line":281,"type":"if","locations":[{"start":{"line":281,"column":4},"end":{"line":281,"column":4}},{"start":{"line":281,"column":4},"end":{"line":281,"column":4}}]},"34":{"line":283,"type":"if","locations":[{"start":{"line":283,"column":9},"end":{"line":283,"column":9}},{"start":{"line":283,"column":9},"end":{"line":283,"column":9}}]},"35":{"line":285,"type":"if","locations":[{"start":{"line":285,"column":9},"end":{"line":285,"column":9}},{"start":{"line":285,"column":9},"end":{"line":285,"column":9}}]},"36":{"line":287,"type":"if","locations":[{"start":{"line":287,"column":9},"end":{"line":287,"column":9}},{"start":{"line":287,"column":9},"end":{"line":287,"column":9}}]},"37":{"line":289,"type":"if","locations":[{"start":{"line":289,"column":9},"end":{"line":289,"column":9}},{"start":{"line":289,"column":9},"end":{"line":289,"column":9}}]},"38":{"line":291,"type":"if","locations":[{"start":{"line":291,"column":9},"end":{"line":291,"column":9}},{"start":{"line":291,"column":9},"end":{"line":291,"column":9}}]}}} }(function() { var KEYBOARD_AVERAGE_DEGREE, KEYBOARD_STARTING_POSITIONS, KEYPAD_AVERAGE_DEGREE, KEYPAD_STARTING_POSITIONS, adjacency_graphs, calc_average_degree, k, scoring, v; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[1]++; adjacency_graphs = require('./adjacency_graphs'); _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[2]++; calc_average_degree = function(graph) { var average, k, key, n, neighbors, v; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[1]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[3]++; average = 0; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[4]++; for (key in graph) { neighbors = graph[key]; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[5]++; average += ((function() { var l, len, results; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[6]++; results = []; for (l = 0, len = neighbors.length; l < len; l++) { n = neighbors[l]; if (!(n)) { continue; } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[7]++; results.push(n); } return results; })()).length; } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[8]++; average /= ((function() { var results; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[9]++; results = []; for (k in graph) { v = graph[k]; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[10]++; results.push(k); } return results; })()).length; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[11]++; return average; }; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[12]++; KEYBOARD_AVERAGE_DEGREE = calc_average_degree(adjacency_graphs.qwerty); _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[13]++; KEYPAD_AVERAGE_DEGREE = calc_average_degree(adjacency_graphs.keypad); _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[14]++; KEYBOARD_STARTING_POSITIONS = ((function() { var ref, results; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[15]++; ref = adjacency_graphs.qwerty; results = []; for (k in ref) { v = ref[k]; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[16]++; results.push(k); } return results; })()).length; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[17]++; KEYPAD_STARTING_POSITIONS = ((function() { var ref, results; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[18]++; ref = adjacency_graphs.keypad; results = []; for (k in ref) { v = ref[k]; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[19]++; results.push(k); } return results; })()).length; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[20]++; scoring = { nCk: function(n, k) { var d, l, r, ref; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[2]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[21]++; if (k > n) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[1][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[22]++; return 0; } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[1][1]++; void 0; } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[23]++; if (k === 0) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[2][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[24]++; return 1; } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[2][1]++; void 0; } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[25]++; r = 1; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[26]++; for (d = l = 1, ref = k; 1 <= ref ? l <= ref : l >= ref; d = 1 <= ref ? ++l : --l) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[27]++; r *= n; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[28]++; r /= d; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[29]++; n -= 1; } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[30]++; return r; }, lg: function(n) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[3]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[31]++; return Math.log(n) / Math.log(2); }, minimum_entropy_match_sequence: function(password, matches) { var backpointers, bruteforce_cardinality, candidate_entropy, crack_time, i, j, l, len, len1, m, make_bruteforce_match, match, match_sequence, match_sequence_copy, min_entropy, o, ref, ref1, ref2, up_to_k; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[4]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[32]++; bruteforce_cardinality = this.calc_bruteforce_cardinality(password); _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[33]++; up_to_k = []; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[34]++; backpointers = []; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[35]++; for (k = l = 0, ref = password.length; 0 <= ref ? l < ref : l > ref; k = 0 <= ref ? ++l : --l) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[36]++; up_to_k[k] = (_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[37]++, up_to_k[k - 1] || 0) + this.lg(bruteforce_cardinality); _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[38]++; backpointers[k] = null; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[39]++; for (m = 0, len = matches.length; m < len; m++) { match = matches[m]; if (!(match.j === k)) { continue; } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[40]++; ref1 = [match.i, match.j], i = ref1[0], j = ref1[1]; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[41]++; candidate_entropy = (_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[42]++, up_to_k[i - 1] || 0) + this.calc_entropy(match); _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[43]++; if (candidate_entropy < up_to_k[j]) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[3][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[44]++; up_to_k[j] = candidate_entropy; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[45]++; backpointers[j] = match; } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[3][1]++; void 0; } } } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[46]++; match_sequence = []; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[47]++; k = password.length - 1; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[48]++; while (k >= 0) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[49]++; match = backpointers[k]; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[50]++; if (match) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[4][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[51]++; match_sequence.push(match); _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[52]++; k = match.i - 1; } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[4][1]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[53]++; k -= 1; } } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[54]++; match_sequence.reverse(); _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[55]++; make_bruteforce_match = (function(_this) { return function(i, j) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[5]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[56]++; return { pattern: 'bruteforce', i: i, j: j, token: password.slice(i, +j + 1 || 9e9), entropy: _this.lg(Math.pow(bruteforce_cardinality, j - i + 1)), cardinality: bruteforce_cardinality }; }; })(this); _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[57]++; k = 0; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[58]++; match_sequence_copy = []; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[59]++; for (o = 0, len1 = match_sequence.length; o < len1; o++) { match = match_sequence[o]; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[60]++; ref2 = [match.i, match.j], i = ref2[0], j = ref2[1]; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[61]++; if (i - k > 0) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[5][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[62]++; match_sequence_copy.push(make_bruteforce_match(k, i - 1)); } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[5][1]++; void 0; } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[63]++; k = j + 1; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[64]++; match_sequence_copy.push(match); } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[65]++; if (k < password.length) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[6][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[66]++; match_sequence_copy.push(make_bruteforce_match(k, password.length - 1)); } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[6][1]++; void 0; } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[67]++; match_sequence = match_sequence_copy; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[68]++; min_entropy = up_to_k[password.length - 1] || 0; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[69]++; crack_time = this.entropy_to_crack_time(min_entropy); _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[70]++; return { password: password, entropy: this.round_to_x_digits(min_entropy, 3), match_sequence: match_sequence, crack_time: this.round_to_x_digits(crack_time, 3), crack_time_display: this.display_time(crack_time), score: this.crack_time_to_score(crack_time) }; }, round_to_x_digits: function(n, x) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[6]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[71]++; return Math.round(n * Math.pow(10, x)) / Math.pow(10, x); }, SECONDS_PER_GUESS: .010 / 100, entropy_to_crack_time: function(entropy) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[7]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[72]++; return .5 * Math.pow(2, entropy) * this.SECONDS_PER_GUESS; }, crack_time_to_score: function(seconds) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[8]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[73]++; if (seconds < Math.pow(10, 2)) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[7][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[74]++; return 0; } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[7][1]++; void 0; } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[75]++; if (seconds < Math.pow(10, 4)) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[8][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[76]++; return 1; } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[8][1]++; void 0; } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[77]++; if (seconds < Math.pow(10, 6)) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[9][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[78]++; return 2; } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[9][1]++; void 0; } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[79]++; if (seconds < Math.pow(10, 8)) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[10][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[80]++; return 3; } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[10][1]++; void 0; } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[81]++; return 4; }, calc_entropy: function(match) { var entropy_func; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[9]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[82]++; if (match.entropy != null) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[11][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[83]++; return match.entropy; } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[11][1]++; void 0; } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[84]++; entropy_func = (function() { switch (match.pattern) { case 'repeat': _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[12][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[85]++; return this.repeat_entropy; case 'sequence': _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[12][1]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[86]++; return this.sequence_entropy; case 'digits': _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[12][2]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[87]++; return this.digits_entropy; case 'year': _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[12][3]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[88]++; return this.year_entropy; case 'date': _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[12][4]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[89]++; return this.date_entropy; case 'spatial': _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[12][5]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[90]++; return this.spatial_entropy; case 'dictionary': _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[12][6]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[91]++; return this.dictionary_entropy; } }).call(this); _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[92]++; return match.entropy = entropy_func.call(this, match); }, repeat_entropy: function(match) { var cardinality; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[10]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[93]++; cardinality = this.calc_bruteforce_cardinality(match.token); _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[94]++; return this.lg((_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[95]++, cardinality * match.token.length)); }, sequence_entropy: function(match) { var base_entropy, first_chr; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[11]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[96]++; first_chr = match.token.charAt(0); _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[97]++; if (first_chr === 'a' || first_chr === '1') { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[13][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[98]++; base_entropy = 1; } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[13][1]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[99]++; if (first_chr.match(/\d/)) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[14][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[100]++; base_entropy = this.lg(10); } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[14][1]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[101]++; if (first_chr.match(/[a-z]/)) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[15][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[102]++; base_entropy = this.lg(26); } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[15][1]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[103]++; base_entropy = this.lg(26) + 1; } } } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[104]++; if (!match.ascending) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[16][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[105]++; base_entropy += 1; } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[16][1]++; void 0; } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[106]++; return base_entropy + this.lg(match.token.length); }, digits_entropy: function(match) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[12]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[107]++; return this.lg(Math.pow(10, match.token.length)); }, NUM_YEARS: 119, NUM_MONTHS: 12, NUM_DAYS: 31, year_entropy: function(match) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[13]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[108]++; return this.lg(this.NUM_YEARS); }, date_entropy: function(match) { var entropy; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[14]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[109]++; if (match.year < 100) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[17][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[110]++; entropy = this.lg(this.NUM_DAYS * this.NUM_MONTHS * 100); } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[17][1]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[111]++; entropy = this.lg(this.NUM_DAYS * this.NUM_MONTHS * this.NUM_YEARS); } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[112]++; if (match.separator) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[18][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[113]++; entropy += 2; } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[18][1]++; void 0; } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[114]++; return entropy; }, spatial_entropy: function(match) { var L, S, U, d, entropy, i, j, l, m, o, possibilities, possible_turns, ref, ref1, ref2, ref3, s, t; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[15]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[115]++; if ((ref = match.graph) === 'qwerty' || ref === 'dvorak') { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[19][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[116]++; s = KEYBOARD_STARTING_POSITIONS; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[117]++; d = KEYBOARD_AVERAGE_DEGREE; } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[19][1]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[118]++; s = KEYPAD_STARTING_POSITIONS; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[119]++; d = KEYPAD_AVERAGE_DEGREE; } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[120]++; possibilities = 0; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[121]++; L = match.token.length; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[122]++; t = match.turns; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[123]++; for (i = l = 2, ref1 = L; 2 <= ref1 ? l <= ref1 : l >= ref1; i = 2 <= ref1 ? ++l : --l) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[124]++; possible_turns = Math.min(t, i - 1); _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[125]++; for (j = m = 1, ref2 = possible_turns; 1 <= ref2 ? m <= ref2 : m >= ref2; j = 1 <= ref2 ? ++m : --m) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[126]++; possibilities += this.nCk(i - 1, j - 1) * s * Math.pow(d, j); } } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[127]++; entropy = this.lg(possibilities); _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[128]++; if (match.shifted_count) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[20][0]++; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[129]++; S = match.shifted_count; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[130]++; U = match.token.length - match.shifted_count; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[131]++; possibilities = 0; _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[132]++; for (i = o = 0, ref3 = Math.min(S, U); 0 <= ref3 ? o <= ref3 : o >= ref3; i = 0 <= ref3 ? ++o : --o) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[133]++; possibilities += this.nCk(S + U, i); } _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[134]++; entropy += this.lg(possibilities); } else { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[20][1]++; void 0; } _$jscoverage["/Users/