zxcvbn
Version:
realistic password strength estimation
440 lines (424 loc) • 80.1 kB
JavaScript
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/matching.coffee"]) { _$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"] = {"path":"/Users/dan/zxcvbn/src/matching.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,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":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],"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,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[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,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0},"fnMap":{"1":{"name":"build_ranked_dict","line":4,"loc":{"start":{"line":4,"column":0},"end":{"line":4,"column":36}}},"2":{"name":"empty","line":45,"loc":{"start":{"line":45,"column":2},"end":{"line":45,"column":16}}},"3":{"name":"extend","line":46,"loc":{"start":{"line":46,"column":2},"end":{"line":46,"column":23}}},"4":{"name":"translate","line":47,"loc":{"start":{"line":47,"column":2},"end":{"line":47,"column":32}}},"5":{"name":"mod","line":48,"loc":{"start":{"line":48,"column":2},"end":{"line":48,"column":15}}},"6":{"name":"sorted","line":49,"loc":{"start":{"line":49,"column":2},"end":{"line":49,"column":21}}},"7":{"name":"(anonymous_1)","line":50,"loc":{"start":{"line":50,"column":17},"end":{"line":50,"column":27}}},"8":{"name":"omnimatch","line":57,"loc":{"start":{"line":57,"column":2},"end":{"line":57,"column":25}}},"9":{"name":"dictionary_match","line":77,"loc":{"start":{"line":77,"column":2},"end":{"line":77,"column":76}}},"10":{"name":"set_user_input_dictionary","line":98,"loc":{"start":{"line":98,"column":2},"end":{"line":98,"column":45}}},"11":{"name":"relevant_l33t_subtable","line":106,"loc":{"start":{"line":106,"column":2},"end":{"line":106,"column":45}}},"12":{"name":"enumerate_l33t_subs","line":118,"loc":{"start":{"line":118,"column":2},"end":{"line":118,"column":32}}},"13":{"name":"dedup","line":122,"loc":{"start":{"line":122,"column":4},"end":{"line":122,"column":20}}},"14":{"name":"helper","line":134,"loc":{"start":{"line":134,"column":4},"end":{"line":134,"column":21}}},"15":{"name":"l33t_match","line":167,"loc":{"start":{"line":167,"column":2},"end":{"line":167,"column":96}}},"16":{"name":"spatial_match","line":190,"loc":{"start":{"line":190,"column":2},"end":{"line":190,"column":29}}},"17":{"name":"spatial_match_helper","line":196,"loc":{"start":{"line":196,"column":2},"end":{"line":196,"column":55}}},"18":{"name":"repeat_match","line":253,"loc":{"start":{"line":253,"column":2},"end":{"line":253,"column":28}}},"19":{"name":"sequence_match","line":276,"loc":{"start":{"line":276,"column":2},"end":{"line":276,"column":30}}},"20":{"name":"repeat","line":312,"loc":{"start":{"line":312,"column":2},"end":{"line":312,"column":20}}},"21":{"name":"findall","line":314,"loc":{"start":{"line":314,"column":2},"end":{"line":314,"column":27}}},"22":{"name":"digits_match","line":326,"loc":{"start":{"line":326,"column":2},"end":{"line":326,"column":28}}},"23":{"name":"year_match","line":336,"loc":{"start":{"line":336,"column":2},"end":{"line":336,"column":26}}},"24":{"name":"date_match","line":344,"loc":{"start":{"line":344,"column":2},"end":{"line":344,"column":26}}},"25":{"name":"date_without_sep_match","line":348,"loc":{"start":{"line":348,"column":2},"end":{"line":348,"column":38}}},"26":{"name":"date_sep_match","line":441,"loc":{"start":{"line":441,"column":2},"end":{"line":441,"column":30}}},"27":{"name":"check_date","line":463,"loc":{"start":{"line":463,"column":2},"end":{"line":463,"column":34}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":45}},"2":{"start":{"line":2,"column":0},"end":{"line":2,"column":47}},"3":{"start":{"line":4,"column":0},"end":{"line":11,"column":0}},"4":{"start":{"line":5,"column":2},"end":{"line":5,"column":12}},"5":{"start":{"line":6,"column":2},"end":{"line":6,"column":6}},"6":{"start":{"line":7,"column":2},"end":{"line":10,"column":1}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":19}},"8":{"start":{"line":9,"column":4},"end":{"line":9,"column":9}},"9":{"start":{"line":10,"column":2},"end":{"line":10,"column":7}},"10":{"start":{"line":12,"column":0},"end":{"line":18,"column":0}},"11":{"start":{"line":19,"column":0},"end":{"line":24,"column":0}},"12":{"start":{"line":25,"column":0},"end":{"line":29,"column":0}},"13":{"start":{"line":30,"column":0},"end":{"line":43,"column":0}},"14":{"start":{"line":44,"column":0},"end":{"line":471,"column":0}},"15":{"start":{"line":45,"column":18},"end":{"line":45,"column":45}},"16":{"start":{"line":45,"column":19},"end":{"line":45,"column":32}},"17":{"start":{"line":45,"column":19},"end":{"line":45,"column":19}},"18":{"start":{"line":46,"column":25},"end":{"line":46,"column":48}},"19":{"start":{"line":47,"column":34},"end":{"line":47,"column":91}},"20":{"start":{"line":47,"column":35},"end":{"line":47,"column":81}},"21":{"start":{"line":47,"column":35},"end":{"line":47,"column":53}},"22":{"start":{"line":48,"column":17},"end":{"line":48,"column":33}},"23":{"start":{"line":48,"column":18},"end":{"line":48,"column":28}},"24":{"start":{"line":48,"column":19},"end":{"line":48,"column":23}},"25":{"start":{"line":50,"column":4},"end":{"line":57,"column":1}},"26":{"start":{"line":51,"column":6},"end":{"line":51,"column":35}},"27":{"start":{"line":51,"column":7},"end":{"line":51,"column":17}},"28":{"start":{"line":51,"column":24},"end":{"line":51,"column":34}},"29":{"start":{"line":58,"column":4},"end":{"line":58,"column":15}},"30":{"start":{"line":59,"column":4},"end":{"line":68,"column":4}},"31":{"start":{"line":69,"column":4},"end":{"line":71,"column":3}},"32":{"start":{"line":70,"column":6},"end":{"line":70,"column":50}},"33":{"start":{"line":71,"column":4},"end":{"line":71,"column":18}},"34":{"start":{"line":79,"column":4},"end":{"line":79,"column":15}},"35":{"start":{"line":80,"column":4},"end":{"line":80,"column":24}},"36":{"start":{"line":81,"column":4},"end":{"line":81,"column":42}},"37":{"start":{"line":82,"column":4},"end":{"line":96,"column":3}},"38":{"start":{"line":83,"column":6},"end":{"line":96,"column":3}},"39":{"start":{"line":84,"column":8},"end":{"line":96,"column":3}},"40":{"start":{"line":85,"column":10},"end":{"line":96,"column":3}},"41":{"start":{"line":86,"column":12},"end":{"line":86,"column":38}},"42":{"start":{"line":87,"column":12},"end":{"line":87,"column":35}},"43":{"start":{"line":88,"column":12},"end":{"line":96,"column":3}},"44":{"start":{"line":96,"column":4},"end":{"line":96,"column":18}},"45":{"start":{"line":99,"column":4},"end":{"line":99,"column":78}},"46":{"start":{"line":107,"column":4},"end":{"line":107,"column":22}},"47":{"start":{"line":108,"column":4},"end":{"line":110,"column":3}},"48":{"start":{"line":109,"column":6},"end":{"line":109,"column":31}},"49":{"start":{"line":110,"column":4},"end":{"line":110,"column":16}},"50":{"start":{"line":111,"column":4},"end":{"line":115,"column":3}},"51":{"start":{"line":112,"column":6},"end":{"line":112,"column":69}},"52":{"start":{"line":112,"column":23},"end":{"line":112,"column":68}},"53":{"start":{"line":112,"column":23},"end":{"line":112,"column":25}},"54":{"start":{"line":113,"column":6},"end":{"line":115,"column":3}},"55":{"start":{"line":114,"column":8},"end":{"line":114,"column":39}},"56":{"start":{"line":115,"column":4},"end":{"line":115,"column":11}},"57":{"start":{"line":119,"column":4},"end":{"line":119,"column":28}},"58":{"start":{"line":119,"column":12},"end":{"line":119,"column":27}},"59":{"start":{"line":119,"column":12},"end":{"line":119,"column":12}},"60":{"start":{"line":120,"column":4},"end":{"line":120,"column":14}},"61":{"start":{"line":122,"column":4},"end":{"line":134,"column":3}},"62":{"start":{"line":123,"column":6},"end":{"line":123,"column":17}},"63":{"start":{"line":124,"column":6},"end":{"line":124,"column":17}},"64":{"start":{"line":125,"column":6},"end":{"line":132,"column":5}},"65":{"start":{"line":126,"column":8},"end":{"line":126,"column":37}},"66":{"start":{"line":126,"column":17},"end":{"line":126,"column":36}},"67":{"start":{"line":126,"column":17},"end":{"line":126,"column":21}},"68":{"start":{"line":127,"column":8},"end":{"line":127,"column":19}},"69":{"start":{"line":128,"column":8},"end":{"line":128,"column":51}},"70":{"start":{"line":128,"column":17},"end":{"line":128,"column":40}},"71":{"start":{"line":128,"column":17},"end":{"line":128,"column":23}},"72":{"start":{"line":129,"column":8},"end":{"line":132,"column":5}},"73":{"start":{"line":130,"column":10},"end":{"line":130,"column":30}},"74":{"start":{"line":131,"column":10},"end":{"line":131,"column":25}},"75":{"start":{"line":132,"column":6},"end":{"line":132,"column":12}},"76":{"start":{"line":134,"column":4},"end":{"line":158,"column":3}},"77":{"start":{"line":135,"column":6},"end":{"line":135,"column":30}},"78":{"start":{"line":135,"column":6},"end":{"line":135,"column":11}},"79":{"start":{"line":136,"column":6},"end":{"line":136,"column":24}},"80":{"start":{"line":137,"column":6},"end":{"line":137,"column":26}},"81":{"start":{"line":138,"column":6},"end":{"line":138,"column":19}},"82":{"start":{"line":139,"column":6},"end":{"line":155,"column":5}},"83":{"start":{"line":140,"column":8},"end":{"line":155,"column":5}},"84":{"start":{"line":141,"column":10},"end":{"line":141,"column":28}},"85":{"start":{"line":142,"column":10},"end":{"line":146,"column":9}},"86":{"start":{"line":143,"column":12},"end":{"line":146,"column":9}},"87":{"start":{"line":144,"column":14},"end":{"line":144,"column":31}},"88":{"start":{"line":145,"column":14},"end":{"line":145,"column":18}},"89":{"start":{"line":146,"column":10},"end":{"line":150,"column":41}},"90":{"start":{"line":147,"column":12},"end":{"line":147,"column":61}},"91":{"start":{"line":148,"column":12},"end":{"line":148,"column":39}},"92":{"start":{"line":150,"column":12},"end":{"line":150,"column":41}},"93":{"start":{"line":151,"column":12},"end":{"line":151,"column":52}},"94":{"start":{"line":152,"column":12},"end":{"line":152,"column":53}},"95":{"start":{"line":153,"column":12},"end":{"line":153,"column":29}},"96":{"start":{"line":154,"column":12},"end":{"line":154,"column":41}},"97":{"start":{"line":155,"column":6},"end":{"line":155,"column":27}},"98":{"start":{"line":156,"column":6},"end":{"line":156,"column":22}},"99":{"start":{"line":158,"column":4},"end":{"line":158,"column":15}},"100":{"start":{"line":159,"column":4},"end":{"line":159,"column":17}},"101":{"start":{"line":160,"column":4},"end":{"line":165,"column":3}},"102":{"start":{"line":161,"column":6},"end":{"line":161,"column":18}},"103":{"start":{"line":162,"column":6},"end":{"line":164,"column":5}},"104":{"start":{"line":163,"column":8},"end":{"line":163,"column":31}},"105":{"start":{"line":164,"column":6},"end":{"line":164,"column":28}},"106":{"start":{"line":165,"column":4},"end":{"line":165,"column":12}},"107":{"start":{"line":168,"column":4},"end":{"line":168,"column":15}},"108":{"start":{"line":169,"column":4},"end":{"line":184,"column":3}},"109":{"start":{"line":170,"column":6},"end":{"line":170,"column":24}},"110":{"start":{"line":170,"column":6},"end":{"line":170,"column":10}},"111":{"start":{"line":171,"column":6},"end":{"line":171,"column":47}},"112":{"start":{"line":172,"column":6},"end":{"line":184,"column":3}},"113":{"start":{"line":173,"column":8},"end":{"line":173,"column":41}},"114":{"start":{"line":174,"column":8},"end":{"line":176,"column":7}},"115":{"start":{"line":175,"column":10},"end":{"line":175,"column":17}},"116":{"start":{"line":176,"column":8},"end":{"line":176,"column":21}},"117":{"start":{"line":177,"column":8},"end":{"line":179,"column":7}},"118":{"start":{"line":178,"column":10},"end":{"line":178,"column":36}},"119":{"start":{"line":179,"column":8},"end":{"line":179,"column":24}},"120":{"start":{"line":180,"column":8},"end":{"line":180,"column":26}},"121":{"start":{"line":181,"column":8},"end":{"line":181,"column":28}},"122":{"start":{"line":182,"column":8},"end":{"line":182,"column":75}},"123":{"start":{"line":182,"column":29},"end":{"line":182,"column":63}},"124":{"start":{"line":182,"column":29},"end":{"line":182,"column":42}},"125":{"start":{"line":182,"column":31},"end":{"line":182,"column":41}},"126":{"start":{"line":182,"column":32},"end":{"line":182,"column":32}},"127":{"start":{"line":182,"column":40},"end":{"line":182,"column":40}},"128":{"start":{"line":183,"column":8},"end":{"line":183,"column":25}},"129":{"start":{"line":184,"column":4},"end":{"line":184,"column":18}},"130":{"start":{"line":191,"column":4},"end":{"line":191,"column":15}},"131":{"start":{"line":192,"column":4},"end":{"line":194,"column":3}},"132":{"start":{"line":193,"column":6},"end":{"line":193,"column":72}},"133":{"start":{"line":194,"column":4},"end":{"line":194,"column":18}},"134":{"start":{"line":197,"column":4},"end":{"line":197,"column":15}},"135":{"start":{"line":198,"column":4},"end":{"line":198,"column":8}},"136":{"start":{"line":199,"column":4},"end":{"line":199,"column":32}},"137":{"start":{"line":200,"column":6},"end":{"line":200,"column":14}},"138":{"start":{"line":201,"column":6},"end":{"line":201,"column":26}},"139":{"start":{"line":202,"column":6},"end":{"line":202,"column":14}},"140":{"start":{"line":203,"column":6},"end":{"line":203,"column":22}},"141":{"start":{"line":204,"column":6},"end":{"line":247,"column":3}},"142":{"start":{"line":205,"column":8},"end":{"line":205,"column":39}},"143":{"start":{"line":206,"column":8},"end":{"line":206,"column":20}},"144":{"start":{"line":207,"column":8},"end":{"line":207,"column":27}},"145":{"start":{"line":208,"column":8},"end":{"line":208,"column":25}},"146":{"start":{"line":209,"column":8},"end":{"line":209,"column":41}},"147":{"start":{"line":211,"column":8},"end":{"line":231,"column":7}},"148":{"start":{"line":212,"column":10},"end":{"line":212,"column":38}},"149":{"start":{"line":213,"column":10},"end":{"line":231,"column":7}},"150":{"start":{"line":214,"column":12},"end":{"line":214,"column":29}},"151":{"start":{"line":215,"column":12},"end":{"line":231,"column":7}},"152":{"start":{"line":216,"column":14},"end":{"line":216,"column":25}},"153":{"start":{"line":217,"column":14},"end":{"line":217,"column":44}},"154":{"start":{"line":218,"column":14},"end":{"line":224,"column":13}},"155":{"start":{"line":223,"column":16},"end":{"line":223,"column":33}},"156":{"start":{"line":224,"column":14},"end":{"line":229,"column":13}},"157":{"start":{"line":227,"column":16},"end":{"line":227,"column":25}},"158":{"start":{"line":228,"column":16},"end":{"line":228,"column":47}},"159":{"start":{"line":229,"column":14},"end":{"line":229,"column":18}},"160":{"start":{"line":231,"column":8},"end":{"line":245,"column":9}},"161":{"start":{"line":232,"column":10},"end":{"line":232,"column":15}},"162":{"start":{"line":235,"column":10},"end":{"line":245,"column":9}},"163":{"start":{"line":236,"column":12},"end":{"line":245,"column":9}},"164":{"start":{"line":245,"column":10},"end":{"line":245,"column":14}},"165":{"start":{"line":246,"column":10},"end":{"line":246,"column":14}},"166":{"start":{"line":247,"column":4},"end":{"line":247,"column":10}},"167":{"start":{"line":254,"column":4},"end":{"line":254,"column":24}},"168":{"start":{"line":255,"column":4},"end":{"line":255,"column":15}},"169":{"start":{"line":256,"column":4},"end":{"line":256,"column":8}},"170":{"start":{"line":257,"column":4},"end":{"line":257,"column":28}},"171":{"start":{"line":258,"column":6},"end":{"line":258,"column":14}},"172":{"start":{"line":259,"column":6},"end":{"line":273,"column":5}},"173":{"start":{"line":260,"column":8},"end":{"line":260,"column":47}},"174":{"start":{"line":261,"column":8},"end":{"line":264,"column":15}},"175":{"start":{"line":262,"column":10},"end":{"line":262,"column":15}},"176":{"start":{"line":264,"column":10},"end":{"line":264,"column":15}},"177":{"start":{"line":265,"column":10},"end":{"line":272,"column":9}},"178":{"start":{"line":266,"column":12},"end":{"line":272,"column":9}},"179":{"start":{"line":272,"column":10},"end":{"line":272,"column":14}},"180":{"start":{"line":273,"column":6},"end":{"line":273,"column":14}},"181":{"start":{"line":274,"column":4},"end":{"line":274,"column":18}},"182":{"start":{"line":277,"column":4},"end":{"line":277,"column":26}},"183":{"start":{"line":278,"column":4},"end":{"line":278,"column":15}},"184":{"start":{"line":279,"column":4},"end":{"line":306,"column":3}},"185":{"start":{"line":280,"column":6},"end":{"line":306,"column":3}},"186":{"start":{"line":281,"column":8},"end":{"line":281,"column":12}},"187":{"start":{"line":282,"column":8},"end":{"line":282,"column":32}},"188":{"start":{"line":283,"column":10},"end":{"line":286,"column":9}},"189":{"start":{"line":284,"column":12},"end":{"line":284,"column":17}},"190":{"start":{"line":285,"column":12},"end":{"line":285,"column":19}},"191":{"start":{"line":286,"column":10},"end":{"line":286,"column":18}},"192":{"start":{"line":287,"column":10},"end":{"line":287,"column":57}},"193":{"start":{"line":288,"column":10},"end":{"line":288,"column":34}},"194":{"start":{"line":290,"column":12},"end":{"line":290,"column":87}},"195":{"start":{"line":291,"column":12},"end":{"line":293,"column":11}},"196":{"start":{"line":292,"column":14},"end":{"line":292,"column":18}},"197":{"start":{"line":293,"column":12},"end":{"line":293,"column":17}},"198":{"start":{"line":294,"column":12},"end":{"line":294,"column":53}},"199":{"start":{"line":295,"column":10},"end":{"line":295,"column":15}},"200":{"start":{"line":296,"column":10},"end":{"line":305,"column":9}},"201":{"start":{"line":297,"column":12},"end":{"line":305,"column":9}},"202":{"start":{"line":305,"column":10},"end":{"line":305,"column":18}},"203":{"start":{"line":306,"column":4},"end":{"line":306,"column":18}},"204":{"start":{"line":312,"column":22},"end":{"line":312,"column":51}},"205":{"start":{"line":312,"column":23},"end":{"line":312,"column":41}},"206":{"start":{"line":312,"column":23},"end":{"line":312,"column":25}},"207":{"start":{"line":315,"column":4},"end":{"line":315,"column":15}},"208":{"start":{"line":316,"column":4},"end":{"line":323,"column":3}},"209":{"start":{"line":317,"column":6},"end":{"line":317,"column":30}},"210":{"start":{"line":318,"column":6},"end":{"line":318,"column":23}},"211":{"start":{"line":318,"column":6},"end":{"line":318,"column":10}},"212":{"start":{"line":319,"column":6},"end":{"line":319,"column":26}},"213":{"start":{"line":320,"column":6},"end":{"line":320,"column":48}},"214":{"start":{"line":321,"column":6},"end":{"line":321,"column":23}},"215":{"start":{"line":322,"column":6},"end":{"line":322,"column":72}},"216":{"start":{"line":323,"column":4},"end":{"line":323,"column":18}},"217":{"start":{"line":327,"column":4},"end":{"line":335,"column":1}},"218":{"start":{"line":328,"column":6},"end":{"line":328,"column":32}},"219":{"start":{"line":329,"column":6},"end":{"line":332,"column":26}},"220":{"start":{"line":337,"column":4},"end":{"line":344,"column":1}},"221":{"start":{"line":338,"column":6},"end":{"line":338,"column":32}},"222":{"start":{"line":339,"column":6},"end":{"line":342,"column":26}},"223":{"start":{"line":346,"column":4},"end":{"line":346,"column":69}},"224":{"start":{"line":349,"column":4},"end":{"line":349,"column":20}},"225":{"start":{"line":350,"column":4},"end":{"line":423,"column":3}},"226":{"start":{"line":351,"column":6},"end":{"line":351,"column":44}},"227":{"start":{"line":352,"column":6},"end":{"line":352,"column":27}},"228":{"start":{"line":353,"column":6},"end":{"line":353,"column":23}},"229":{"start":{"line":354,"column":6},"end":{"line":354,"column":28}},"230":{"start":{"line":355,"column":6},"end":{"line":366,"column":5}},"231":{"start":{"line":356,"column":8},"end":{"line":361,"column":7}},"232":{"start":{"line":361,"column":8},"end":{"line":366,"column":5}},"233":{"start":{"line":366,"column":6},"end":{"line":377,"column":5}},"234":{"start":{"line":367,"column":8},"end":{"line":372,"column":7}},"235":{"start":{"line":372,"column":8},"end":{"line":377,"column":5}},"236":{"start":{"line":377,"column":6},"end":{"line":377,"column":28}},"237":{"start":{"line":378,"column":6},"end":{"line":408,"column":5}},"238":{"start":{"line":379,"column":8},"end":{"line":408,"column":5}},"239":{"start":{"line":381,"column":12},"end":{"line":387,"column":9}},"240":{"start":{"line":388,"column":12},"end":{"line":394,"column":11}},"241":{"start":{"line":394,"column":12},"end":{"line":400,"column":9}},"242":{"start":{"line":401,"column":12},"end":{"line":408,"column":5}},"243":{"start":{"line":408,"column":6},"end":{"line":423,"column":3}},"244":{"start":{"line":409,"column":8},"end":{"line":409,"column":36}},"245":{"start":{"line":410,"column":8},"end":{"line":410,"column":40}},"246":{"start":{"line":411,"column":8},"end":{"line":411,"column":38}},"247":{"start":{"line":412,"column":8},"end":{"line":412,"column":65}},"248":{"start":{"line":413,"column":8},"end":{"line":413,"column":28}},"249":{"start":{"line":413,"column":8},"end":{"line":413,"column":15}},"250":{"start":{"line":414,"column":8},"end":{"line":423,"column":3}},"251":{"start":{"line":423,"column":4},"end":{"line":423,"column":15}},"252":{"start":{"line":442,"column":4},"end":{"line":442,"column":15}},"253":{"start":{"line":443,"column":4},"end":{"line":447,"column":3}},"254":{"start":{"line":444,"column":6},"end":{"line":444,"column":81}},"255":{"start":{"line":444,"column":46},"end":{"line":444,"column":80}},"256":{"start":{"line":444,"column":46},"end":{"line":444,"column":63}},"257":{"start":{"line":445,"column":6},"end":{"line":445,"column":25}},"258":{"start":{"line":446,"column":6},"end":{"line":446,"column":23}},"259":{"start":{"line":447,"column":4},"end":{"line":451,"column":3}},"260":{"start":{"line":448,"column":6},"end":{"line":448,"column":81}},"261":{"start":{"line":448,"column":46},"end":{"line":448,"column":80}},"262":{"start":{"line":448,"column":46},"end":{"line":448,"column":63}},"263":{"start":{"line":449,"column":6},"end":{"line":449,"column":25}},"264":{"start":{"line":450,"column":6},"end":{"line":450,"column":23}},"265":{"start":{"line":451,"column":4},"end":{"line":463,"column":1}},"266":{"start":{"line":452,"column":6},"end":{"line":452,"column":81}},"267":{"start":{"line":453,"column":6},"end":{"line":453,"column":26}},"268":{"start":{"line":453,"column":6},"end":{"line":453,"column":13}},"269":{"start":{"line":454,"column":6},"end":{"line":461,"column":15}},"270":{"start":{"line":464,"column":4},"end":{"line":466,"column":3}},"271":{"start":{"line":465,"column":6},"end":{"line":465,"column":32}},"272":{"start":{"line":466,"column":4},"end":{"line":468,"column":3}},"273":{"start":{"line":467,"column":6},"end":{"line":467,"column":23}},"274":{"start":{"line":468,"column":4},"end":{"line":470,"column":3}},"275":{"start":{"line":469,"column":6},"end":{"line":469,"column":23}},"276":{"start":{"line":470,"column":4},"end":{"line":470,"column":29}},"277":{"start":{"line":472,"column":0},"end":{"line":472,"column":24}}},"branchMap":{"1":{"line":85,"type":"if","locations":[{"start":{"line":85,"column":10},"end":{"line":85,"column":10}},{"start":{"line":85,"column":10},"end":{"line":85,"column":10}}]},"2":{"line":113,"type":"if","locations":[{"start":{"line":113,"column":6},"end":{"line":113,"column":6}},{"start":{"line":113,"column":6},"end":{"line":113,"column":6}}]},"3":{"line":129,"type":"if","locations":[{"start":{"line":129,"column":8},"end":{"line":129,"column":8}},{"start":{"line":129,"column":8},"end":{"line":129,"column":8}}]},"4":{"line":135,"type":"if","locations":[{"start":{"line":135,"column":6},"end":{"line":135,"column":6}},{"start":{"line":135,"column":6},"end":{"line":135,"column":6}}]},"5":{"line":143,"type":"if","locations":[{"start":{"line":143,"column":12},"end":{"line":143,"column":12}},{"start":{"line":143,"column":12},"end":{"line":143,"column":12}}]},"6":{"line":146,"type":"if","locations":[{"start":{"line":146,"column":10},"end":{"line":146,"column":10}},{"start":{"line":146,"column":10},"end":{"line":146,"column":10}}]},"7":{"line":170,"type":"if","locations":[{"start":{"line":170,"column":6},"end":{"line":170,"column":6}},{"start":{"line":170,"column":6},"end":{"line":170,"column":6}}]},"8":{"line":174,"type":"if","locations":[{"start":{"line":174,"column":8},"end":{"line":174,"column":8}},{"start":{"line":174,"column":8},"end":{"line":174,"column":8}}]},"9":{"line":211,"type":"if","locations":[{"start":{"line":211,"column":8},"end":{"line":211,"column":8}},{"start":{"line":211,"column":8},"end":{"line":211,"column":8}}]},"10":{"line":215,"type":"if","locations":[{"start":{"line":215,"column":12},"end":{"line":215,"column":12}},{"start":{"line":215,"column":12},"end":{"line":215,"column":12}}]},"11":{"line":218,"type":"if","locations":[{"start":{"line":218,"column":14},"end":{"line":218,"column":14}},{"start":{"line":218,"column":14},"end":{"line":218,"column":14}}]},"12":{"line":224,"type":"if","locations":[{"start":{"line":224,"column":14},"end":{"line":224,"column":14}},{"start":{"line":224,"column":14},"end":{"line":224,"column":14}}]},"13":{"line":231,"type":"if","locations":[{"start":{"line":231,"column":8},"end":{"line":231,"column":8}},{"start":{"line":231,"column":8},"end":{"line":231,"column":8}}]},"14":{"line":235,"type":"if","locations":[{"start":{"line":235,"column":10},"end":{"line":235,"column":10}},{"start":{"line":235,"column":10},"end":{"line":235,"column":10}}]},"15":{"line":261,"type":"if","locations":[{"start":{"line":261,"column":8},"end":{"line":261,"column":8}},{"start":{"line":261,"column":8},"end":{"line":261,"column":8}}]},"16":{"line":265,"type":"if","locations":[{"start":{"line":265,"column":10},"end":{"line":265,"column":10}},{"start":{"line":265,"column":10},"end":{"line":265,"column":10}}]},"17":{"line":283,"type":"if","locations":[{"start":{"line":283,"column":10},"end":{"line":283,"column":10}},{"start":{"line":283,"column":10},"end":{"line":283,"column":10}}]},"18":{"line":291,"type":"if","locations":[{"start":{"line":291,"column":12},"end":{"line":291,"column":12}},{"start":{"line":291,"column":12},"end":{"line":291,"column":12}}]},"19":{"line":296,"type":"if","locations":[{"start":{"line":296,"column":10},"end":{"line":296,"column":10}},{"start":{"line":296,"column":10},"end":{"line":296,"column":10}}]},"20":{"line":318,"type":"if","locations":[{"start":{"line":318,"column":6},"end":{"line":318,"column":6}},{"start":{"line":318,"column":6},"end":{"line":318,"column":6}}]},"21":{"line":355,"type":"if","locations":[{"start":{"line":355,"column":6},"end":{"line":355,"column":6}},{"start":{"line":355,"column":6},"end":{"line":355,"column":6}}]},"22":{"line":366,"type":"if","locations":[{"start":{"line":366,"column":6},"end":{"line":366,"column":6}},{"start":{"line":366,"column":6},"end":{"line":366,"column":6}}]},"23":{"line":379,"type":"switch","locations":[{"start":{"line":380,"column":10},"end":{"line":387,"column":9}},{"start":{"line":387,"column":10},"end":{"line":394,"column":11}},{"start":{"line":400,"column":10},"end":{"line":408,"column":5}}]},"24":{"line":413,"type":"if","locations":[{"start":{"line":413,"column":8},"end":{"line":413,"column":8}},{"start":{"line":413,"column":8},"end":{"line":413,"column":8}}]},"25":{"line":453,"type":"if","locations":[{"start":{"line":453,"column":6},"end":{"line":453,"column":6}},{"start":{"line":453,"column":6},"end":{"line":453,"column":6}}]},"26":{"line":464,"type":"if","locations":[{"start":{"line":464,"column":4},"end":{"line":464,"column":4}},{"start":{"line":464,"column":4},"end":{"line":464,"column":4}}]},"27":{"line":466,"type":"if","locations":[{"start":{"line":466,"column":4},"end":{"line":466,"column":4}},{"start":{"line":466,"column":4},"end":{"line":466,"column":4}}]},"28":{"line":468,"type":"if","locations":[{"start":{"line":468,"column":4},"end":{"line":468,"column":4}},{"start":{"line":468,"column":4},"end":{"line":468,"column":4}}]}}} }(function() {
var GRAPHS, L33T_TABLE, RANKED_DICTIONARIES, SEQUENCES, adjacency_graphs, build_ranked_dict, frequency_lists, matching,
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[1]++;
frequency_lists = require('./frequency_lists');
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[2]++;
adjacency_graphs = require('./adjacency_graphs');
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[3]++;
build_ranked_dict = function(ordered_list) {
var i, l, len1, result, word;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].f[1]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[4]++;
result = {};
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[5]++;
i = 1;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[6]++;
for (l = 0, len1 = ordered_list.length; l < len1; l++) {
word = ordered_list[l];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[7]++;
result[word] = i;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[8]++;
i += 1;
}
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[9]++;
return result;
};
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[10]++;
RANKED_DICTIONARIES = {
passwords: build_ranked_dict(frequency_lists.passwords),
english: build_ranked_dict(frequency_lists.english),
surnames: build_ranked_dict(frequency_lists.surnames),
male_names: build_ranked_dict(frequency_lists.male_names),
female_names: build_ranked_dict(frequency_lists.female_names)
};
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[11]++;
GRAPHS = {
qwerty: adjacency_graphs.qwerty,
dvorak: adjacency_graphs.dvorak,
keypad: adjacency_graphs.keypad,
mac_keypad: adjacency_graphs.mac_keypad
};
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[12]++;
SEQUENCES = {
lower: 'abcdefghijklmnopqrstuvwxyz',
upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
digits: '0123456789'
};
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[13]++;
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']
};
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[14]++;
matching = {
empty: function(obj) {
var k;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].f[2]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[15]++;
return ((function() {
var results;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[16]++;
results = [];
for (k in obj) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[17]++;
results.push(k);
}
return results;
})()).length === 0;
},
extend: function(lst, lst2) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].f[3]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[18]++;
return lst.push.apply(lst, lst2);
},
translate: function(string, chr_map) {
var chr;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].f[4]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[19]++;
return ((function() {
var l, len1, ref, results;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[20]++;
ref = string.split('');
results = [];
for (l = 0, len1 = ref.length; l < len1; l++) {
chr = ref[l];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[21]++;
results.push(chr_map[chr] || chr);
}
return results;
})()).join('');
},
mod: function(n, m) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].f[5]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[22]++;
return (_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[23]++, (_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[24]++, n % m) + m) % m;
},
sorted: function(matches) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].f[6]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[25]++;
return matches.sort(function(m1, m2) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].f[7]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[26]++;
return (_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[27]++, m1.i - m2.i) || (_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[28]++, m1.j - m2.j);
});
},
omnimatch: function(password) {
var l, len1, matcher, matchers, matches;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].f[8]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[29]++;
matches = [];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[30]++;
matchers = [this.dictionary_match, this.l33t_match, this.digits_match, this.year_match, this.date_match, this.repeat_match, this.sequence_match, this.spatial_match];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[31]++;
for (l = 0, len1 = matchers.length; l < len1; l++) {
matcher = matchers[l];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[32]++;
this.extend(matches, matcher.call(this, password));
}
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[33]++;
return this.sorted(matches);
},
dictionary_match: function(password, _ranked_dictionaries) {
var dictionary_name, i, j, l, len, matches, o, password_lower, rank, ranked_dict, ref, ref1, ref2, word;
if (_ranked_dictionaries == null) {
_ranked_dictionaries = RANKED_DICTIONARIES;
}
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].f[9]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[34]++;
matches = [];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[35]++;
len = password.length;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[36]++;
password_lower = password.toLowerCase();
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[37]++;
for (dictionary_name in _ranked_dictionaries) {
ranked_dict = _ranked_dictionaries[dictionary_name];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[38]++;
for (i = l = 0, ref = len; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[39]++;
for (j = o = ref1 = i, ref2 = len; ref1 <= ref2 ? o < ref2 : o > ref2; j = ref1 <= ref2 ? ++o : --o) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[40]++;
if (password_lower.slice(i, +j + 1 || 9e9) in ranked_dict) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].b[1][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[41]++;
word = password_lower.slice(i, +j + 1 || 9e9);
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[42]++;
rank = ranked_dict[word];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[43]++;
matches.push({
pattern: 'dictionary',
i: i,
j: j,
token: password.slice(i, +j + 1 || 9e9),
matched_word: word,
rank: rank,
dictionary_name: dictionary_name
});
} else {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].b[1][1]++;
void 0;
}
}
}
}
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[44]++;
return this.sorted(matches);
},
set_user_input_dictionary: function(ordered_list) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].f[10]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[45]++;
return RANKED_DICTIONARIES['user_inputs'] = build_ranked_dict(ordered_list.slice());
},
relevant_l33t_subtable: function(password, table) {
var chr, l, len1, letter, password_chars, ref, relevant_subs, sub, subs, subtable;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].f[11]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[46]++;
password_chars = {};
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[47]++;
ref = password.split('');
for (l = 0, len1 = ref.length; l < len1; l++) {
chr = ref[l];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[48]++;
password_chars[chr] = true;
}
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[49]++;
subtable = {};
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[50]++;
for (letter in table) {
subs = table[letter];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[51]++;
relevant_subs = ((function() {
var len2, o, results;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[52]++;
results = [];
for (o = 0, len2 = subs.length; o < len2; o++) {
sub = subs[o];
if (!(sub in password_chars)) {
continue;
}
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[53]++;
results.push(sub);
}
return results;
})());
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[54]++;
if (relevant_subs.length > 0) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].b[2][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[55]++;
subtable[letter] = relevant_subs;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].b[2][1]++;
void 0;
}
}
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[56]++;
return subtable;
},
enumerate_l33t_subs: function(table) {
var chr, dedup, helper, k, keys, l, l33t_chr, len1, len2, o, ref, sub, sub_dict, sub_dicts, subs;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].f[12]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[57]++;
keys = ((function() {
var results;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[58]++;
results = [];
for (k in table) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[59]++;
results.push(k);
}
return results;
})());
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[60]++;
subs = [[]];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[61]++;
dedup = function(subs) {
var assoc, deduped, l, label, len1, members, sub, v;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].f[13]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[62]++;
deduped = [];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[63]++;
members = {};
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[64]++;
for (l = 0, len1 = subs.length; l < len1; l++) {
sub = subs[l];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[65]++;
assoc = ((function() {
var len2, o, results;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[66]++;
results = [];
for (v = o = 0, len2 = sub.length; o < len2; v = ++o) {
k = sub[v];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[67]++;
results.push([k, v]);
}
return results;
})());
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[68]++;
assoc.sort();
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[69]++;
label = ((function() {
var len2, o, results;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[70]++;
results = [];
for (v = o = 0, len2 = assoc.length; o < len2; v = ++o) {
k = assoc[v];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[71]++;
results.push(k + ',' + v);
}
return results;
})()).join('-');
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[72]++;
if (!(label in members)) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].b[3][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[73]++;
members[label] = true;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[74]++;
deduped.push(sub);
} else {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].b[3][1]++;
void 0;
}
}
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[75]++;
return deduped;
};
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[76]++;
helper = function(keys) {
var dup_l33t_index, first_key, i, l, l33t_chr, len1, len2, next_subs, o, p, ref, ref1, rest_keys, sub, sub_alternative, sub_extension;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].f[14]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[77]++;
if (!keys.length) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].b[4][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[78]++;
return;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].b[4][1]++;
void 0;
}
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[79]++;
first_key = keys[0];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[80]++;
rest_keys = keys.slice(1);
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[81]++;
next_subs = [];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[82]++;
ref = table[first_key];
for (l = 0, len1 = ref.length; l < len1; l++) {
l33t_chr = ref[l];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[83]++;
for (o = 0, len2 = subs.length; o < len2; o++) {
sub = subs[o];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[84]++;
dup_l33t_index = -1;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[85]++;
for (i = p = 0, ref1 = sub.length; 0 <= ref1 ? p < ref1 : p > ref1; i = 0 <= ref1 ? ++p : --p) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[86]++;
if (sub[i][0] === l33t_chr) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].b[5][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[87]++;
dup_l33t_index = i;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[88]++;
break;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].b[5][1]++;
void 0;
}
}
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[89]++;
if (dup_l33t_index === -1) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].b[6][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[90]++;
sub_extension = sub.concat([[l33t_chr, first_key]]);
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[91]++;
next_subs.push(sub_extension);
} else {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].b[6][1]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[92]++;
sub_alternative = sub.slice(0);
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[93]++;
sub_alternative.splice(dup_l33t_index, 1);
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[94]++;
sub_alternative.push([l33t_chr, first_key]);
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[95]++;
next_subs.push(sub);
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[96]++;
next_subs.push(sub_alternative);
}
}
}
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[97]++;
subs = dedup(next_subs);
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[98]++;
return helper(rest_keys);
};
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[99]++;
helper(keys);
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[100]++;
sub_dicts = [];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[101]++;
for (l = 0, len1 = subs.length; l < len1; l++) {
sub = subs[l];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[102]++;
sub_dict = {};
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[103]++;
for (o = 0, len2 = sub.length; o < len2; o++) {
ref = sub[o], l33t_chr = ref[0], chr = ref[1];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[104]++;
sub_dict[l33t_chr] = chr;
}
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[105]++;
sub_dicts.push(sub_dict);
}
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[106]++;
return sub_dicts;
},
l33t_match: function(password, _ranked_dictionaries, _l33t_table) {
var chr, k, l, len1, len2, match, match_sub, matches, o, ref, ref1, sub, subbed_chr, subbed_password, token, v;
if (_ranked_dictionaries == null) {
_ranked_dictionaries = RANKED_DICTIONARIES;
}
if (_l33t_table == null) {
_l33t_table = L33T_TABLE;
}
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].f[15]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[107]++;
matches = [];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[108]++;
ref = this.enumerate_l33t_subs(this.relevant_l33t_subtable(password, _l33t_table));
for (l = 0, len1 = ref.length; l < len1; l++) {
sub = ref[l];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[109]++;
if (this.empty(sub)) {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].b[7][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[110]++;
break;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].b[7][1]++;
void 0;
}
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[111]++;
subbed_password = this.translate(password, sub);
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[112]++;
ref1 = this.dictionary_match(subbed_password, _ranked_dictionaries);
for (o = 0, len2 = ref1.length; o < len2; o++) {
match = ref1[o];
_$jscoverage["/Users/dan/zxcvbn/src/matching.coffee"].s[113]++;
token = password.slice(match.i, +match.j + 1 || 9e9);
_$jscoverage["/Users/dan/zxcvbn/src/matc