if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
if (!__coverage__['build/calendar-base/calendar-base.js']) {
   __coverage__['build/calendar-base/calendar-base.js'] = {"path":"build/calendar-base/calendar-base.js","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,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":0,"313":0,"314":0,"315":0,"316":0,"317":0,"318":0,"319":0,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":0,"327":0,"328":0,"329":0,"330":0,"331":0,"332":0,"333":0,"334":0,"335":0,"336":0,"337":0,"338":0,"339":0,"340":0,"341":0,"342":0,"343":0,"344":0,"345":0,"346":0,"347":0,"348":0,"349":0,"350":0,"351":0,"352":0,"353":0,"354":0,"355":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,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],"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,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0,0,0,0],"39":[0,0],"40":[0,0],"41":[0,0,0,0,0,0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0,0,0,0],"74":[0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[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,"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},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":25},"end":{"line":1,"column":44}}},"2":{"name":"CalendarBase","line":55,"loc":{"start":{"line":55,"column":0},"end":{"line":55,"column":30}}},"3":{"name":"(anonymous_3)","line":143,"loc":{"start":{"line":143,"column":16},"end":{"line":143,"column":28}}},"4":{"name":"(anonymous_4)","line":159,"loc":{"start":{"line":159,"column":13},"end":{"line":159,"column":25}}},"5":{"name":"(anonymous_5)","line":182,"loc":{"start":{"line":182,"column":11},"end":{"line":182,"column":23}}},"6":{"name":"(anonymous_6)","line":204,"loc":{"start":{"line":204,"column":28},"end":{"line":204,"column":40}}},"7":{"name":"(anonymous_7)","line":206,"loc":{"start":{"line":206,"column":33},"end":{"line":206,"column":49}}},"8":{"name":"(anonymous_8)","line":207,"loc":{"start":{"line":207,"column":20},"end":{"line":207,"column":37}}},"9":{"name":"(anonymous_9)","line":208,"loc":{"start":{"line":208,"column":23},"end":{"line":208,"column":38}}},"10":{"name":"(anonymous_10)","line":225,"loc":{"start":{"line":225,"column":31},"end":{"line":225,"column":48}}},"11":{"name":"(anonymous_11)","line":250,"loc":{"start":{"line":250,"column":19},"end":{"line":250,"column":43}}},"12":{"name":"(anonymous_12)","line":281,"loc":{"start":{"line":281,"column":23},"end":{"line":281,"column":40}}},"13":{"name":"(anonymous_13)","line":338,"loc":{"start":{"line":338,"column":19},"end":{"line":338,"column":42}}},"14":{"name":"(anonymous_14)","line":350,"loc":{"start":{"line":350,"column":21},"end":{"line":350,"column":38}}},"15":{"name":"(anonymous_15)","line":371,"loc":{"start":{"line":371,"column":18},"end":{"line":371,"column":35}}},"16":{"name":"(anonymous_16)","line":387,"loc":{"start":{"line":387,"column":20},"end":{"line":387,"column":37}}},"17":{"name":"(anonymous_17)","line":408,"loc":{"start":{"line":408,"column":26},"end":{"line":408,"column":50}}},"18":{"name":"(anonymous_18)","line":445,"loc":{"start":{"line":445,"column":27},"end":{"line":445,"column":49}}},"19":{"name":"(anonymous_19)","line":457,"loc":{"start":{"line":457,"column":31},"end":{"line":457,"column":61}}},"20":{"name":"(anonymous_20)","line":490,"loc":{"start":{"line":490,"column":31},"end":{"line":490,"column":55}}},"21":{"name":"(anonymous_21)","line":510,"loc":{"start":{"line":510,"column":32},"end":{"line":510,"column":54}}},"22":{"name":"(anonymous_22)","line":522,"loc":{"start":{"line":522,"column":36},"end":{"line":522,"column":66}}},"23":{"name":"(anonymous_23)","line":540,"loc":{"start":{"line":540,"column":22},"end":{"line":540,"column":41}}},"24":{"name":"(anonymous_24)","line":553,"loc":{"start":{"line":553,"column":27},"end":{"line":553,"column":39}}},"25":{"name":"(anonymous_25)","line":569,"loc":{"start":{"line":569,"column":28},"end":{"line":569,"column":40}}},"26":{"name":"(anonymous_26)","line":584,"loc":{"start":{"line":584,"column":25},"end":{"line":584,"column":37}}},"27":{"name":"(anonymous_27)","line":595,"loc":{"start":{"line":595,"column":29},"end":{"line":595,"column":45}}},"28":{"name":"(anonymous_28)","line":623,"loc":{"start":{"line":623,"column":25},"end":{"line":623,"column":37}}},"29":{"name":"(anonymous_29)","line":629,"loc":{"start":{"line":629,"column":24},"end":{"line":629,"column":40}}},"30":{"name":"(anonymous_30)","line":645,"loc":{"start":{"line":645,"column":16},"end":{"line":645,"column":33}}},"31":{"name":"(anonymous_31)","line":718,"loc":{"start":{"line":718,"column":16},"end":{"line":718,"column":33}}},"32":{"name":"(anonymous_32)","line":736,"loc":{"start":{"line":736,"column":24},"end":{"line":736,"column":36}}},"33":{"name":"(anonymous_33)","line":749,"loc":{"start":{"line":749,"column":21},"end":{"line":749,"column":37}}},"34":{"name":"(anonymous_34)","line":768,"loc":{"start":{"line":768,"column":23},"end":{"line":768,"column":49}}},"35":{"name":"(anonymous_35)","line":784,"loc":{"start":{"line":784,"column":23},"end":{"line":784,"column":39}}},"36":{"name":"(anonymous_36)","line":816,"loc":{"start":{"line":816,"column":24},"end":{"line":816,"column":40}}},"37":{"name":"(anonymous_37)","line":833,"loc":{"start":{"line":833,"column":29},"end":{"line":833,"column":45}}},"38":{"name":"(anonymous_38)","line":850,"loc":{"start":{"line":850,"column":23},"end":{"line":850,"column":39}}},"39":{"name":"(anonymous_39)","line":882,"loc":{"start":{"line":882,"column":24},"end":{"line":882,"column":40}}},"40":{"name":"(anonymous_40)","line":910,"loc":{"start":{"line":910,"column":32},"end":{"line":910,"column":44}}},"41":{"name":"(anonymous_41)","line":932,"loc":{"start":{"line":932,"column":32},"end":{"line":932,"column":44}}},"42":{"name":"(anonymous_42)","line":951,"loc":{"start":{"line":951,"column":31},"end":{"line":951,"column":43}}},"43":{"name":"(anonymous_43)","line":961,"loc":{"start":{"line":961,"column":33},"end":{"line":961,"column":45}}},"44":{"name":"(anonymous_44)","line":973,"loc":{"start":{"line":973,"column":21},"end":{"line":973,"column":33}}},"45":{"name":"(anonymous_45)","line":986,"loc":{"start":{"line":986,"column":23},"end":{"line":986,"column":42}}},"46":{"name":"(anonymous_46)","line":1011,"loc":{"start":{"line":1011,"column":22},"end":{"line":1011,"column":51}}},"47":{"name":"(anonymous_47)","line":1085,"loc":{"start":{"line":1085,"column":23},"end":{"line":1085,"column":36}}},"48":{"name":"(anonymous_48)","line":1118,"loc":{"start":{"line":1118,"column":26},"end":{"line":1118,"column":51}}},"49":{"name":"(anonymous_49)","line":1220,"loc":{"start":{"line":1220,"column":28},"end":{"line":1220,"column":48}}},"50":{"name":"(anonymous_50)","line":1241,"loc":{"start":{"line":1241,"column":26},"end":{"line":1241,"column":46}}},"51":{"name":"(anonymous_51)","line":1255,"loc":{"start":{"line":1255,"column":22},"end":{"line":1255,"column":42}}},"52":{"name":"paneReplacer","line":1269,"loc":{"start":{"line":1269,"column":8},"end":{"line":1269,"column":33}}},"53":{"name":"(anonymous_53)","line":1511,"loc":{"start":{"line":1511,"column":14},"end":{"line":1511,"column":29}}},"54":{"name":"(anonymous_54)","line":1557,"loc":{"start":{"line":1557,"column":21},"end":{"line":1557,"column":32}}},"55":{"name":"(anonymous_55)","line":1605,"loc":{"start":{"line":1605,"column":18},"end":{"line":1605,"column":33}}},"56":{"name":"(anonymous_56)","line":1623,"loc":{"start":{"line":1623,"column":20},"end":{"line":1623,"column":35}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1652,"column":3}},"2":{"start":{"line":12,"column":0},"end":{"line":43,"column":34}},"3":{"start":{"line":55,"column":0},"end":{"line":57,"column":1}},"4":{"start":{"line":56,"column":2},"end":{"line":56,"column":64}},"5":{"start":{"line":61,"column":0},"end":{"line":1630,"column":3}},"6":{"start":{"line":144,"column":4},"end":{"line":144,"column":30}},"7":{"start":{"line":145,"column":4},"end":{"line":145,"column":42}},"8":{"start":{"line":146,"column":4},"end":{"line":146,"column":29}},"9":{"start":{"line":147,"column":4},"end":{"line":149,"column":5}},"10":{"start":{"line":148,"column":7},"end":{"line":148,"column":24}},"11":{"start":{"line":150,"column":4},"end":{"line":150,"column":31}},"12":{"start":{"line":161,"column":6},"end":{"line":161,"column":46}},"13":{"start":{"line":162,"column":6},"end":{"line":162,"column":71}},"14":{"start":{"line":163,"column":8},"end":{"line":165,"column":9}},"15":{"start":{"line":164,"column":12},"end":{"line":164,"column":45}},"16":{"start":{"line":166,"column":8},"end":{"line":168,"column":9}},"17":{"start":{"line":167,"column":12},"end":{"line":167,"column":45}},"18":{"start":{"line":169,"column":6},"end":{"line":169,"column":32}},"19":{"start":{"line":170,"column":6},"end":{"line":170,"column":34}},"20":{"start":{"line":172,"column":4},"end":{"line":172,"column":90}},"21":{"start":{"line":183,"column":4},"end":{"line":183,"column":52}},"22":{"start":{"line":184,"column":4},"end":{"line":184,"column":70}},"23":{"start":{"line":185,"column":4},"end":{"line":185,"column":70}},"24":{"start":{"line":186,"column":4},"end":{"line":186,"column":72}},"25":{"start":{"line":187,"column":4},"end":{"line":187,"column":72}},"26":{"start":{"line":188,"column":4},"end":{"line":188,"column":74}},"27":{"start":{"line":189,"column":4},"end":{"line":189,"column":75}},"28":{"start":{"line":190,"column":4},"end":{"line":190,"column":58}},"29":{"start":{"line":191,"column":4},"end":{"line":191,"column":61}},"30":{"start":{"line":192,"column":4},"end":{"line":192,"column":31}},"31":{"start":{"line":205,"column":6},"end":{"line":205,"column":22}},"32":{"start":{"line":206,"column":6},"end":{"line":212,"column":15}},"33":{"start":{"line":207,"column":8},"end":{"line":211,"column":17}},"34":{"start":{"line":208,"column":10},"end":{"line":210,"column":20}},"35":{"start":{"line":209,"column":11},"end":{"line":209,"column":29}},"36":{"start":{"line":213,"column":6},"end":{"line":213,"column":20}},"37":{"start":{"line":226,"column":6},"end":{"line":227,"column":35}},"38":{"start":{"line":229,"column":8},"end":{"line":234,"column":9}},"39":{"start":{"line":230,"column":11},"end":{"line":230,"column":68}},"40":{"start":{"line":233,"column":11},"end":{"line":233,"column":21}},"41":{"start":{"line":251,"column":8},"end":{"line":268,"column":9}},"42":{"start":{"line":252,"column":12},"end":{"line":252,"column":24}},"43":{"start":{"line":255,"column":12},"end":{"line":256,"column":36}},"44":{"start":{"line":258,"column":12},"end":{"line":266,"column":13}},"45":{"start":{"line":259,"column":16},"end":{"line":259,"column":51}},"46":{"start":{"line":260,"column":16},"end":{"line":265,"column":17}},"47":{"start":{"line":261,"column":20},"end":{"line":261,"column":32}},"48":{"start":{"line":263,"column":21},"end":{"line":265,"column":17}},"49":{"start":{"line":264,"column":20},"end":{"line":264,"column":32}},"50":{"start":{"line":267,"column":12},"end":{"line":267,"column":25}},"51":{"start":{"line":282,"column":6},"end":{"line":288,"column":37}},"52":{"start":{"line":290,"column":6},"end":{"line":323,"column":7}},"53":{"start":{"line":291,"column":10},"end":{"line":322,"column":11}},"54":{"start":{"line":292,"column":14},"end":{"line":321,"column":15}},"55":{"start":{"line":293,"column":18},"end":{"line":293,"column":49}},"56":{"start":{"line":296,"column":18},"end":{"line":320,"column":19}},"57":{"start":{"line":297,"column":22},"end":{"line":319,"column":23}},"58":{"start":{"line":298,"column":26},"end":{"line":318,"column":27}},"59":{"start":{"line":299,"column":30},"end":{"line":299,"column":69}},"60":{"start":{"line":302,"column":30},"end":{"line":317,"column":31}},"61":{"start":{"line":303,"column":34},"end":{"line":316,"column":35}},"62":{"start":{"line":304,"column":38},"end":{"line":315,"column":39}},"63":{"start":{"line":305,"column":42},"end":{"line":305,"column":88}},"64":{"start":{"line":308,"column":42},"end":{"line":314,"column":43}},"65":{"start":{"line":309,"column":46},"end":{"line":313,"column":47}},"66":{"start":{"line":310,"column":50},"end":{"line":312,"column":51}},"67":{"start":{"line":311,"column":53},"end":{"line":311,"column":105}},"68":{"start":{"line":324,"column":6},"end":{"line":324,"column":25}},"69":{"start":{"line":339,"column":8},"end":{"line":339,"column":62}},"70":{"start":{"line":352,"column":7},"end":{"line":353,"column":61}},"71":{"start":{"line":355,"column":7},"end":{"line":363,"column":8}},"72":{"start":{"line":356,"column":11},"end":{"line":356,"column":61}},"73":{"start":{"line":358,"column":12},"end":{"line":363,"column":8}},"74":{"start":{"line":359,"column":11},"end":{"line":359,"column":63}},"75":{"start":{"line":362,"column":11},"end":{"line":362,"column":23}},"76":{"start":{"line":372,"column":6},"end":{"line":377,"column":7}},"77":{"start":{"line":373,"column":9},"end":{"line":373,"column":41}},"78":{"start":{"line":375,"column":11},"end":{"line":377,"column":7}},"79":{"start":{"line":376,"column":9},"end":{"line":376,"column":42}},"80":{"start":{"line":388,"column":6},"end":{"line":396,"column":7}},"81":{"start":{"line":389,"column":9},"end":{"line":389,"column":32}},"82":{"start":{"line":391,"column":11},"end":{"line":396,"column":7}},"83":{"start":{"line":392,"column":9},"end":{"line":392,"column":46}},"84":{"start":{"line":394,"column":11},"end":{"line":396,"column":7}},"85":{"start":{"line":395,"column":9},"end":{"line":395,"column":47}},"86":{"start":{"line":410,"column":6},"end":{"line":436,"column":7}},"87":{"start":{"line":412,"column":8},"end":{"line":414,"column":34}},"88":{"start":{"line":416,"column":8},"end":{"line":429,"column":9}},"89":{"start":{"line":417,"column":12},"end":{"line":423,"column":13}},"90":{"start":{"line":418,"column":16},"end":{"line":418,"column":62}},"91":{"start":{"line":421,"column":16},"end":{"line":421,"column":54}},"92":{"start":{"line":422,"column":16},"end":{"line":422,"column":62}},"93":{"start":{"line":426,"column":12},"end":{"line":426,"column":43}},"94":{"start":{"line":427,"column":12},"end":{"line":427,"column":50}},"95":{"start":{"line":428,"column":12},"end":{"line":428,"column":58}},"96":{"start":{"line":431,"column":8},"end":{"line":431,"column":85}},"97":{"start":{"line":433,"column":8},"end":{"line":435,"column":9}},"98":{"start":{"line":434,"column":8},"end":{"line":434,"column":36}},"99":{"start":{"line":446,"column":8},"end":{"line":446,"column":57}},"100":{"start":{"line":447,"column":8},"end":{"line":447,"column":36}},"101":{"start":{"line":459,"column":8},"end":{"line":461,"column":42}},"102":{"start":{"line":463,"column":12},"end":{"line":470,"column":13}},"103":{"start":{"line":464,"column":16},"end":{"line":464,"column":41}},"104":{"start":{"line":465,"column":16},"end":{"line":465,"column":36}},"105":{"start":{"line":466,"column":16},"end":{"line":466,"column":56}},"106":{"start":{"line":469,"column":16},"end":{"line":469,"column":55}},"107":{"start":{"line":473,"column":8},"end":{"line":477,"column":9}},"108":{"start":{"line":474,"column":12},"end":{"line":474,"column":43}},"109":{"start":{"line":475,"column":16},"end":{"line":475,"column":39}},"110":{"start":{"line":476,"column":12},"end":{"line":476,"column":54}},"111":{"start":{"line":478,"column":8},"end":{"line":478,"column":36}},"112":{"start":{"line":491,"column":8},"end":{"line":493,"column":34}},"113":{"start":{"line":494,"column":8},"end":{"line":501,"column":9}},"114":{"start":{"line":497,"column":15},"end":{"line":497,"column":60}},"115":{"start":{"line":498,"column":15},"end":{"line":500,"column":16}},"116":{"start":{"line":499,"column":17},"end":{"line":499,"column":45}},"117":{"start":{"line":511,"column":8},"end":{"line":511,"column":62}},"118":{"start":{"line":512,"column":8},"end":{"line":512,"column":36}},"119":{"start":{"line":523,"column":8},"end":{"line":524,"column":42}},"120":{"start":{"line":526,"column":8},"end":{"line":528,"column":9}},"121":{"start":{"line":527,"column":12},"end":{"line":527,"column":64}},"122":{"start":{"line":530,"column":8},"end":{"line":530,"column":36}},"123":{"start":{"line":541,"column":8},"end":{"line":541,"column":33}},"124":{"start":{"line":542,"column":8},"end":{"line":542,"column":126}},"125":{"start":{"line":543,"column":8},"end":{"line":545,"column":9}},"126":{"start":{"line":544,"column":10},"end":{"line":544,"column":38}},"127":{"start":{"line":561,"column":6},"end":{"line":561,"column":81}},"128":{"start":{"line":570,"column":6},"end":{"line":571,"column":13}},"129":{"start":{"line":572,"column":6},"end":{"line":575,"column":7}},"130":{"start":{"line":573,"column":10},"end":{"line":573,"column":70}},"131":{"start":{"line":574,"column":10},"end":{"line":574,"column":43}},"132":{"start":{"line":586,"column":8},"end":{"line":586,"column":146}},"133":{"start":{"line":588,"column":8},"end":{"line":615,"column":8}},"134":{"start":{"line":589,"column":8},"end":{"line":590,"column":52}},"135":{"start":{"line":592,"column":11},"end":{"line":614,"column":11}},"136":{"start":{"line":593,"column":13},"end":{"line":593,"column":71}},"137":{"start":{"line":594,"column":13},"end":{"line":594,"column":64}},"138":{"start":{"line":595,"column":13},"end":{"line":613,"column":19}},"139":{"start":{"line":596,"column":16},"end":{"line":596,"column":64}},"140":{"start":{"line":597,"column":16},"end":{"line":611,"column":17}},"141":{"start":{"line":598,"column":20},"end":{"line":598,"column":58}},"142":{"start":{"line":599,"column":20},"end":{"line":601,"column":25}},"143":{"start":{"line":600,"column":28},"end":{"line":600,"column":102}},"144":{"start":{"line":603,"column":20},"end":{"line":606,"column":21}},"145":{"start":{"line":604,"column":24},"end":{"line":604,"column":93}},"146":{"start":{"line":605,"column":24},"end":{"line":605,"column":77}},"147":{"start":{"line":608,"column":21},"end":{"line":611,"column":17}},"148":{"start":{"line":609,"column":19},"end":{"line":609,"column":57}},"149":{"start":{"line":610,"column":19},"end":{"line":610,"column":93}},"150":{"start":{"line":624,"column":4},"end":{"line":624,"column":122}},"151":{"start":{"line":626,"column":8},"end":{"line":633,"column":7}},"152":{"start":{"line":627,"column":8},"end":{"line":627,"column":66}},"153":{"start":{"line":628,"column":8},"end":{"line":628,"column":64}},"154":{"start":{"line":629,"column":8},"end":{"line":632,"column":19}},"155":{"start":{"line":630,"column":12},"end":{"line":630,"column":98}},"156":{"start":{"line":646,"column":4},"end":{"line":651,"column":63}},"157":{"start":{"line":653,"column":8},"end":{"line":705,"column":9}},"158":{"start":{"line":655,"column":13},"end":{"line":660,"column":14}},"159":{"start":{"line":656,"column":15},"end":{"line":656,"column":24}},"160":{"start":{"line":659,"column":15},"end":{"line":659,"column":23}},"161":{"start":{"line":661,"column":13},"end":{"line":661,"column":19}},"162":{"start":{"line":663,"column":15},"end":{"line":663,"column":23}},"163":{"start":{"line":664,"column":13},"end":{"line":664,"column":19}},"164":{"start":{"line":666,"column":13},"end":{"line":671,"column":14}},"165":{"start":{"line":667,"column":15},"end":{"line":667,"column":23}},"166":{"start":{"line":670,"column":15},"end":{"line":670,"column":23}},"167":{"start":{"line":672,"column":13},"end":{"line":672,"column":19}},"168":{"start":{"line":674,"column":13},"end":{"line":679,"column":14}},"169":{"start":{"line":675,"column":15},"end":{"line":675,"column":23}},"170":{"start":{"line":678,"column":15},"end":{"line":678,"column":23}},"171":{"start":{"line":680,"column":13},"end":{"line":680,"column":19}},"172":{"start":{"line":682,"column":13},"end":{"line":687,"column":14}},"173":{"start":{"line":683,"column":15},"end":{"line":683,"column":23}},"174":{"start":{"line":686,"column":15},"end":{"line":686,"column":23}},"175":{"start":{"line":688,"column":13},"end":{"line":688,"column":19}},"176":{"start":{"line":690,"column":13},"end":{"line":695,"column":14}},"177":{"start":{"line":691,"column":15},"end":{"line":691,"column":24}},"178":{"start":{"line":694,"column":15},"end":{"line":694,"column":23}},"179":{"start":{"line":696,"column":13},"end":{"line":696,"column":19}},"180":{"start":{"line":698,"column":13},"end":{"line":703,"column":14}},"181":{"start":{"line":699,"column":15},"end":{"line":699,"column":24}},"182":{"start":{"line":702,"column":15},"end":{"line":702,"column":23}},"183":{"start":{"line":704,"column":13},"end":{"line":704,"column":19}},"184":{"start":{"line":706,"column":8},"end":{"line":706,"column":112}},"185":{"start":{"line":720,"column":8},"end":{"line":722,"column":44}},"186":{"start":{"line":724,"column":8},"end":{"line":726,"column":43}},"187":{"start":{"line":728,"column":4},"end":{"line":728,"column":51}},"188":{"start":{"line":750,"column":6},"end":{"line":755,"column":7}},"189":{"start":{"line":751,"column":7},"end":{"line":751,"column":76}},"190":{"start":{"line":754,"column":7},"end":{"line":754,"column":19}},"191":{"start":{"line":770,"column":3},"end":{"line":770,"column":64}},"192":{"start":{"line":771,"column":3},"end":{"line":771,"column":43}},"193":{"start":{"line":772,"column":3},"end":{"line":772,"column":23}},"194":{"start":{"line":786,"column":8},"end":{"line":788,"column":80}},"195":{"start":{"line":790,"column":8},"end":{"line":792,"column":9}},"196":{"start":{"line":791,"column":10},"end":{"line":791,"column":60}},"197":{"start":{"line":794,"column":8},"end":{"line":803,"column":9}},"198":{"start":{"line":796,"column":8},"end":{"line":796,"column":72}},"199":{"start":{"line":798,"column":8},"end":{"line":801,"column":12}},"200":{"start":{"line":800,"column":12},"end":{"line":800,"column":97}},"201":{"start":{"line":817,"column":10},"end":{"line":817,"column":39}},"202":{"start":{"line":818,"column":8},"end":{"line":818,"column":58}},"203":{"start":{"line":820,"column":8},"end":{"line":823,"column":12}},"204":{"start":{"line":822,"column":12},"end":{"line":822,"column":87}},"205":{"start":{"line":834,"column":6},"end":{"line":834,"column":35}},"206":{"start":{"line":835,"column":8},"end":{"line":835,"column":73}},"207":{"start":{"line":836,"column":8},"end":{"line":836,"column":73}},"208":{"start":{"line":837,"column":8},"end":{"line":837,"column":73}},"209":{"start":{"line":838,"column":8},"end":{"line":838,"column":73}},"210":{"start":{"line":839,"column":8},"end":{"line":839,"column":73}},"211":{"start":{"line":851,"column":10},"end":{"line":854,"column":66}},"212":{"start":{"line":856,"column":8},"end":{"line":859,"column":12}},"213":{"start":{"line":858,"column":12},"end":{"line":858,"column":121}},"214":{"start":{"line":861,"column":8},"end":{"line":861,"column":37}},"215":{"start":{"line":862,"column":8},"end":{"line":867,"column":9}},"216":{"start":{"line":863,"column":10},"end":{"line":863,"column":27}},"217":{"start":{"line":865,"column":13},"end":{"line":867,"column":9}},"218":{"start":{"line":866,"column":10},"end":{"line":866,"column":27}},"219":{"start":{"line":869,"column":8},"end":{"line":871,"column":9}},"220":{"start":{"line":870,"column":12},"end":{"line":870,"column":121}},"221":{"start":{"line":883,"column":10},"end":{"line":885,"column":66}},"222":{"start":{"line":887,"column":8},"end":{"line":890,"column":12}},"223":{"start":{"line":889,"column":12},"end":{"line":889,"column":116}},"224":{"start":{"line":892,"column":8},"end":{"line":892,"column":29}},"225":{"start":{"line":893,"column":8},"end":{"line":898,"column":9}},"226":{"start":{"line":894,"column":10},"end":{"line":894,"column":27}},"227":{"start":{"line":896,"column":13},"end":{"line":898,"column":9}},"228":{"start":{"line":897,"column":10},"end":{"line":897,"column":27}},"229":{"start":{"line":900,"column":8},"end":{"line":902,"column":9}},"230":{"start":{"line":901,"column":12},"end":{"line":901,"column":116}},"231":{"start":{"line":912,"column":6},"end":{"line":913,"column":96}},"232":{"start":{"line":914,"column":10},"end":{"line":914,"column":48}},"233":{"start":{"line":917,"column":6},"end":{"line":923,"column":9}},"234":{"start":{"line":918,"column":10},"end":{"line":918,"column":42}},"235":{"start":{"line":922,"column":10},"end":{"line":922,"column":43}},"236":{"start":{"line":933,"column":6},"end":{"line":934,"column":76}},"237":{"start":{"line":936,"column":6},"end":{"line":942,"column":7}},"238":{"start":{"line":937,"column":9},"end":{"line":937,"column":42}},"239":{"start":{"line":941,"column":9},"end":{"line":941,"column":43}},"240":{"start":{"line":952,"column":4},"end":{"line":952,"column":68}},"241":{"start":{"line":953,"column":4},"end":{"line":953,"column":72}},"242":{"start":{"line":962,"column":8},"end":{"line":962,"column":37}},"243":{"start":{"line":963,"column":8},"end":{"line":963,"column":34}},"244":{"start":{"line":975,"column":4},"end":{"line":979,"column":20}},"245":{"start":{"line":981,"column":2},"end":{"line":981,"column":46}},"246":{"start":{"line":982,"column":2},"end":{"line":982,"column":65}},"247":{"start":{"line":984,"column":4},"end":{"line":984,"column":33}},"248":{"start":{"line":986,"column":4},"end":{"line":989,"column":49}},"249":{"start":{"line":987,"column":22},"end":{"line":988,"column":53}},"250":{"start":{"line":991,"column":5},"end":{"line":991,"column":38}},"251":{"start":{"line":992,"column":5},"end":{"line":992,"column":38}},"252":{"start":{"line":994,"column":4},"end":{"line":994,"column":30}},"253":{"start":{"line":995,"column":4},"end":{"line":995,"column":32}},"254":{"start":{"line":997,"column":2},"end":{"line":997,"column":47}},"255":{"start":{"line":1013,"column":4},"end":{"line":1026,"column":22}},"256":{"start":{"line":1029,"column":8},"end":{"line":1029,"column":37}},"257":{"start":{"line":1032,"column":6},"end":{"line":1037,"column":7}},"258":{"start":{"line":1033,"column":15},"end":{"line":1036,"column":64}},"259":{"start":{"line":1040,"column":6},"end":{"line":1040,"column":97}},"260":{"start":{"line":1043,"column":10},"end":{"line":1079,"column":13}},"261":{"start":{"line":1045,"column":14},"end":{"line":1078,"column":14}},"262":{"start":{"line":1048,"column":13},"end":{"line":1048,"column":43}},"263":{"start":{"line":1051,"column":13},"end":{"line":1051,"column":63}},"264":{"start":{"line":1054,"column":13},"end":{"line":1054,"column":46}},"265":{"start":{"line":1056,"column":13},"end":{"line":1061,"column":18}},"266":{"start":{"line":1057,"column":14},"end":{"line":1057,"column":53}},"267":{"start":{"line":1059,"column":22},"end":{"line":1061,"column":18}},"268":{"start":{"line":1060,"column":18},"end":{"line":1060,"column":57}},"269":{"start":{"line":1064,"column":13},"end":{"line":1066,"column":14}},"270":{"start":{"line":1065,"column":15},"end":{"line":1065,"column":31}},"271":{"start":{"line":1069,"column":13},"end":{"line":1069,"column":109}},"272":{"start":{"line":1072,"column":13},"end":{"line":1077,"column":67}},"273":{"start":{"line":1082,"column":6},"end":{"line":1082,"column":37}},"274":{"start":{"line":1085,"column":6},"end":{"line":1088,"column":9}},"275":{"start":{"line":1086,"column":9},"end":{"line":1087,"column":72}},"276":{"start":{"line":1091,"column":6},"end":{"line":1091,"column":45}},"277":{"start":{"line":1094,"column":6},"end":{"line":1094,"column":64}},"278":{"start":{"line":1095,"column":6},"end":{"line":1095,"column":76}},"279":{"start":{"line":1099,"column":10},"end":{"line":1100,"column":61}},"280":{"start":{"line":1104,"column":8},"end":{"line":1104,"column":109}},"281":{"start":{"line":1106,"column":6},"end":{"line":1106,"column":20}},"282":{"start":{"line":1121,"column":5},"end":{"line":1127,"column":33}},"283":{"start":{"line":1130,"column":9},"end":{"line":1130,"column":47}},"284":{"start":{"line":1131,"column":9},"end":{"line":1131,"column":82}},"285":{"start":{"line":1134,"column":9},"end":{"line":1202,"column":9}},"286":{"start":{"line":1135,"column":8},"end":{"line":1135,"column":68}},"287":{"start":{"line":1136,"column":8},"end":{"line":1136,"column":50}},"288":{"start":{"line":1138,"column":8},"end":{"line":1201,"column":9}},"289":{"start":{"line":1139,"column":12},"end":{"line":1139,"column":51}},"290":{"start":{"line":1143,"column":10},"end":{"line":1200,"column":11}},"291":{"start":{"line":1146,"column":10},"end":{"line":1146,"column":57}},"292":{"start":{"line":1147,"column":10},"end":{"line":1154,"column":11}},"293":{"start":{"line":1148,"column":12},"end":{"line":1148,"column":38}},"294":{"start":{"line":1149,"column":12},"end":{"line":1149,"column":69}},"295":{"start":{"line":1152,"column":12},"end":{"line":1152,"column":41}},"296":{"start":{"line":1153,"column":12},"end":{"line":1153,"column":66}},"297":{"start":{"line":1155,"column":10},"end":{"line":1155,"column":16}},"298":{"start":{"line":1157,"column":10},"end":{"line":1157,"column":57}},"299":{"start":{"line":1158,"column":10},"end":{"line":1165,"column":11}},"300":{"start":{"line":1159,"column":12},"end":{"line":1159,"column":38}},"301":{"start":{"line":1160,"column":12},"end":{"line":1160,"column":69}},"302":{"start":{"line":1163,"column":12},"end":{"line":1163,"column":41}},"303":{"start":{"line":1164,"column":12},"end":{"line":1164,"column":69}},"304":{"start":{"line":1166,"column":10},"end":{"line":1166,"column":16}},"305":{"start":{"line":1168,"column":10},"end":{"line":1168,"column":57}},"306":{"start":{"line":1169,"column":10},"end":{"line":1176,"column":11}},"307":{"start":{"line":1170,"column":12},"end":{"line":1170,"column":38}},"308":{"start":{"line":1171,"column":12},"end":{"line":1171,"column":69}},"309":{"start":{"line":1174,"column":12},"end":{"line":1174,"column":41}},"310":{"start":{"line":1175,"column":12},"end":{"line":1175,"column":69}},"311":{"start":{"line":1177,"column":10},"end":{"line":1177,"column":16}},"312":{"start":{"line":1179,"column":10},"end":{"line":1179,"column":57}},"313":{"start":{"line":1180,"column":10},"end":{"line":1187,"column":11}},"314":{"start":{"line":1181,"column":12},"end":{"line":1181,"column":38}},"315":{"start":{"line":1182,"column":12},"end":{"line":1182,"column":69}},"316":{"start":{"line":1185,"column":12},"end":{"line":1185,"column":41}},"317":{"start":{"line":1186,"column":12},"end":{"line":1186,"column":69}},"318":{"start":{"line":1188,"column":10},"end":{"line":1188,"column":16}},"319":{"start":{"line":1190,"column":10},"end":{"line":1190,"column":57}},"320":{"start":{"line":1191,"column":10},"end":{"line":1198,"column":11}},"321":{"start":{"line":1192,"column":12},"end":{"line":1192,"column":38}},"322":{"start":{"line":1193,"column":12},"end":{"line":1193,"column":69}},"323":{"start":{"line":1196,"column":12},"end":{"line":1196,"column":41}},"324":{"start":{"line":1197,"column":12},"end":{"line":1197,"column":69}},"325":{"start":{"line":1199,"column":10},"end":{"line":1199,"column":16}},"326":{"start":{"line":1204,"column":4},"end":{"line":1204,"column":55}},"327":{"start":{"line":1205,"column":4},"end":{"line":1205,"column":59}},"328":{"start":{"line":1206,"column":4},"end":{"line":1206,"column":52}},"329":{"start":{"line":1209,"column":2},"end":{"line":1209,"column":41}},"330":{"start":{"line":1221,"column":6},"end":{"line":1222,"column":50}},"331":{"start":{"line":1224,"column":6},"end":{"line":1229,"column":7}},"332":{"start":{"line":1225,"column":8},"end":{"line":1225,"column":71}},"333":{"start":{"line":1227,"column":11},"end":{"line":1229,"column":7}},"334":{"start":{"line":1228,"column":8},"end":{"line":1228,"column":59}},"335":{"start":{"line":1231,"column":6},"end":{"line":1231,"column":26}},"336":{"start":{"line":1242,"column":6},"end":{"line":1245,"column":53}},"337":{"start":{"line":1257,"column":8},"end":{"line":1259,"column":24}},"338":{"start":{"line":1262,"column":8},"end":{"line":1262,"column":74}},"339":{"start":{"line":1263,"column":8},"end":{"line":1263,"column":51}},"340":{"start":{"line":1265,"column":10},"end":{"line":1266,"column":76}},"341":{"start":{"line":1269,"column":8},"end":{"line":1273,"column":9}},"342":{"start":{"line":1270,"column":10},"end":{"line":1270,"column":128}},"343":{"start":{"line":1271,"column":10},"end":{"line":1271,"column":20}},"344":{"start":{"line":1272,"column":10},"end":{"line":1272,"column":28}},"345":{"start":{"line":1275,"column":8},"end":{"line":1275,"column":114}},"346":{"start":{"line":1278,"column":8},"end":{"line":1278,"column":35}},"347":{"start":{"line":1280,"column":4},"end":{"line":1280,"column":18}},"348":{"start":{"line":1512,"column":8},"end":{"line":1512,"column":47}},"349":{"start":{"line":1513,"column":8},"end":{"line":1518,"column":9}},"350":{"start":{"line":1514,"column":12},"end":{"line":1514,"column":36}},"351":{"start":{"line":1517,"column":12},"end":{"line":1517,"column":27}},"352":{"start":{"line":1557,"column":34},"end":{"line":1557,"column":69}},"353":{"start":{"line":1606,"column":12},"end":{"line":1606,"column":50}},"354":{"start":{"line":1624,"column":16},"end":{"line":1624,"column":40}},"355":{"start":{"line":1625,"column":16},"end":{"line":1625,"column":58}}},"branchMap":{"1":{"line":147,"type":"if","locations":[{"start":{"line":147,"column":4},"end":{"line":147,"column":4}},{"start":{"line":147,"column":4},"end":{"line":147,"column":4}}]},"2":{"line":163,"type":"if","locations":[{"start":{"line":163,"column":8},"end":{"line":163,"column":8}},{"start":{"line":163,"column":8},"end":{"line":163,"column":8}}]},"3":{"line":166,"type":"if","locations":[{"start":{"line":166,"column":8},"end":{"line":166,"column":8}},{"start":{"line":166,"column":8},"end":{"line":166,"column":8}}]},"4":{"line":229,"type":"if","locations":[{"start":{"line":229,"column":8},"end":{"line":229,"column":8}},{"start":{"line":229,"column":8},"end":{"line":229,"column":8}}]},"5":{"line":229,"type":"binary-expr","locations":[{"start":{"line":229,"column":12},"end":{"line":229,"column":45}},{"start":{"line":229,"column":49},"end":{"line":229,"column":89}}]},"6":{"line":251,"type":"if","locations":[{"start":{"line":251,"column":8},"end":{"line":251,"column":8}},{"start":{"line":251,"column":8},"end":{"line":251,"column":8}}]},"7":{"line":260,"type":"if","locations":[{"start":{"line":260,"column":16},"end":{"line":260,"column":16}},{"start":{"line":260,"column":16},"end":{"line":260,"column":16}}]},"8":{"line":260,"type":"binary-expr","locations":[{"start":{"line":260,"column":20},"end":{"line":260,"column":37}},{"start":{"line":260,"column":41},"end":{"line":260,"column":70}},{"start":{"line":260,"column":74},"end":{"line":260,"column":103}}]},"9":{"line":263,"type":"if","locations":[{"start":{"line":263,"column":21},"end":{"line":263,"column":21}},{"start":{"line":263,"column":21},"end":{"line":263,"column":21}}]},"10":{"line":263,"type":"binary-expr","locations":[{"start":{"line":263,"column":25},"end":{"line":263,"column":42}},{"start":{"line":263,"column":47},"end":{"line":263,"column":79}}]},"11":{"line":291,"type":"if","locations":[{"start":{"line":291,"column":10},"end":{"line":291,"column":10}},{"start":{"line":291,"column":10},"end":{"line":291,"column":10}}]},"12":{"line":292,"type":"if","locations":[{"start":{"line":292,"column":14},"end":{"line":292,"column":14}},{"start":{"line":292,"column":14},"end":{"line":292,"column":14}}]},"13":{"line":297,"type":"if","locations":[{"start":{"line":297,"column":22},"end":{"line":297,"column":22}},{"start":{"line":297,"column":22},"end":{"line":297,"column":22}}]},"14":{"line":298,"type":"if","locations":[{"start":{"line":298,"column":26},"end":{"line":298,"column":26}},{"start":{"line":298,"column":26},"end":{"line":298,"column":26}}]},"15":{"line":303,"type":"if","locations":[{"start":{"line":303,"column":34},"end":{"line":303,"column":34}},{"start":{"line":303,"column":34},"end":{"line":303,"column":34}}]},"16":{"line":304,"type":"if","locations":[{"start":{"line":304,"column":38},"end":{"line":304,"column":38}},{"start":{"line":304,"column":38},"end":{"line":304,"column":38}}]},"17":{"line":309,"type":"if","locations":[{"start":{"line":309,"column":46},"end":{"line":309,"column":46}},{"start":{"line":309,"column":46},"end":{"line":309,"column":46}}]},"18":{"line":310,"type":"if","locations":[{"start":{"line":310,"column":50},"end":{"line":310,"column":50}},{"start":{"line":310,"column":50},"end":{"line":310,"column":50}}]},"19":{"line":355,"type":"if","locations":[{"start":{"line":355,"column":7},"end":{"line":355,"column":7}},{"start":{"line":355,"column":7},"end":{"line":355,"column":7}}]},"20":{"line":358,"type":"if","locations":[{"start":{"line":358,"column":12},"end":{"line":358,"column":12}},{"start":{"line":358,"column":12},"end":{"line":358,"column":12}}]},"21":{"line":372,"type":"if","locations":[{"start":{"line":372,"column":6},"end":{"line":372,"column":6}},{"start":{"line":372,"column":6},"end":{"line":372,"column":6}}]},"22":{"line":375,"type":"if","locations":[{"start":{"line":375,"column":11},"end":{"line":375,"column":11}},{"start":{"line":375,"column":11},"end":{"line":375,"column":11}}]},"23":{"line":388,"type":"if","locations":[{"start":{"line":388,"column":6},"end":{"line":388,"column":6}},{"start":{"line":388,"column":6},"end":{"line":388,"column":6}}]},"24":{"line":391,"type":"if","locations":[{"start":{"line":391,"column":11},"end":{"line":391,"column":11}},{"start":{"line":391,"column":11},"end":{"line":391,"column":11}}]},"25":{"line":394,"type":"if","locations":[{"start":{"line":394,"column":11},"end":{"line":394,"column":11}},{"start":{"line":394,"column":11},"end":{"line":394,"column":11}}]},"26":{"line":410,"type":"if","locations":[{"start":{"line":410,"column":6},"end":{"line":410,"column":6}},{"start":{"line":410,"column":6},"end":{"line":410,"column":6}}]},"27":{"line":416,"type":"if","locations":[{"start":{"line":416,"column":8},"end":{"line":416,"column":8}},{"start":{"line":416,"column":8},"end":{"line":416,"column":8}}]},"28":{"line":417,"type":"if","locations":[{"start":{"line":417,"column":12},"end":{"line":417,"column":12}},{"start":{"line":417,"column":12},"end":{"line":417,"column":12}}]},"29":{"line":433,"type":"if","locations":[{"start":{"line":433,"column":8},"end":{"line":433,"column":8}},{"start":{"line":433,"column":8},"end":{"line":433,"column":8}}]},"30":{"line":463,"type":"if","locations":[{"start":{"line":463,"column":12},"end":{"line":463,"column":12}},{"start":{"line":463,"column":12},"end":{"line":463,"column":12}}]},"31":{"line":494,"type":"if","locations":[{"start":{"line":494,"column":8},"end":{"line":494,"column":8}},{"start":{"line":494,"column":8},"end":{"line":494,"column":8}}]},"32":{"line":494,"type":"binary-expr","locations":[{"start":{"line":494,"column":12},"end":{"line":494,"column":45}},{"start":{"line":495,"column":12},"end":{"line":495,"column":52}},{"start":{"line":496,"column":12},"end":{"line":496,"column":57}}]},"33":{"line":498,"type":"if","locations":[{"start":{"line":498,"column":15},"end":{"line":498,"column":15}},{"start":{"line":498,"column":15},"end":{"line":498,"column":15}}]},"34":{"line":543,"type":"if","locations":[{"start":{"line":543,"column":8},"end":{"line":543,"column":8}},{"start":{"line":543,"column":8},"end":{"line":543,"column":8}}]},"35":{"line":588,"type":"if","locations":[{"start":{"line":588,"column":8},"end":{"line":588,"column":8}},{"start":{"line":588,"column":8},"end":{"line":588,"column":8}}]},"36":{"line":597,"type":"if","locations":[{"start":{"line":597,"column":16},"end":{"line":597,"column":16}},{"start":{"line":597,"column":16},"end":{"line":597,"column":16}}]},"37":{"line":599,"type":"if","locations":[{"start":{"line":599,"column":20},"end":{"line":599,"column":20}},{"start":{"line":599,"column":20},"end":{"line":599,"column":20}}]},"38":{"line":599,"type":"binary-expr","locations":[{"start":{"line":599,"column":25},"end":{"line":599,"column":31}},{"start":{"line":599,"column":35},"end":{"line":599,"column":65}},{"start":{"line":599,"column":71},"end":{"line":599,"column":78}},{"start":{"line":599,"column":82},"end":{"line":599,"column":89}},{"start":{"line":599,"column":93},"end":{"line":599,"column":125}}]},"39":{"line":603,"type":"if","locations":[{"start":{"line":603,"column":20},"end":{"line":603,"column":20}},{"start":{"line":603,"column":20},"end":{"line":603,"column":20}}]},"40":{"line":608,"type":"if","locations":[{"start":{"line":608,"column":21},"end":{"line":608,"column":21}},{"start":{"line":608,"column":21},"end":{"line":608,"column":21}}]},"41":{"line":653,"type":"switch","locations":[{"start":{"line":654,"column":10},"end":{"line":661,"column":19}},{"start":{"line":662,"column":10},"end":{"line":664,"column":19}},{"start":{"line":665,"column":10},"end":{"line":672,"column":19}},{"start":{"line":673,"column":10},"end":{"line":680,"column":19}},{"start":{"line":681,"column":10},"end":{"line":688,"column":19}},{"start":{"line":689,"column":10},"end":{"line":696,"column":19}},{"start":{"line":697,"column":10},"end":{"line":704,"column":19}}]},"42":{"line":655,"type":"if","locations":[{"start":{"line":655,"column":13},"end":{"line":655,"column":13}},{"start":{"line":655,"column":13},"end":{"line":655,"column":13}}]},"43":{"line":666,"type":"if","locations":[{"start":{"line":666,"column":13},"end":{"line":666,"column":13}},{"start":{"line":666,"column":13},"end":{"line":666,"column":13}}]},"44":{"line":674,"type":"if","locations":[{"start":{"line":674,"column":13},"end":{"line":674,"column":13}},{"start":{"line":674,"column":13},"end":{"line":674,"column":13}}]},"45":{"line":682,"type":"if","locations":[{"start":{"line":682,"column":13},"end":{"line":682,"column":13}},{"start":{"line":682,"column":13},"end":{"line":682,"column":13}}]},"46":{"line":690,"type":"if","locations":[{"start":{"line":690,"column":13},"end":{"line":690,"column":13}},{"start":{"line":690,"column":13},"end":{"line":690,"column":13}}]},"47":{"line":698,"type":"if","locations":[{"start":{"line":698,"column":13},"end":{"line":698,"column":13}},{"start":{"line":698,"column":13},"end":{"line":698,"column":13}}]},"48":{"line":750,"type":"if","locations":[{"start":{"line":750,"column":6},"end":{"line":750,"column":6}},{"start":{"line":750,"column":6},"end":{"line":750,"column":6}}]},"49":{"line":790,"type":"if","locations":[{"start":{"line":790,"column":8},"end":{"line":790,"column":8}},{"start":{"line":790,"column":8},"end":{"line":790,"column":8}}]},"50":{"line":794,"type":"if","locations":[{"start":{"line":794,"column":8},"end":{"line":794,"column":8}},{"start":{"line":794,"column":8},"end":{"line":794,"column":8}}]},"51":{"line":862,"type":"if","locations":[{"start":{"line":862,"column":8},"end":{"line":862,"column":8}},{"start":{"line":862,"column":8},"end":{"line":862,"column":8}}]},"52":{"line":862,"type":"binary-expr","locations":[{"start":{"line":862,"column":12},"end":{"line":862,"column":29}},{"start":{"line":862,"column":34},"end":{"line":862,"column":48}}]},"53":{"line":865,"type":"if","locations":[{"start":{"line":865,"column":13},"end":{"line":865,"column":13}},{"start":{"line":865,"column":13},"end":{"line":865,"column":13}}]},"54":{"line":865,"type":"binary-expr","locations":[{"start":{"line":865,"column":17},"end":{"line":865,"column":34}},{"start":{"line":865,"column":38},"end":{"line":865,"column":53}}]},"55":{"line":893,"type":"if","locations":[{"start":{"line":893,"column":8},"end":{"line":893,"column":8}},{"start":{"line":893,"column":8},"end":{"line":893,"column":8}}]},"56":{"line":893,"type":"binary-expr","locations":[{"start":{"line":893,"column":12},"end":{"line":893,"column":29}},{"start":{"line":893,"column":34},"end":{"line":893,"column":48}}]},"57":{"line":896,"type":"if","locations":[{"start":{"line":896,"column":13},"end":{"line":896,"column":13}},{"start":{"line":896,"column":13},"end":{"line":896,"column":13}}]},"58":{"line":896,"type":"binary-expr","locations":[{"start":{"line":896,"column":17},"end":{"line":896,"column":34}},{"start":{"line":896,"column":38},"end":{"line":896,"column":53}}]},"59":{"line":917,"type":"if","locations":[{"start":{"line":917,"column":6},"end":{"line":917,"column":6}},{"start":{"line":917,"column":6},"end":{"line":917,"column":6}}]},"60":{"line":936,"type":"if","locations":[{"start":{"line":936,"column":6},"end":{"line":936,"column":6}},{"start":{"line":936,"column":6},"end":{"line":936,"column":6}}]},"61":{"line":1015,"type":"binary-expr","locations":[{"start":{"line":1015,"column":19},"end":{"line":1015,"column":58}},{"start":{"line":1015,"column":62},"end":{"line":1015,"column":104}}]},"62":{"line":1016,"type":"binary-expr","locations":[{"start":{"line":1016,"column":23},"end":{"line":1016,"column":51}},{"start":{"line":1016,"column":55},"end":{"line":1016,"column":133}}]},"63":{"line":1018,"type":"binary-expr","locations":[{"start":{"line":1018,"column":19},"end":{"line":1018,"column":52}},{"start":{"line":1018,"column":56},"end":{"line":1018,"column":57}}]},"64":{"line":1056,"type":"if","locations":[{"start":{"line":1056,"column":13},"end":{"line":1056,"column":13}},{"start":{"line":1056,"column":13},"end":{"line":1056,"column":13}}]},"65":{"line":1059,"type":"if","locations":[{"start":{"line":1059,"column":22},"end":{"line":1059,"column":22}},{"start":{"line":1059,"column":22},"end":{"line":1059,"column":22}}]},"66":{"line":1064,"type":"if","locations":[{"start":{"line":1064,"column":13},"end":{"line":1064,"column":13}},{"start":{"line":1064,"column":13},"end":{"line":1064,"column":13}}]},"67":{"line":1064,"type":"binary-expr","locations":[{"start":{"line":1064,"column":17},"end":{"line":1064,"column":25}},{"start":{"line":1064,"column":29},"end":{"line":1064,"column":47}}]},"68":{"line":1069,"type":"cond-expr","locations":[{"start":{"line":1069,"column":89},"end":{"line":1069,"column":91}},{"start":{"line":1069,"column":94},"end":{"line":1069,"column":108}}]},"69":{"line":1069,"type":"binary-expr","locations":[{"start":{"line":1069,"column":38},"end":{"line":1069,"column":57}},{"start":{"line":1069,"column":61},"end":{"line":1069,"column":85}}]},"70":{"line":1121,"type":"binary-expr","locations":[{"start":{"line":1121,"column":20},"end":{"line":1121,"column":53}},{"start":{"line":1121,"column":57},"end":{"line":1121,"column":58}}]},"71":{"line":1138,"type":"if","locations":[{"start":{"line":1138,"column":8},"end":{"line":1138,"column":8}},{"start":{"line":1138,"column":8},"end":{"line":1138,"column":8}}]},"72":{"line":1138,"type":"binary-expr","locations":[{"start":{"line":1138,"column":12},"end":{"line":1138,"column":30}},{"start":{"line":1138,"column":34},"end":{"line":1138,"column":59}}]},"73":{"line":1143,"type":"switch","locations":[{"start":{"line":1145,"column":9},"end":{"line":1155,"column":16}},{"start":{"line":1156,"column":9},"end":{"line":1166,"column":16}},{"start":{"line":1167,"column":9},"end":{"line":1177,"column":16}},{"start":{"line":1178,"column":9},"end":{"line":1188,"column":16}},{"start":{"line":1189,"column":9},"end":{"line":1199,"column":16}}]},"74":{"line":1147,"type":"if","locations":[{"start":{"line":1147,"column":10},"end":{"line":1147,"column":10}},{"start":{"line":1147,"column":10},"end":{"line":1147,"column":10}}]},"75":{"line":1158,"type":"if","locations":[{"start":{"line":1158,"column":10},"end":{"line":1158,"column":10}},{"start":{"line":1158,"column":10},"end":{"line":1158,"column":10}}]},"76":{"line":1169,"type":"if","locations":[{"start":{"line":1169,"column":10},"end":{"line":1169,"column":10}},{"start":{"line":1169,"column":10},"end":{"line":1169,"column":10}}]},"77":{"line":1180,"type":"if","locations":[{"start":{"line":1180,"column":10},"end":{"line":1180,"column":10}},{"start":{"line":1180,"column":10},"end":{"line":1180,"column":10}}]},"78":{"line":1191,"type":"if","locations":[{"start":{"line":1191,"column":10},"end":{"line":1191,"column":10}},{"start":{"line":1191,"column":10},"end":{"line":1191,"column":10}}]},"79":{"line":1224,"type":"if","locations":[{"start":{"line":1224,"column":6},"end":{"line":1224,"column":6}},{"start":{"line":1224,"column":6},"end":{"line":1224,"column":6}}]},"80":{"line":1227,"type":"if","locations":[{"start":{"line":1227,"column":11},"end":{"line":1227,"column":11}},{"start":{"line":1227,"column":11},"end":{"line":1227,"column":11}}]},"81":{"line":1513,"type":"if","locations":[{"start":{"line":1513,"column":8},"end":{"line":1513,"column":8}},{"start":{"line":1513,"column":8},"end":{"line":1513,"column":8}}]}},"code":["(function () { YUI.add('calendar-base', function (Y, NAME) {","","/**"," * The CalendarBase submodule is a basic UI calendar view that displays"," * a range of dates in a two-dimensional month grid, with one or more"," * months visible at a single time. CalendarBase supports custom date"," * rendering, multiple calendar panes, and selection. "," * @module calendar"," * @submodule calendar-base"," */","    ","var getCN                 = Y.ClassNameManager.getClassName,","    CALENDAR              = 'calendar',","    CAL_GRID              = getCN(CALENDAR, 'grid'),","    CAL_LEFT_GRID         = getCN(CALENDAR, 'left-grid'),","    CAL_RIGHT_GRID        = getCN(CALENDAR, 'right-grid'),","    CAL_BODY              = getCN(CALENDAR, 'body'),","    CAL_HD                = getCN(CALENDAR, 'header'),","    CAL_HD_LABEL          = getCN(CALENDAR, 'header-label'),","    CAL_WDAYROW           = getCN(CALENDAR, 'weekdayrow'),","    CAL_WDAY              = getCN(CALENDAR, 'weekday'),","    CAL_COL_HIDDEN        = getCN(CALENDAR, 'column-hidden'),","    CAL_DAY_SELECTED      = getCN(CALENDAR, 'day-selected'),","    SELECTION_DISABLED    = getCN(CALENDAR, 'selection-disabled'),","    CAL_ROW               = getCN(CALENDAR, 'row'),","    CAL_DAY               = getCN(CALENDAR, 'day'),","    CAL_PREVMONTH_DAY     = getCN(CALENDAR, 'prevmonth-day'),","    CAL_NEXTMONTH_DAY     = getCN(CALENDAR, 'nextmonth-day'),","    CAL_ANCHOR            = getCN(CALENDAR, 'anchor'),","    CAL_PANE              = getCN(CALENDAR, 'pane'),","    CAL_STATUS            = getCN(CALENDAR, 'status'),","    L           = Y.Lang,","    node        = Y.Node,","    create      = node.create,","    substitute  = Y.substitute,","    each        = Y.each,","    hasVal      = Y.Array.hasValue,","    iOf         = Y.Array.indexOf,","    hasKey      = Y.Object.hasKey,","    setVal      = Y.Object.setValue,","    owns        = Y.Object.owns,","    isEmpty     = Y.Object.isEmpty,","    ydate       = Y.DataType.Date;","","/** Create a calendar view to represent a single or multiple","  * month range of dates, rendered as a grid with date and","  * weekday labels.","  * ","  * @class CalendarBase","  * @extends Widget","  * @param config {Object} Configuration object (see Configuration ","  * attributes)","  * @constructor","  */","function CalendarBase(config) {","  CalendarBase.superclass.constructor.apply ( this, arguments );","}","","","","Y.CalendarBase = Y.extend( CalendarBase, Y.Widget, {","","  /**","   * A storage for various properties of individual month","   * panes.","   *","   * @property _paneProperties","   * @type Object","   * @private","   */","  _paneProperties : {},","","  /**","   * The number of month panes in the calendar, deduced","   * from the CONTENT_TEMPLATE's number of {calendar_grid}","   * tokens.","   *","   * @property _paneNumber","   * @type Number","   * @private","   */","  _paneNumber : 1,","","  /**","   * The unique id used to prefix various elements of this","   * calendar instance.","   *","   * @property _calendarId","   * @type String","   * @private","   */","  _calendarId : null,","","  /**","   * The hash map of selected dates, populated with","   * selectDates() and deselectDates() methods ","   *","   * @property _selectedDates","   * @type Object","   * @private","   */","  _selectedDates : {},","","  /**","   * A private copy of the rules object, populated","   * by setting the customRenderer attribute.","   *","   * @property _rules","   * @type Object","   * @private","   */","  _rules : {},","","  /**","   * A private copy of the filterFunction, populated","   * by setting the customRenderer attribute.","   *","   * @property _filterFunction","   * @type Function","   * @private","   */","  _filterFunction : null,","","  /**","   * Storage for calendar cells modified by any custom","   * formatting. The storage is cleared, used to restore","   * cells to the original state, and repopulated accordingly","   * when the calendar is rerendered. ","   *","   * @property _storedDateCells","   * @type Object","   * @private","   */","  _storedDateCells : {},","","  /**","   * Designated initializer","   * Initializes instance-level properties of","   * calendar.","   *","   * @method initializer","   */  ","  initializer : function () {","    this._paneProperties = {};","    this._calendarId = Y.guid('calendar');","    this._selectedDates = {};","    if (isEmpty(this._rules)) {","       this._rules = {};      ","    }","    this._storedDateCells = {};","  },","","  /**","   * renderUI implementation","   *","   * Creates a visual representation of the calendar based on existing parameters. ","   * @method renderUI","   */  ","  renderUI : function () {","","      var contentBox = this.get('contentBox');","      contentBox.appendChild(this._initCalendarHTML(this.get('date')));","        if (this.get('showPrevMonth')) {","            this._afterShowPrevMonthChange();","        }","        if (this.get('showNextMonth')) {","            this._afterShowNextMonthChange();","        }","      this._renderCustomRules();","      this._renderSelectedDates();","","    this.get(\"boundingBox\").setAttribute(\"aria-labelledby\", this._calendarId + \"_header\");","","  },","  /**","   * bindUI implementation","   *","   * Assigns listeners to relevant events that change the state","   * of the calendar.","   * @method bindUI","   */ ","  bindUI : function () {","    this.after('dateChange', this._afterDateChange);","    this.after('showPrevMonthChange', this._afterShowPrevMonthChange);","    this.after('showNextMonthChange', this._afterShowNextMonthChange);","    this.after('headerRendererChange', this._afterHeaderRendererChange);","    this.after('customRendererChange', this._afterCustomRendererChange);","    this.after('enabledDatesRuleChange', this._afterCustomRendererChange);","    this.after('disabledDatesRuleChange', this._afterCustomRendererChange);","    this.after('focusedChange', this._afterFocusedChange);","    this.after('selectionChange', this._renderSelectedDates);","    this._bindCalendarEvents();","  },","","","    /**","     * An internal utility method that generates a list of selected dates ","     * from the hash storage.","     *","     * @method _getSelectedDatesList","     * @protected","     * @return {Array} The array of `Date`s that are currently selected.","     */","    _getSelectedDatesList : function () {","      var output = [];","      each (this._selectedDates, function (year) {","        each (year, function (month) {","          each (month, function (day) {","           output.push (day);","           }, this);","        }, this);","      }, this);","      return output;","    },","","    /**","     * A utility method that returns all dates selected in a specific month.","     *","     * @method _getSelectedDatesInMonth","     * @param {Date} oDate corresponding to the month for which selected dates","     * are requested.","     * @protected","     * @return {Array} The array of `Date`s in a given month that are currently selected.","     */","    _getSelectedDatesInMonth : function (oDate) {","      var year = oDate.getFullYear(),","          month = oDate.getMonth();","      ","        if (hasKey(this._selectedDates, year) && hasKey(this._selectedDates[year], month)) {","           return Y.Object.values(this._selectedDates[year][month]); ","        }","        else {","           return [];","        }","      },","","","    /**","     * An internal parsing method that receives a String list of numbers","     * and number ranges (of the form \"1,2,3,4-6,7-9,10,11\" etc.) and checks","     * whether a specific number is included in this list. Used for looking","     * up dates in the customRenderer rule set.","     *","     * @method _isNumInList","     * @param {Number} num The number to look for in a list.","     * @param {String} strList The list of numbers of the form \"1,2,3,4-6,7-8,9\", etc.","     * @private","     * @return {boolean} Returns true if the given number is in the given list.","     */","    _isNumInList : function (num, strList) {","        if (strList == \"all\") {","            return true;","        }","        else {","            var elements = strList.split(\",\"),","                i = elements.length;","","            while (i--) {","                var range = elements[i].split(\"-\");","                if (range.length == 2 && num >= parseInt(range[0], 10) && num <= parseInt(range[1], 10)) {","                    return true;","                }","                else if (range.length == 1 && (parseInt(elements[i], 10) == num)) {","                    return true;","                }","            }","            return false;   ","        }","    },","","    /**","     * Given a specific date, returns an array of rules (from the customRenderer rule set)","     * that the given date matches.","     *","     * @method _getRulesForDate","     * @param {Date} oDate The date for which an array of rules is needed","     * @private","     * @return {Array} Returns an array of `String`s, each containg the name of","     * a rule that the given date matches.","     */","    _getRulesForDate : function (oDate) {","      var year = oDate.getFullYear(),","          month = oDate.getMonth(),","          date = oDate.getDate(),","          wday = oDate.getDay(),","          rules = this._rules, ","          outputRules = [],","          years, months, dates, days;","","      for (years in rules) {","          if (this._isNumInList(year, years)) {","              if (L.isString(rules[years])) {","                  outputRules.push(rules[years]);","              }","              else {","                  for (months in rules[years]) {","                      if (this._isNumInList(month, months)) {","                          if (L.isString(rules[years][months])) {","                              outputRules.push(rules[years][months]);","                          }","                          else {","                              for (dates in rules[years][months]) {","                                  if (this._isNumInList(date, dates)) {","                                      if (L.isString(rules[years][months][dates])) {","                                          outputRules.push(rules[years][months][dates]);","                                      }","                                      else {","                                          for (days in rules[years][months][dates]) {","                                              if (this._isNumInList(wday, days)) {","                                                  if (L.isString(rules[years][months][dates][days])) {","                                                     outputRules.push(rules[years][months][dates][days]);","                                                  }","                                              }","                                          }","                                      }","                                  }","                              }","                          }","                      }","                  } ","              }","          }","      }","      return outputRules;","    },","","    /**","     * A utility method which, given a specific date and a name of the rule,","     * checks whether the date matches the given rule.","     *","     * @method _matchesRule","     * @param {Date} oDate The date to check","     * @param {String} rule The name of the rule that the date should match.","     * @private","     * @return {boolean} Returns true if the date matches the given rule.","     *","     */","    _matchesRule : function (oDate, rule) {","        return (iOf(this._getRulesForDate(oDate), rule) >= 0);","    },","","    /**","     * A utility method which checks whether a given date matches the `enabledDatesRule`","     * or does not match the `disabledDatesRule` and therefore whether it can be selected.","     * @method _canBeSelected","     * @param {Date} oDate The date to check","     * @private","     * @return {boolean} Returns true if the date can be selected; false otherwise.","     */","    _canBeSelected : function (oDate) {","       ","       var enabledDatesRule = this.get(\"enabledDatesRule\"),","           disabledDatesRule = this.get(\"disabledDatesRule\");","","       if (enabledDatesRule) {","           return this._matchesRule(oDate, enabledDatesRule);","       }","       else if (disabledDatesRule) {","           return !this._matchesRule(oDate, disabledDatesRule);","       }","       else {","           return true;","       }","    },","","    /**","     * Selects a given date or array of dates.","     * @method selectDates","     * @param {Date|Array} dates A `Date` or `Array` of `Date`s.","     */","    selectDates : function (dates) {","      if (ydate.isValidDate(dates)) {","         this._addDateToSelection(dates);","      }","      else if (L.isArray(dates)) {","         this._addDatesToSelection(dates);","      }","    },","","    /**","     * Deselects a given date or array of dates, or deselects","     * all dates if no argument is specified.","     * @method deselectDates","     * @param {Date|Array} [dates] A `Date` or `Array` of `Date`s, or no","     * argument if all dates should be deselected.","     */","    deselectDates : function (dates) {","      if (!dates) {","         this._clearSelection();","      }","      else if (ydate.isValidDate(dates)) {","         this._removeDateFromSelection(dates);","      }","      else if (L.isArray(dates)) {","         this._removeDatesFromSelection(dates);","      }","    },","","    /**","     * A utility method that adds a given date to selection..","     * @method _addDateToSelection","     * @param {Date} oDate The date to add to selection.","     * @param {Number} [index] An optional parameter that is used","     * to differentiate between individual date selections and multiple","     * date selections.","     * @private","     */","    _addDateToSelection : function (oDate, index) {","","      if (this._canBeSelected(oDate)) {","","        var year = oDate.getFullYear(),","            month = oDate.getMonth(),","            day = oDate.getDate();","        ","        if (hasKey(this._selectedDates, year)) {","            if (hasKey(this._selectedDates[year], month)) {","                this._selectedDates[year][month][day] = oDate;","            }","            else {","                this._selectedDates[year][month] = {};","                this._selectedDates[year][month][day] = oDate;","            }","        }","        else {","            this._selectedDates[year] = {};","            this._selectedDates[year][month] = {};","            this._selectedDates[year][month][day] = oDate;","        }","","        this._selectedDates = setVal(this._selectedDates, [year, month, day], oDate);","","        if (!index) {","        this._fireSelectionChange();","        }","      }","    },","","    /**","     * A utility method that adds a given list of dates to selection.","     * @method _addDatesToSelection","     * @param {Array} datesArray The list of dates to add to selection.","     * @private","     */","    _addDatesToSelection : function (datesArray) {","        each(datesArray, this._addDateToSelection, this);","        this._fireSelectionChange();","    },","","    /**","     * A utility method that adds a given range of dates to selection.","     * @method _addDateRangeToSelection","     * @param {Date} startDate The first date of the given range.","     * @param {Date} endDate The last date of the given range.","     * @private","     */","    _addDateRangeToSelection : function (startDate, endDate) {","","        var timezoneDifference = (endDate.getTimezoneOffset() - startDate.getTimezoneOffset())*60000,","            startTime = startDate.getTime(),","            endTime   = endDate.getTime();","            ","            if (startTime > endTime) {","                var tempTime = startTime;","                startTime = endTime;","                endTime = tempTime + timezoneDifference;","            }","            else {","                endTime = endTime - timezoneDifference;","            }","","","        for (var time = startTime; time <= endTime; time += 86400000) {","            var addedDate = new Date(time);","                addedDate.setHours(12);","            this._addDateToSelection(addedDate, time);","        }","        this._fireSelectionChange();","    },","","    /**","     * A utility method that removes a given date from selection..","     * @method _removeDateFromSelection","     * @param {Date} oDate The date to remove from selection.","     * @param {Number} [index] An optional parameter that is used","     * to differentiate between individual date selections and multiple","     * date selections.","     * @private","     */","    _removeDateFromSelection : function (oDate, index) {","        var year = oDate.getFullYear(),","            month = oDate.getMonth(),","            day = oDate.getDate();","        if (hasKey(this._selectedDates, year) && ","            hasKey(this._selectedDates[year], month) && ","            hasKey(this._selectedDates[year][month], day)) {","               delete this._selectedDates[year][month][day];","               if (!index) {","                 this._fireSelectionChange();","               }","        }","    },","","    /**","     * A utility method that removes a given list of dates from selection.","     * @method _removeDatesFromSelection","     * @param {Array} datesArray The list of dates to remove from selection.","     * @private","     */","    _removeDatesFromSelection : function (datesArray) {","        each(datesArray, this._removeDateFromSelection, this);","        this._fireSelectionChange();","    },","","    /**","     * A utility method that removes a given range of dates from selection.","     * @method _removeDateRangeFromSelection","     * @param {Date} startDate The first date of the given range.","     * @param {Date} endDate The last date of the given range.","     * @private","     */","    _removeDateRangeFromSelection : function (startDate, endDate) {","        var startTime = startDate.getTime(),","            endTime   = endDate.getTime();","        ","        for (var time = startTime; time <= endTime; time += 86400000) {","            this._removeDateFromSelection(new Date(time), time);","        }","","        this._fireSelectionChange();    ","    },","","    /**","     * A utility method that removes all dates from selection.","     * @method _clearSelection","     * @param {boolean} noevent A Boolean specifying whether a selectionChange","     * event should be fired. If true, the event is not fired.","     * @private","     */","    _clearSelection : function (noevent) {","        this._selectedDates = {};","        this.get(\"contentBox\").all(\".\" + CAL_DAY_SELECTED).removeClass(CAL_DAY_SELECTED).setAttribute(\"aria-selected\", false);","        if (!noevent) {","          this._fireSelectionChange();","        }","    },","","    /**","     * A utility method that fires a selectionChange event.","     * @method _fireSelectionChange","     * @private","     */","    _fireSelectionChange : function () {","","   /**","     * Fired when the set of selected dates changes. Contains a payload with","     * a `newSelection` property with an array of selected dates.","     *","     * @event selectionChange","     */","      this.fire(\"selectionChange\", {newSelection: this._getSelectedDatesList()});","    },","","    /**","     * A utility method that restores cells modified by custom formatting.","     * @method _restoreModifiedCells","     * @private","     */","    _restoreModifiedCells : function () {","      var contentbox = this.get(\"contentBox\"),","          id;","      for (id in this._storedDateCells) {","          contentbox.one(\"#\" + id).replace(this._storedDateCells[id]);","          delete this._storedDateCells[id];","      }","    },","","    /**","     * A rendering assist method that renders all cells modified by the customRenderer","     * rules, as well as the enabledDatesRule and disabledDatesRule.","     * @method _renderCustomRules","     * @private","     */","    _renderCustomRules : function () {","","        this.get(\"contentBox\").all(\".\" + CAL_DAY + \",.\" + CAL_NEXTMONTH_DAY).removeClass(SELECTION_DISABLED).setAttribute(\"aria-disabled\", false);","","        if (!isEmpty(this._rules)) {","        var enRule = this.get(\"enabledDatesRule\"),","            disRule = this.get(\"disabledDatesRule\");","","           for (var paneNum = 0; paneNum < this._paneNumber; paneNum++) {","             var paneDate = ydate.addMonths(this.get(\"date\"), paneNum);","             var dateArray = ydate.listOfDatesInMonth(paneDate);","             each(dateArray, function (date) {","                var matchingRules = this._getRulesForDate(date);","                if (matchingRules.length > 0) {","                    var dateNode = this._dateToNode(date);","                    if ((enRule && iOf(matchingRules, enRule) < 0) || (!enRule && disRule && iOf(matchingRules, disRule) >= 0)) {","                            dateNode.addClass(SELECTION_DISABLED).setAttribute(\"aria-disabled\", true);","                        }","                        ","                    if (L.isFunction(this._filterFunction)) {","                        this._storedDateCells[dateNode.get(\"id\")] = dateNode.cloneNode(true);","                        this._filterFunction (date, dateNode, matchingRules);","                    }","                }","                else if (enRule) {","                   var dateNode = this._dateToNode(date);","                   dateNode.addClass(SELECTION_DISABLED).setAttribute(\"aria-disabled\", true);","                }","                },","             this);","          }","       }         ","    },","","    /**","     * A rendering assist method that renders all cells that are currently selected.","     * @method _renderSelectedDates","     * @private","     */","  _renderSelectedDates : function () {","    this.get(\"contentBox\").all(\".\" + CAL_DAY_SELECTED).removeClass(CAL_DAY_SELECTED).setAttribute(\"aria-selected\", false);","    ","        for (var paneNum = 0; paneNum < this._paneNumber; paneNum++) {","        var paneDate = ydate.addMonths(this.get(\"date\"), paneNum);","        var dateArray = this._getSelectedDatesInMonth(paneDate);","        each(dateArray, function (date) {","            this._dateToNode(date).addClass(CAL_DAY_SELECTED).setAttribute(\"aria-selected\", true);","                        },","             this);","      }","  },","","    /**","     * A utility method that converts a date to the node wrapping the calendar cell","     * the date corresponds to..","     * @method _dateToNode","     * @param {Date} oDate The date to convert to Node","     * @protected","     * @return {Node} The node wrapping the DOM element of the cell the date ","     * corresponds to.","     */","  _dateToNode : function (oDate) {","    var day = oDate.getDate(),","            col = 0,","            daymod = day%7,","            paneNum = (12 + oDate.getMonth() - this.get(\"date\").getMonth()) % 12,","            paneId = this._calendarId + \"_pane_\" + paneNum,","            cutoffCol = this._paneProperties[paneId].cutoffCol;","","        switch (daymod) {","          case (0):","             if (cutoffCol >= 6) {","               col = 12;","             }","             else {","               col = 5;","             }","             break;","          case (1):","               col = 6;","             break;","          case (2):","             if (cutoffCol > 0) {","               col = 7;","             }","             else {","               col = 0;","             }","             break;","          case (3):","             if (cutoffCol > 1) {","               col = 8;","             }","             else {","               col = 1;","             }","             break;","          case (4):","             if (cutoffCol > 2) {","               col = 9;","             }","             else {","               col = 2;","             }","             break;","          case (5):","             if (cutoffCol > 3) {","               col = 10;","             }","             else {","               col = 3;","             }","             break;","          case (6):","             if (cutoffCol > 4) {","               col = 11;","             }","             else {","               col = 4;","             }","             break;","        }","        return(this.get(\"contentBox\").one(\"#\" + this._calendarId + \"_pane_\" + paneNum + \"_\" + col + \"_\" + day));  ","","  },","","    /**","     * A utility method that converts a node corresponding to the DOM element of","     * the cell for a particular date to that date.","     * @method _nodeToDate","     * @param {Node} oNode The Node wrapping the DOM element of a particular date cell.","     * @protected","     * @return {Date} The date corresponding to the DOM element that the given node wraps.","     */","  _nodeToDate : function (oNode) {","    ","        var idParts = oNode.get(\"id\").split(\"_\").reverse(),","            paneNum = parseInt(idParts[2], 10),","            day  = parseInt(idParts[0], 10);","","        var shiftedDate = ydate.addMonths(this.get(\"date\"), paneNum),","            year = shiftedDate.getFullYear(),","            month = shiftedDate.getMonth();","","    return new Date(year, month, day, 12, 0, 0, 0);","  },","","    /**","     * A placeholder method, called from bindUI, to bind the Calendar events.","     * @method _bindCalendarEvents","     * @protected","     */","  _bindCalendarEvents : function () {","    ","  },","","    /**","     * A utility method that normalizes a given date by converting it to the 1st","     * day of the month the date is in, with the time set to noon.","     * @method _normalizeDate","     * @param {Date} oDate The date to normalize","     * @protected","     * @return {Date} The normalized date, set to the first of the month, with time","     * set to noon.","     */","    _normalizeDate : function (date) {","      if (date) {","       return new Date(date.getFullYear(), date.getMonth(), 1, 12, 0, 0, 0);","      }","      else {","       return null;","      }  ","    },","","","    /**","     * A render assist utility method that computes the cutoff column for the calendar ","     * rendering mask.","     * @method _getCutoffColumn","     * @param {Date} date The date of the month grid to compute the cutoff column for.","     * @param {Number} firstday The first day of the week (modified by internationalized calendars)","     * @private","     * @return {Number} The number of the cutoff column.","     */","    _getCutoffColumn : function (date, firstday) {","","   var distance = this._normalizeDate(date).getDay() - firstday;","   var cutOffColumn = 6 - (distance + 7)%7;","   return cutOffColumn;","","    },","","    /**","     * A render assist method that turns on the view of the previous month's dates ","     * in a given calendar pane.","     * @method _turnPrevMonthOn","     * @param {Node} pane The calendar pane that needs its previous month's dates view","     * modified.","     * @protected","     */","    _turnPrevMonthOn : function (pane) {","        ","        var pane_id = pane.get(\"id\"),","            pane_date = this._paneProperties[pane_id].paneDate,","            daysInPrevMonth = ydate.daysInMonth(ydate.addMonths(pane_date, -1));","","        if (!this._paneProperties[pane_id].hasOwnProperty(\"daysInPrevMonth\")) {","          this._paneProperties[pane_id].daysInPrevMonth = 0;","        }","","        if (daysInPrevMonth != this._paneProperties[pane_id].daysInPrevMonth) {","        ","        this._paneProperties[pane_id].daysInPrevMonth = daysInPrevMonth;","","        for (var cell = 5; cell >= 0; cell--) ","           {","            pane.one(\"#\" + pane_id + \"_\" + cell + \"_\" + (cell-5)).set('text', daysInPrevMonth--);","           }","","        }","","","    },","","    /**","     * A render assist method that turns off the view of the previous month's dates ","     * in a given calendar pane.","     * @method _turnPrevMonthOff","     * @param {Node} pane The calendar pane that needs its previous month's dates view","     * modified.","     * @protected","     */","    _turnPrevMonthOff : function (pane) {","          var pane_id = pane.get(\"id\");","        this._paneProperties[pane_id].daysInPrevMonth = 0;","","        for (var cell = 5; cell >= 0; cell--) ","           {","            pane.one(\"#\" + pane_id + \"_\" + cell + \"_\" + (cell-5)).setContent(\"&nbsp;\");","           }      ","    },","","    /**","     * A render assist method that cleans up the last few cells in the month grid","     * when the number of days in the month changes.","     * @method _cleanUpNextMonthCells","     * @param {Node} pane The calendar pane that needs the last date cells cleaned up.","     * @private","     */","    _cleanUpNextMonthCells : function (pane) {","      var pane_id = pane.get(\"id\");","        pane.one(\"#\" + pane_id + \"_6_29\").removeClass(CAL_NEXTMONTH_DAY);","        pane.one(\"#\" + pane_id + \"_7_30\").removeClass(CAL_NEXTMONTH_DAY);","        pane.one(\"#\" + pane_id + \"_8_31\").removeClass(CAL_NEXTMONTH_DAY);","        pane.one(\"#\" + pane_id + \"_0_30\").removeClass(CAL_NEXTMONTH_DAY);","        pane.one(\"#\" + pane_id + \"_1_31\").removeClass(CAL_NEXTMONTH_DAY);     ","    },","","    /**","     * A render assist method that turns on the view of the next month's dates ","     * in a given calendar pane.","     * @method _turnNextMonthOn","     * @param {Node} pane The calendar pane that needs its next month's dates view","     * modified.","     * @protected","     */","    _turnNextMonthOn : function (pane) {       ","          var dayCounter = 1,","              pane_id = pane.get(\"id\"),","              daysInMonth = this._paneProperties[pane_id].daysInMonth,","              cutoffCol = this._paneProperties[pane_id].cutoffCol;","","        for (var cell = daysInMonth - 22; cell < cutoffCol + 7; cell++) ","           {","            pane.one(\"#\" + pane_id + \"_\" + cell + \"_\" + (cell+23)).set(\"text\", dayCounter++).addClass(CAL_NEXTMONTH_DAY);","           }","","        var startingCell = cutoffCol;","        if (daysInMonth == 31 && (cutoffCol <= 1)) {","          startingCell = 2;","        }","        else if (daysInMonth == 30 && cutoffCol === 0) {","          startingCell = 1;","        }","  ","        for (var cell = startingCell ; cell < cutoffCol + 7; cell++) {","            pane.one(\"#\" + pane_id + \"_\" + cell + \"_\" + (cell+30)).set(\"text\", dayCounter++).addClass(CAL_NEXTMONTH_DAY);    ","        }","    },","","    /**","     * A render assist method that turns off the view of the next month's dates ","     * in a given calendar pane.","     * @method _turnNextMonthOff","     * @param {Node} pane The calendar pane that needs its next month's dates view","     * modified.","     * @protected","     */","    _turnNextMonthOff : function (pane) {","          var pane_id = pane.get(\"id\"),","              daysInMonth = this._paneProperties[pane_id].daysInMonth,","              cutoffCol = this._paneProperties[pane_id].cutoffCol;","","        for (var cell = daysInMonth - 22; cell <= 12; cell++) ","           {","            pane.one(\"#\" + pane_id + \"_\" + cell + \"_\" + (cell+23)).setContent(\"&nbsp;\").addClass(CAL_NEXTMONTH_DAY);","           }","","        var startingCell = 0;","        if (daysInMonth == 31 && (cutoffCol <= 1)) {","          startingCell = 2;","        }","        else if (daysInMonth == 30 && cutoffCol === 0) {","          startingCell = 1;","        }","  ","        for (var cell = startingCell ; cell <= 12; cell++) {","            pane.one(\"#\" + pane_id + \"_\" + cell + \"_\" + (cell+30)).setContent(\"&nbsp;\").addClass(CAL_NEXTMONTH_DAY);   ","        }   ","    },","","    /**","     * The handler for the change in the showNextMonth attribute.","     * @method _afterShowNextMonthChange","     * @private","     */","    _afterShowNextMonthChange : function () {","      ","      var contentBox = this.get('contentBox'),","          lastPane = contentBox.one(\"#\" + this._calendarId + \"_pane_\" + (this._paneNumber - 1));","          this._cleanUpNextMonthCells(lastPane);  ","","","      if (this.get('showNextMonth')) {","          this._turnNextMonthOn(lastPane);","        }","","        else {","          this._turnNextMonthOff(lastPane);","        }","","    },","","    /**","     * The handler for the change in the showPrevMonth attribute.","     * @method _afterShowPrevMonthChange","     * @private","     */","    _afterShowPrevMonthChange : function () {","      var contentBox = this.get('contentBox'),","          firstPane = contentBox.one(\"#\" + this._calendarId + \"_pane_\" + 0);","","      if (this.get('showPrevMonth')) {","         this._turnPrevMonthOn(firstPane);","      }","","      else {","         this._turnPrevMonthOff(firstPane);","      }","      ","    },"," ","     /**","     * The handler for the change in the headerRenderer attribute.","     * @method _afterHeaderRendererChange","     * @private","     */ ","  _afterHeaderRendererChange : function () {","    var headerCell = this.get(\"contentBox\").one(\".\" + CAL_HD_LABEL);","    headerCell.setContent(this._updateCalendarHeader(this.get('date')));","  },","","     /**","     * The handler for the change in the customRenderer attribute.","     * @method _afterCustomRendererChange","     * @private","     */ ","    _afterCustomRendererChange : function () {","        this._restoreModifiedCells();","        this._renderCustomRules();","    },","","     /**","     * The handler for the change in the date attribute. Modifies the calendar","     * view by shifting the calendar grid mask and running custom rendering and","     * selection rendering as necessary.","     * @method _afterDateChange","     * @private","     */ ","  _afterDateChange : function () {","    ","    var contentBox = this.get('contentBox'),","        headerCell = contentBox.one(\".\" + CAL_HD).one(\".\" + CAL_HD_LABEL),","        calendarPanes = contentBox.all(\".\" + CAL_GRID),","        currentDate = this.get(\"date\"),","        counter = 0;","","  contentBox.setStyle(\"visibility\", \"hidden\");","  headerCell.setContent(this._updateCalendarHeader(currentDate));","  ","    this._restoreModifiedCells();","","    calendarPanes.each(function (curNode) {","                      this._rerenderCalendarPane(ydate.addMonths(currentDate, counter++), ","                                            curNode);","                                        }, this);","","     this._afterShowPrevMonthChange();","     this._afterShowNextMonthChange();","","    this._renderCustomRules();","    this._renderSelectedDates();","      ","  contentBox.setStyle(\"visibility\", \"visible\");","  },","","","     /**","     * A rendering assist method that initializes the HTML for a single","     * calendar pane.","     * @method _initCalendarPane","     * @param {Date} baseDate The date corresponding to the month of the given","     * calendar pane.","     * @param {String} pane_id The id of the pane, to be used as a prefix for","     * element ids in the given pane.","     * @private","     */ ","  _initCalendarPane : function (baseDate, pane_id) {","        // Initialize final output HTML string","    var calString = '',","        // Get a list of short weekdays from the internationalization package, or else use default English ones.","        weekdays = this.get('strings.very_short_weekdays') || [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],","        fullweekdays = this.get('strings.weekdays') || [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],","        // Get the first day of the week from the internationalization package, or else use Sunday as default.","        firstday = this.get('strings.first_weekday') || 0,","        // Compute the cutoff column of the masked calendar table, based on the start date and the first day of week.","        cutoffCol = this._getCutoffColumn(baseDate, firstday),","        // Compute the number of days in the month based on starting date","        daysInMonth = ydate.daysInMonth(baseDate),","        // Initialize the array of individual row HTML strings","        row_array = ['','','','','',''],","        // Initialize the partial templates object","        partials = {};","        ","            // Initialize the partial template for the weekday row cells.","        partials[\"weekday_row\"] = '';","      ","      // Populate the partial template for the weekday row cells with weekday names","      for (var day = firstday; day <= firstday + 6; day++) {","               partials[\"weekday_row\"] += ","                  substitute(CalendarBase.WEEKDAY_TEMPLATE,","                       {weekdayname: weekdays[day%7],","                        full_weekdayname: fullweekdays[day%7]});","      }","        ","        // Populate the partial template for the weekday row container with the weekday row cells","      partials[\"weekday_row_template\"] = substitute(CalendarBase.WEEKDAY_ROW_TEMPLATE, partials);","","      // Populate the array of individual row HTML strings","          for (var row = 0; row <= 5; row++) {","          ","              for (var column = 0; column <= 12; column++) {  ","             ","             // Compute the value of the date that needs to populate the cell","             var date = 7*row - 5 + column;","","             // Compose the value of the unique id of the current calendar cell","             var id_date = pane_id + \"_\" + column + \"_\" + date;","","             // Set the calendar day class to one of three possible values","             var calendar_day_class = CAL_DAY;","","             if (date < 1) {","              calendar_day_class = CAL_PREVMONTH_DAY;","             }","                 else if (date > daysInMonth) {","                  calendar_day_class = CAL_NEXTMONTH_DAY;","                 }","","                 // Cut off dates that fall before the first and after the last date of the month","             if (date < 1 || date > daysInMonth) {","               date = \"&nbsp;\";","             }","             ","             // Decide on whether a column in the masked table is visible or not based on the value of the cutoff column.","             var column_visibility = (column >= cutoffCol && column < (cutoffCol + 7)) ? '' : CAL_COL_HIDDEN;","","             // Substitute the values into the partial calendar day template and add it to the current row HTML string","             row_array[row] += substitute (CalendarBase.CALDAY_TEMPLATE, ","                                         {day_content: date,","                                        calendar_col_class: \"calendar_col\" + column,","                                        calendar_col_visibility_class: column_visibility,","                                        calendar_day_class: calendar_day_class,","                                        calendar_day_id: id_date});","             }","            }","      ","      // Instantiate the partial calendar pane body template","      partials[\"body_template\"] = '';","      ","      // Populate the body template with the rows templates","      each (row_array, function (v) {","         partials[\"body_template\"] += substitute(CalendarBase.CALDAY_ROW_TEMPLATE, ","                                                       {calday_row: v});","      });","","      // Populate the calendar grid id","      partials[\"calendar_pane_id\"] = pane_id;","","      // Populate the calendar pane tabindex","      partials[\"calendar_pane_tabindex\"] = this.get(\"tabIndex\");","      partials[\"pane_arialabel\"] = ydate.format(baseDate, {format:\"%B %Y\"});","","","      // Generate final output by substituting class names.","          var output = substitute(substitute (CalendarBase.CALENDAR_GRID_TEMPLATE, partials),","                              CalendarBase.CALENDAR_STRINGS);","","        // Store the initialized pane information","","        this._paneProperties[pane_id] = {cutoffCol: cutoffCol, daysInMonth: daysInMonth, paneDate: baseDate};","","      return output;","  },","","     /**","     * A rendering assist method that rerenders a specified calendar pane, based","     * on a new Date. ","     * @method _rerenderCalendarPane","     * @param {Date} newDate The date corresponding to the month of the given","     * calendar pane.","     * @param {Node} pane The node corresponding to the calendar pane to be rerenders.","     * @private","     */ ","  _rerenderCalendarPane : function (newDate, pane) {","","       // Get the first day of the week from the internationalization package, or else use Sunday as default.","     var firstday = this.get('strings.first_weekday') || 0,","         // Compute the cutoff column of the masked calendar table, based on the start date and the first day of week.","         cutoffCol = this._getCutoffColumn(newDate, firstday),","         // Compute the number of days in the month based on starting date","         daysInMonth = ydate.daysInMonth(newDate),","         // Get pane id for easier reference","         paneId = pane.get(\"id\");","  ","       // Hide the pane before making DOM changes to speed them up","         pane.setStyle(\"visibility\", \"hidden\");","         pane.setAttribute(\"aria-label\", ydate.format(newDate, {format:\"%B %Y\"}));","  ","       // Go through all columns, and flip their visibility setting based on whether they are within the unmasked range.","         for (var column = 0; column <= 12; column++) {","        var currentColumn = pane.all(\".\" + \"calendar_col\" + column);","        currentColumn.removeClass(CAL_COL_HIDDEN);","      ","        if (column < cutoffCol || column >= (cutoffCol + 7)) {","            currentColumn.addClass(CAL_COL_HIDDEN);","        }","        else {","          // Clean up dates in visible columns to account for the correct number of days in a month","          switch(column)","          {","         case 0:","          var curCell = pane.one(\"#\" + paneId + \"_0_30\");","          if (daysInMonth >= 30) {","            curCell.set(\"text\", \"30\");","            curCell.removeClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);","          }","          else {","            curCell.setContent(\"&nbsp;\");","            curCell.addClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);","          }","          break;","         case 1:","          var curCell = pane.one(\"#\" + paneId + \"_1_31\");","          if (daysInMonth >= 31) {","            curCell.set(\"text\", \"31\");","            curCell.removeClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);","          }","          else {","            curCell.setContent(\"&nbsp;\");","            curCell.removeClass(CAL_DAY).addClass(CAL_NEXTMONTH_DAY);","          }","          break;","         case 6:","          var curCell = pane.one(\"#\" + paneId + \"_6_29\");","          if (daysInMonth >= 29) {","            curCell.set(\"text\", \"29\");","            curCell.removeClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);","          }","          else {","            curCell.setContent(\"&nbsp;\");","            curCell.removeClass(CAL_DAY).addClass(CAL_NEXTMONTH_DAY);","          }","          break;","         case 7:","          var curCell = pane.one(\"#\" + paneId + \"_7_30\");","          if (daysInMonth >= 30) {","            curCell.set(\"text\", \"30\");","            curCell.removeClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);","          }","          else {","            curCell.setContent(\"&nbsp;\");","            curCell.removeClass(CAL_DAY).addClass(CAL_NEXTMONTH_DAY);","          }","          break;","         case 8:","          var curCell = pane.one(\"#\" + paneId + \"_8_31\");","          if (daysInMonth >= 31) {","            curCell.set(\"text\", \"31\");","            curCell.removeClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);","          }","          else {","            curCell.setContent(\"&nbsp;\");","            curCell.removeClass(CAL_DAY).addClass(CAL_NEXTMONTH_DAY);","          }","          break;","          } ","        }","        }","    // Update stored pane properties","    this._paneProperties[paneId].cutoffCol = cutoffCol;","    this._paneProperties[paneId].daysInMonth = daysInMonth;","    this._paneProperties[paneId].paneDate = newDate;","  ","  // Bring the pane visibility back after all DOM changes are done    ","  pane.setStyle(\"visibility\", \"visible\");","","  },","","     /**","     * A rendering assist method that updates the calendar header based","     * on a given date and potentially the provided headerRenderer.","     * @method _updateCalendarHeader","     * @param {Date} baseDate The date with which to update the calendar header.","     * @private","     */ ","    _updateCalendarHeader : function (baseDate) {","      var headerString = \"\",","      headerRenderer = this.get(\"headerRenderer\");","      ","      if (Y.Lang.isString(headerRenderer)) {","        headerString = ydate.format(baseDate, {format:headerRenderer});","      }","      else if (headerRenderer instanceof Function) {","        headerString = headerRenderer.call(this, baseDate);","      }","      ","      return headerString;  ","    },","","     /**","     * A rendering assist method that initializes the calendar header HTML ","     * based on a given date and potentially the provided headerRenderer.","     * @method _updateCalendarHeader","     * @param {Date} baseDate The date with which to initialize the calendar header.","     * @private","     */ ","    _initCalendarHeader : function (baseDate) {","      return substitute(substitute(CalendarBase.HEADER_TEMPLATE, ","                                 {calheader: this._updateCalendarHeader(baseDate),","                                  calendar_id: this._calendarId}), ","                      CalendarBase.CALENDAR_STRINGS);","    },","","     /**","     * A rendering assist method that initializes the calendar HTML ","     * based on a given date.","     * @method _initCalendarHTML","     * @param {Date} baseDate The date with which to initialize the calendar.","     * @private","     */          ","  _initCalendarHTML : function (baseDate) {","        // Instantiate the partials holder","        var partials = {},","            // Counter for iterative template replacement.","            counter = 0;","        ","        // Generate the template for the header   ","        partials[\"header_template\"] =  this._initCalendarHeader(baseDate);","        partials[\"calendar_id\"] = this._calendarId;","","          partials[\"body_template\"] = substitute(substitute (CalendarBase.CONTENT_TEMPLATE, partials),","                                             CalendarBase.CALENDAR_STRINGS);"," ","        // Instantiate the iterative template replacer function        ","        function paneReplacer () {","          var singlePane = this._initCalendarPane(ydate.addMonths(baseDate, counter), partials[\"calendar_id\"]+\"_pane_\"+counter);","          counter++;","          return singlePane;","        }","        // Go through all occurrences of the calendar_grid_template token and replace it with an appropriate calendar grid.","        var output = partials[\"body_template\"].replace(/\\{calendar_grid_template\\}/g, Y.bind(paneReplacer, this));","","        // Update the paneNumber count","        this._paneNumber = counter;","","    return output;","  }","}, {","  ","   /**","    * The CSS classnames for the calendar templates.","    * @property CALENDAR_STRINGS","    * @type Object","    * @readOnly","    * @protected","    * @static","    */  ","  CALENDAR_STRINGS: {","    calendar_grid_class       : CAL_GRID,","    calendar_body_class       : CAL_BODY,","    calendar_hd_class         : CAL_HD,","    calendar_hd_label_class   : CAL_HD_LABEL,","    calendar_weekdayrow_class : CAL_WDAYROW,","    calendar_weekday_class    : CAL_WDAY,","    calendar_row_class        : CAL_ROW,","    calendar_day_class        : CAL_DAY,","    calendar_dayanchor_class  : CAL_ANCHOR,","    calendar_pane_class       : CAL_PANE,","    calendar_right_grid_class : CAL_RIGHT_GRID,","    calendar_left_grid_class  : CAL_LEFT_GRID,","    calendar_status_class     : CAL_STATUS","  },","","  /*","","  ARIA_STATUS_TEMPLATE: '<div role=\"status\" aria-atomic=\"true\" class=\"{calendar_status_class}\"></div>',","","  AriaStatus : null,","","  updateStatus : function (statusString) {","","    if (!CalendarBase.AriaStatus) {","      CalendarBase.AriaStatus = create(","                             substitute (CalendarBase.ARIA_STATUS_TEMPLATE, ","                                         CalendarBase.CALENDAR_STRINGS));","      Y.one(\"body\").append(CalendarBase.AriaStatus);","    }","","      CalendarBase.AriaStatus.set(\"text\", statusString);","  },","","  */","","   /**","    * The main content template for calendar.","    * @property CONTENT_TEMPLATE","    * @type String","    * @protected","    * @static","    */  ","  CONTENT_TEMPLATE:  '<div class=\"yui3-g {calendar_pane_class}\" id=\"{calendar_id}\">' +  ","                              '{header_template}' +","                            '<div class=\"yui3-u-1\">' +","                              '{calendar_grid_template}' +","                            '</div>' +","                 '</div>',","","   /**","    * A single pane template for calendar (same as default CONTENT_TEMPLATE)","    * @property ONE_PANE_TEMPLATE","    * @type String","    * @protected","    * @readOnly","    * @static","    */  ","  ONE_PANE_TEMPLATE: '<div class=\"yui3-g {calendar_pane_class}\" id=\"{calendar_id}\">' +  ","                              '{header_template}' +","                            '<div class=\"yui3-u-1\">' +","                              '{calendar_grid_template}' +","                            '</div>' +","                 '</div>',","","   /**","    * A two pane template for calendar.","    * @property TWO_PANE_TEMPLATE","    * @type String","    * @protected","    * @readOnly","    * @static","    */  ","  TWO_PANE_TEMPLATE: '<div class=\"yui3-g {calendar_pane_class}\" id=\"{calendar_id}\">' +  ","                              '{header_template}' +","                            '<div class=\"yui3-u-1-2\">'+","                                    '<div class = \"{calendar_left_grid_class}\">' +                                  ","                                 '{calendar_grid_template}' +","                                    '</div>' +","                            '</div>' +","                            '<div class=\"yui3-u-1-2\">' +","                                    '<div class = \"{calendar_right_grid_class}\">' +","                                 '{calendar_grid_template}' +","                                    '</div>' +","                            '</div>' +                   ","                 '</div>',","   /**","    * A three pane template for calendar.","    * @property THREE_PANE_TEMPLATE","    * @type String","    * @protected","    * @readOnly","    * @static","    */  ","  THREE_PANE_TEMPLATE: '<div class=\"yui3-g {calendar_pane_class}\" id=\"{calendar_id}\">' +  ","                              '{header_template}' +","                            '<div class=\"yui3-u-1-3\">' +","                                    '<div class = \"{calendar_left_grid_class}\">' +","                                 '{calendar_grid_template}' +","                                    '</div>' + ","                            '</div>' +","                            '<div class=\"yui3-u-1-3\">' +","                                 '{calendar_grid_template}' +","                            '</div>' +      ","                            '<div class=\"yui3-u-1-3\">' +","                                    '<div class = \"{calendar_right_grid_class}\">' +","                                 '{calendar_grid_template}' +","                                    '</div>' + ","                            '</div>' +                                             ","                 '</div>',","   /**","    * A template for the calendar grid.","    * @property CALENDAR_GRID_TEMPLATE","    * @type String","    * @protected","    * @static","    */    ","  CALENDAR_GRID_TEMPLATE: '<table class=\"{calendar_grid_class}\" id=\"{calendar_pane_id}\" role=\"grid\" aria-readonly=\"true\" aria-label=\"{pane_arialabel}\" tabindex=\"{calendar_pane_tabindex}\">' + ","                           '<thead>' +","                        '{weekday_row_template}' +","                           '</thead>' +","                           '<tbody>' + ","                            '{body_template}' +","                           '</tbody>' +","                          '</table>',","","   /**","    * A template for the calendar header.","    * @property HEADER_TEMPLATE","    * @type String","    * @protected","    * @static","    */   ","  HEADER_TEMPLATE: '<div class=\"yui3-g {calendar_hd_class}\">' + ","                         '<div class=\"yui3-u {calendar_hd_label_class}\" id=\"{calendar_id}_header\" aria-role=\"heading\">' + ","                              '{calheader}' +","                         '</div>' +","                   '</div>',","","   /**","    * A template for the row of weekday names.","    * @property WEEKDAY_ROW_TEMPLATE","    * @type String","    * @protected","    * @static","    */ ","  WEEKDAY_ROW_TEMPLATE: '<tr class=\"{calendar_weekdayrow_class}\" role=\"row\">' + ","                           '{weekday_row}' +","              '</tr>',","","   /**","    * A template for a single row of calendar days.","    * @property CALDAY_ROW_TEMPLATE","    * @type String","    * @protected","    * @static","    */ ","  CALDAY_ROW_TEMPLATE: '<tr class=\"{calendar_row_class}\" role=\"row\">' + ","                 '{calday_row}' + ","              '</tr>',","","   /**","    * A template for a single cell with a weekday name.","    * @property CALDAY_ROW_TEMPLATE","    * @type String","    * @protected","    * @static","    */ ","  WEEKDAY_TEMPLATE: '<th class=\"{calendar_weekday_class}\" role=\"columnheader\" aria-label=\"{full_weekdayname}\">{weekdayname}</th>',","","   /**","    * A template for a single cell with a calendar day.","    * @property CALDAY_TEMPLATE","    * @type String","    * @protected","    * @static","    */ ","  CALDAY_TEMPLATE: '<td class=\"{calendar_col_class} {calendar_day_class} {calendar_col_visibility_class}\" id=\"{calendar_day_id}\" role=\"gridcell\" tabindex=\"-1\">' +","                       '{day_content}' + ","                   '</td>',","","   /**","    * The identity of the widget.","    *","    * @property NAME","    * @type String","    * @default 'calendarBase'","    * @readOnly","    * @protected","    * @static","    */  ","  NAME: 'calendarBase',","","   /**","    * Static property used to define the default attribute configuration of","    * the Widget.","    *","    * @property ATTRS","    * @type {Object}","    * @protected","    * @static","    */  ","  ATTRS: {","    tabIndex: {","      value: 1","    },","    /**","     * The date corresponding to the current calendar view. Always","     * normalized to the first of the month that contains the date","     * at assignment time. Used as the first date visible in the","     * calendar.","     *","     * @attribute date","     * @type Date","     * @default The first of the month containing today's date, as","     * set on the end user's system.","     */","    date: {","      value: new Date(),","      setter: function (val) {","        var newDate = this._normalizeDate(val);","        if (ydate.areEqual(newDate, this.get('date'))) {","            return this.get('date');","        }","        else {","            return newDate;","        }","      }","      },","","    /**","     * A setting specifying whether to shows days from the previous","     * month in the visible month's grid, if there are empty preceding","     * cells available.","     *","     * @attribute showPrevMonth","     * @type boolean","     * @default false","     */","    showPrevMonth: {","      value: false","    },","","    /**","     * A setting specifying whether to shows days from the next","     * month in the visible month's grid, if there are empty","     * cells available at the end.","     *","     * @attribute showNextMonth","     * @type boolean","     * @default false","     */","    showNextMonth: {","      value: false","    },","","    /**","     * Strings and properties derived from the internationalization packages","     * for the calendar.","     *","     * @attribute strings","     * @type Object","     * @protected","     */","    strings : {","            valueFn: function() { return Y.Intl.get(\"calendar-base\"); }","        },","","    /**","     * Custom header renderer for the calendar.","     *","     * @attribute headerRenderer","     * @type String | Function","     */","        headerRenderer: {","            value: \"%B %Y\"","        },","","    /**","     * The name of the rule which all enabled dates should match.","     * Either disabledDatesRule or enabledDatesRule should be specified,","     * or neither, but not both.","     *","     * @attribute enabledDatesRule","     * @type String","     * @default null","     */","        enabledDatesRule: {","            value: null","        },","","    /**","     * The name of the rule which all disabled dates should match.","     * Either disabledDatesRule or enabledDatesRule should be specified,","     * or neither, but not both.","     *","     * @attribute disabledDatesRule","     * @type String","     * @default null","     */","        disabledDatesRule: {","            value: null","        },","","    /**","     * A read-only attribute providing a list of currently selected dates.","     *","     * @attribute selectedDates","     * @readOnly","     * @type Array","     */","        selectedDates : {","          readOnly: true,","          getter: function (val) {","            return (this._getSelectedDatesList());","          }","        },","","    /**","     * An object of the form {rules:Object, filterFunction:Function},","     * providing  set of rules and a custom rendering function for ","     * customizing specific calendar cells.","     *","     * @attribute customRenderer","     * @readOnly","     * @type Object","     * @default {}","     */","        customRenderer : {","            lazyAdd: false,","            value: {},","            setter: function (val) {","                this._rules = val.rules;","                this._filterFunction = val.filterFunction;","            }","        }","  }","  ","});","","","}, '@VERSION@', {","    \"requires\": [","        \"widget\",","        \"substitute\",","        \"datatype-date\",","        \"datatype-date-math\",","        \"cssgrids\"","    ],","    \"lang\": [","        \"de\",","        \"en\",","        \"fr\",","        \"ja\",","        \"nb-NO\",","        \"pt-BR\",","        \"ru\",","        \"zh-HANT-TW\"","    ],","    \"skinnable\": true","});","","}());"]};
}
var __cov_y6840nqbDmYLy9tWwd1zzg = __coverage__['build/calendar-base/calendar-base.js'];
__cov_y6840nqbDmYLy9tWwd1zzg.s['1']++;YUI.add('calendar-base',function(Y,NAME){__cov_y6840nqbDmYLy9tWwd1zzg.f['1']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['2']++;var getCN=Y.ClassNameManager.getClassName,CALENDAR='calendar',CAL_GRID=getCN(CALENDAR,'grid'),CAL_LEFT_GRID=getCN(CALENDAR,'left-grid'),CAL_RIGHT_GRID=getCN(CALENDAR,'right-grid'),CAL_BODY=getCN(CALENDAR,'body'),CAL_HD=getCN(CALENDAR,'header'),CAL_HD_LABEL=getCN(CALENDAR,'header-label'),CAL_WDAYROW=getCN(CALENDAR,'weekdayrow'),CAL_WDAY=getCN(CALENDAR,'weekday'),CAL_COL_HIDDEN=getCN(CALENDAR,'column-hidden'),CAL_DAY_SELECTED=getCN(CALENDAR,'day-selected'),SELECTION_DISABLED=getCN(CALENDAR,'selection-disabled'),CAL_ROW=getCN(CALENDAR,'row'),CAL_DAY=getCN(CALENDAR,'day'),CAL_PREVMONTH_DAY=getCN(CALENDAR,'prevmonth-day'),CAL_NEXTMONTH_DAY=getCN(CALENDAR,'nextmonth-day'),CAL_ANCHOR=getCN(CALENDAR,'anchor'),CAL_PANE=getCN(CALENDAR,'pane'),CAL_STATUS=getCN(CALENDAR,'status'),L=Y.Lang,node=Y.Node,create=node.create,substitute=Y.substitute,each=Y.each,hasVal=Y.Array.hasValue,iOf=Y.Array.indexOf,hasKey=Y.Object.hasKey,setVal=Y.Object.setValue,owns=Y.Object.owns,isEmpty=Y.Object.isEmpty,ydate=Y.DataType.Date;__cov_y6840nqbDmYLy9tWwd1zzg.s['3']++;function CalendarBase(config){__cov_y6840nqbDmYLy9tWwd1zzg.f['2']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['4']++;CalendarBase.superclass.constructor.apply(this,arguments);}__cov_y6840nqbDmYLy9tWwd1zzg.s['5']++;Y.CalendarBase=Y.extend(CalendarBase,Y.Widget,{_paneProperties:{},_paneNumber:1,_calendarId:null,_selectedDates:{},_rules:{},_filterFunction:null,_storedDateCells:{},initializer:function(){__cov_y6840nqbDmYLy9tWwd1zzg.f['3']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['6']++;this._paneProperties={};__cov_y6840nqbDmYLy9tWwd1zzg.s['7']++;this._calendarId=Y.guid('calendar');__cov_y6840nqbDmYLy9tWwd1zzg.s['8']++;this._selectedDates={};__cov_y6840nqbDmYLy9tWwd1zzg.s['9']++;if(isEmpty(this._rules)){__cov_y6840nqbDmYLy9tWwd1zzg.b['1'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['10']++;this._rules={};}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['1'][1]++;}__cov_y6840nqbDmYLy9tWwd1zzg.s['11']++;this._storedDateCells={};},renderUI:function(){__cov_y6840nqbDmYLy9tWwd1zzg.f['4']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['12']++;var contentBox=this.get('contentBox');__cov_y6840nqbDmYLy9tWwd1zzg.s['13']++;contentBox.appendChild(this._initCalendarHTML(this.get('date')));__cov_y6840nqbDmYLy9tWwd1zzg.s['14']++;if(this.get('showPrevMonth')){__cov_y6840nqbDmYLy9tWwd1zzg.b['2'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['15']++;this._afterShowPrevMonthChange();}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['2'][1]++;}__cov_y6840nqbDmYLy9tWwd1zzg.s['16']++;if(this.get('showNextMonth')){__cov_y6840nqbDmYLy9tWwd1zzg.b['3'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['17']++;this._afterShowNextMonthChange();}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['3'][1]++;}__cov_y6840nqbDmYLy9tWwd1zzg.s['18']++;this._renderCustomRules();__cov_y6840nqbDmYLy9tWwd1zzg.s['19']++;this._renderSelectedDates();__cov_y6840nqbDmYLy9tWwd1zzg.s['20']++;this.get('boundingBox').setAttribute('aria-labelledby',this._calendarId+'_header');},bindUI:function(){__cov_y6840nqbDmYLy9tWwd1zzg.f['5']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['21']++;this.after('dateChange',this._afterDateChange);__cov_y6840nqbDmYLy9tWwd1zzg.s['22']++;this.after('showPrevMonthChange',this._afterShowPrevMonthChange);__cov_y6840nqbDmYLy9tWwd1zzg.s['23']++;this.after('showNextMonthChange',this._afterShowNextMonthChange);__cov_y6840nqbDmYLy9tWwd1zzg.s['24']++;this.after('headerRendererChange',this._afterHeaderRendererChange);__cov_y6840nqbDmYLy9tWwd1zzg.s['25']++;this.after('customRendererChange',this._afterCustomRendererChange);__cov_y6840nqbDmYLy9tWwd1zzg.s['26']++;this.after('enabledDatesRuleChange',this._afterCustomRendererChange);__cov_y6840nqbDmYLy9tWwd1zzg.s['27']++;this.after('disabledDatesRuleChange',this._afterCustomRendererChange);__cov_y6840nqbDmYLy9tWwd1zzg.s['28']++;this.after('focusedChange',this._afterFocusedChange);__cov_y6840nqbDmYLy9tWwd1zzg.s['29']++;this.after('selectionChange',this._renderSelectedDates);__cov_y6840nqbDmYLy9tWwd1zzg.s['30']++;this._bindCalendarEvents();},_getSelectedDatesList:function(){__cov_y6840nqbDmYLy9tWwd1zzg.f['6']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['31']++;var output=[];__cov_y6840nqbDmYLy9tWwd1zzg.s['32']++;each(this._selectedDates,function(year){__cov_y6840nqbDmYLy9tWwd1zzg.f['7']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['33']++;each(year,function(month){__cov_y6840nqbDmYLy9tWwd1zzg.f['8']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['34']++;each(month,function(day){__cov_y6840nqbDmYLy9tWwd1zzg.f['9']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['35']++;output.push(day);},this);},this);},this);__cov_y6840nqbDmYLy9tWwd1zzg.s['36']++;return output;},_getSelectedDatesInMonth:function(oDate){__cov_y6840nqbDmYLy9tWwd1zzg.f['10']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['37']++;var year=oDate.getFullYear(),month=oDate.getMonth();__cov_y6840nqbDmYLy9tWwd1zzg.s['38']++;if((__cov_y6840nqbDmYLy9tWwd1zzg.b['5'][0]++,hasKey(this._selectedDates,year))&&(__cov_y6840nqbDmYLy9tWwd1zzg.b['5'][1]++,hasKey(this._selectedDates[year],month))){__cov_y6840nqbDmYLy9tWwd1zzg.b['4'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['39']++;return Y.Object.values(this._selectedDates[year][month]);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['4'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['40']++;return[];}},_isNumInList:function(num,strList){__cov_y6840nqbDmYLy9tWwd1zzg.f['11']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['41']++;if(strList=='all'){__cov_y6840nqbDmYLy9tWwd1zzg.b['6'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['42']++;return true;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['6'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['43']++;var elements=strList.split(','),i=elements.length;__cov_y6840nqbDmYLy9tWwd1zzg.s['44']++;while(i--){__cov_y6840nqbDmYLy9tWwd1zzg.s['45']++;var range=elements[i].split('-');__cov_y6840nqbDmYLy9tWwd1zzg.s['46']++;if((__cov_y6840nqbDmYLy9tWwd1zzg.b['8'][0]++,range.length==2)&&(__cov_y6840nqbDmYLy9tWwd1zzg.b['8'][1]++,num>=parseInt(range[0],10))&&(__cov_y6840nqbDmYLy9tWwd1zzg.b['8'][2]++,num<=parseInt(range[1],10))){__cov_y6840nqbDmYLy9tWwd1zzg.b['7'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['47']++;return true;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['7'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['48']++;if((__cov_y6840nqbDmYLy9tWwd1zzg.b['10'][0]++,range.length==1)&&(__cov_y6840nqbDmYLy9tWwd1zzg.b['10'][1]++,parseInt(elements[i],10)==num)){__cov_y6840nqbDmYLy9tWwd1zzg.b['9'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['49']++;return true;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['9'][1]++;}}}__cov_y6840nqbDmYLy9tWwd1zzg.s['50']++;return false;}},_getRulesForDate:function(oDate){__cov_y6840nqbDmYLy9tWwd1zzg.f['12']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['51']++;var year=oDate.getFullYear(),month=oDate.getMonth(),date=oDate.getDate(),wday=oDate.getDay(),rules=this._rules,outputRules=[],years,months,dates,days;__cov_y6840nqbDmYLy9tWwd1zzg.s['52']++;for(years in rules){__cov_y6840nqbDmYLy9tWwd1zzg.s['53']++;if(this._isNumInList(year,years)){__cov_y6840nqbDmYLy9tWwd1zzg.b['11'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['54']++;if(L.isString(rules[years])){__cov_y6840nqbDmYLy9tWwd1zzg.b['12'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['55']++;outputRules.push(rules[years]);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['12'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['56']++;for(months in rules[years]){__cov_y6840nqbDmYLy9tWwd1zzg.s['57']++;if(this._isNumInList(month,months)){__cov_y6840nqbDmYLy9tWwd1zzg.b['13'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['58']++;if(L.isString(rules[years][months])){__cov_y6840nqbDmYLy9tWwd1zzg.b['14'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['59']++;outputRules.push(rules[years][months]);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['14'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['60']++;for(dates in rules[years][months]){__cov_y6840nqbDmYLy9tWwd1zzg.s['61']++;if(this._isNumInList(date,dates)){__cov_y6840nqbDmYLy9tWwd1zzg.b['15'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['62']++;if(L.isString(rules[years][months][dates])){__cov_y6840nqbDmYLy9tWwd1zzg.b['16'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['63']++;outputRules.push(rules[years][months][dates]);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['16'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['64']++;for(days in rules[years][months][dates]){__cov_y6840nqbDmYLy9tWwd1zzg.s['65']++;if(this._isNumInList(wday,days)){__cov_y6840nqbDmYLy9tWwd1zzg.b['17'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['66']++;if(L.isString(rules[years][months][dates][days])){__cov_y6840nqbDmYLy9tWwd1zzg.b['18'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['67']++;outputRules.push(rules[years][months][dates][days]);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['18'][1]++;}}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['17'][1]++;}}}}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['15'][1]++;}}}}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['13'][1]++;}}}}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['11'][1]++;}}__cov_y6840nqbDmYLy9tWwd1zzg.s['68']++;return outputRules;},_matchesRule:function(oDate,rule){__cov_y6840nqbDmYLy9tWwd1zzg.f['13']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['69']++;return iOf(this._getRulesForDate(oDate),rule)>=0;},_canBeSelected:function(oDate){__cov_y6840nqbDmYLy9tWwd1zzg.f['14']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['70']++;var enabledDatesRule=this.get('enabledDatesRule'),disabledDatesRule=this.get('disabledDatesRule');__cov_y6840nqbDmYLy9tWwd1zzg.s['71']++;if(enabledDatesRule){__cov_y6840nqbDmYLy9tWwd1zzg.b['19'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['72']++;return this._matchesRule(oDate,enabledDatesRule);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['19'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['73']++;if(disabledDatesRule){__cov_y6840nqbDmYLy9tWwd1zzg.b['20'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['74']++;return!this._matchesRule(oDate,disabledDatesRule);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['20'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['75']++;return true;}}},selectDates:function(dates){__cov_y6840nqbDmYLy9tWwd1zzg.f['15']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['76']++;if(ydate.isValidDate(dates)){__cov_y6840nqbDmYLy9tWwd1zzg.b['21'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['77']++;this._addDateToSelection(dates);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['21'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['78']++;if(L.isArray(dates)){__cov_y6840nqbDmYLy9tWwd1zzg.b['22'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['79']++;this._addDatesToSelection(dates);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['22'][1]++;}}},deselectDates:function(dates){__cov_y6840nqbDmYLy9tWwd1zzg.f['16']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['80']++;if(!dates){__cov_y6840nqbDmYLy9tWwd1zzg.b['23'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['81']++;this._clearSelection();}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['23'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['82']++;if(ydate.isValidDate(dates)){__cov_y6840nqbDmYLy9tWwd1zzg.b['24'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['83']++;this._removeDateFromSelection(dates);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['24'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['84']++;if(L.isArray(dates)){__cov_y6840nqbDmYLy9tWwd1zzg.b['25'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['85']++;this._removeDatesFromSelection(dates);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['25'][1]++;}}}},_addDateToSelection:function(oDate,index){__cov_y6840nqbDmYLy9tWwd1zzg.f['17']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['86']++;if(this._canBeSelected(oDate)){__cov_y6840nqbDmYLy9tWwd1zzg.b['26'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['87']++;var year=oDate.getFullYear(),month=oDate.getMonth(),day=oDate.getDate();__cov_y6840nqbDmYLy9tWwd1zzg.s['88']++;if(hasKey(this._selectedDates,year)){__cov_y6840nqbDmYLy9tWwd1zzg.b['27'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['89']++;if(hasKey(this._selectedDates[year],month)){__cov_y6840nqbDmYLy9tWwd1zzg.b['28'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['90']++;this._selectedDates[year][month][day]=oDate;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['28'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['91']++;this._selectedDates[year][month]={};__cov_y6840nqbDmYLy9tWwd1zzg.s['92']++;this._selectedDates[year][month][day]=oDate;}}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['27'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['93']++;this._selectedDates[year]={};__cov_y6840nqbDmYLy9tWwd1zzg.s['94']++;this._selectedDates[year][month]={};__cov_y6840nqbDmYLy9tWwd1zzg.s['95']++;this._selectedDates[year][month][day]=oDate;}__cov_y6840nqbDmYLy9tWwd1zzg.s['96']++;this._selectedDates=setVal(this._selectedDates,[year,month,day],oDate);__cov_y6840nqbDmYLy9tWwd1zzg.s['97']++;if(!index){__cov_y6840nqbDmYLy9tWwd1zzg.b['29'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['98']++;this._fireSelectionChange();}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['29'][1]++;}}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['26'][1]++;}},_addDatesToSelection:function(datesArray){__cov_y6840nqbDmYLy9tWwd1zzg.f['18']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['99']++;each(datesArray,this._addDateToSelection,this);__cov_y6840nqbDmYLy9tWwd1zzg.s['100']++;this._fireSelectionChange();},_addDateRangeToSelection:function(startDate,endDate){__cov_y6840nqbDmYLy9tWwd1zzg.f['19']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['101']++;var timezoneDifference=(endDate.getTimezoneOffset()-startDate.getTimezoneOffset())*60000,startTime=startDate.getTime(),endTime=endDate.getTime();__cov_y6840nqbDmYLy9tWwd1zzg.s['102']++;if(startTime>endTime){__cov_y6840nqbDmYLy9tWwd1zzg.b['30'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['103']++;var tempTime=startTime;__cov_y6840nqbDmYLy9tWwd1zzg.s['104']++;startTime=endTime;__cov_y6840nqbDmYLy9tWwd1zzg.s['105']++;endTime=tempTime+timezoneDifference;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['30'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['106']++;endTime=endTime-timezoneDifference;}__cov_y6840nqbDmYLy9tWwd1zzg.s['107']++;for(var time=startTime;time<=endTime;time+=86400000){__cov_y6840nqbDmYLy9tWwd1zzg.s['108']++;var addedDate=new Date(time);__cov_y6840nqbDmYLy9tWwd1zzg.s['109']++;addedDate.setHours(12);__cov_y6840nqbDmYLy9tWwd1zzg.s['110']++;this._addDateToSelection(addedDate,time);}__cov_y6840nqbDmYLy9tWwd1zzg.s['111']++;this._fireSelectionChange();},_removeDateFromSelection:function(oDate,index){__cov_y6840nqbDmYLy9tWwd1zzg.f['20']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['112']++;var year=oDate.getFullYear(),month=oDate.getMonth(),day=oDate.getDate();__cov_y6840nqbDmYLy9tWwd1zzg.s['113']++;if((__cov_y6840nqbDmYLy9tWwd1zzg.b['32'][0]++,hasKey(this._selectedDates,year))&&(__cov_y6840nqbDmYLy9tWwd1zzg.b['32'][1]++,hasKey(this._selectedDates[year],month))&&(__cov_y6840nqbDmYLy9tWwd1zzg.b['32'][2]++,hasKey(this._selectedDates[year][month],day))){__cov_y6840nqbDmYLy9tWwd1zzg.b['31'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['114']++;delete this._selectedDates[year][month][day];__cov_y6840nqbDmYLy9tWwd1zzg.s['115']++;if(!index){__cov_y6840nqbDmYLy9tWwd1zzg.b['33'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['116']++;this._fireSelectionChange();}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['33'][1]++;}}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['31'][1]++;}},_removeDatesFromSelection:function(datesArray){__cov_y6840nqbDmYLy9tWwd1zzg.f['21']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['117']++;each(datesArray,this._removeDateFromSelection,this);__cov_y6840nqbDmYLy9tWwd1zzg.s['118']++;this._fireSelectionChange();},_removeDateRangeFromSelection:function(startDate,endDate){__cov_y6840nqbDmYLy9tWwd1zzg.f['22']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['119']++;var startTime=startDate.getTime(),endTime=endDate.getTime();__cov_y6840nqbDmYLy9tWwd1zzg.s['120']++;for(var time=startTime;time<=endTime;time+=86400000){__cov_y6840nqbDmYLy9tWwd1zzg.s['121']++;this._removeDateFromSelection(new Date(time),time);}__cov_y6840nqbDmYLy9tWwd1zzg.s['122']++;this._fireSelectionChange();},_clearSelection:function(noevent){__cov_y6840nqbDmYLy9tWwd1zzg.f['23']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['123']++;this._selectedDates={};__cov_y6840nqbDmYLy9tWwd1zzg.s['124']++;this.get('contentBox').all('.'+CAL_DAY_SELECTED).removeClass(CAL_DAY_SELECTED).setAttribute('aria-selected',false);__cov_y6840nqbDmYLy9tWwd1zzg.s['125']++;if(!noevent){__cov_y6840nqbDmYLy9tWwd1zzg.b['34'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['126']++;this._fireSelectionChange();}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['34'][1]++;}},_fireSelectionChange:function(){__cov_y6840nqbDmYLy9tWwd1zzg.f['24']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['127']++;this.fire('selectionChange',{newSelection:this._getSelectedDatesList()});},_restoreModifiedCells:function(){__cov_y6840nqbDmYLy9tWwd1zzg.f['25']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['128']++;var contentbox=this.get('contentBox'),id;__cov_y6840nqbDmYLy9tWwd1zzg.s['129']++;for(id in this._storedDateCells){__cov_y6840nqbDmYLy9tWwd1zzg.s['130']++;contentbox.one('#'+id).replace(this._storedDateCells[id]);__cov_y6840nqbDmYLy9tWwd1zzg.s['131']++;delete this._storedDateCells[id];}},_renderCustomRules:function(){__cov_y6840nqbDmYLy9tWwd1zzg.f['26']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['132']++;this.get('contentBox').all('.'+CAL_DAY+',.'+CAL_NEXTMONTH_DAY).removeClass(SELECTION_DISABLED).setAttribute('aria-disabled',false);__cov_y6840nqbDmYLy9tWwd1zzg.s['133']++;if(!isEmpty(this._rules)){__cov_y6840nqbDmYLy9tWwd1zzg.b['35'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['134']++;var enRule=this.get('enabledDatesRule'),disRule=this.get('disabledDatesRule');__cov_y6840nqbDmYLy9tWwd1zzg.s['135']++;for(var paneNum=0;paneNum<this._paneNumber;paneNum++){__cov_y6840nqbDmYLy9tWwd1zzg.s['136']++;var paneDate=ydate.addMonths(this.get('date'),paneNum);__cov_y6840nqbDmYLy9tWwd1zzg.s['137']++;var dateArray=ydate.listOfDatesInMonth(paneDate);__cov_y6840nqbDmYLy9tWwd1zzg.s['138']++;each(dateArray,function(date){__cov_y6840nqbDmYLy9tWwd1zzg.f['27']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['139']++;var matchingRules=this._getRulesForDate(date);__cov_y6840nqbDmYLy9tWwd1zzg.s['140']++;if(matchingRules.length>0){__cov_y6840nqbDmYLy9tWwd1zzg.b['36'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['141']++;var dateNode=this._dateToNode(date);__cov_y6840nqbDmYLy9tWwd1zzg.s['142']++;if((__cov_y6840nqbDmYLy9tWwd1zzg.b['38'][0]++,enRule)&&(__cov_y6840nqbDmYLy9tWwd1zzg.b['38'][1]++,iOf(matchingRules,enRule)<0)||(__cov_y6840nqbDmYLy9tWwd1zzg.b['38'][2]++,!enRule)&&(__cov_y6840nqbDmYLy9tWwd1zzg.b['38'][3]++,disRule)&&(__cov_y6840nqbDmYLy9tWwd1zzg.b['38'][4]++,iOf(matchingRules,disRule)>=0)){__cov_y6840nqbDmYLy9tWwd1zzg.b['37'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['143']++;dateNode.addClass(SELECTION_DISABLED).setAttribute('aria-disabled',true);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['37'][1]++;}__cov_y6840nqbDmYLy9tWwd1zzg.s['144']++;if(L.isFunction(this._filterFunction)){__cov_y6840nqbDmYLy9tWwd1zzg.b['39'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['145']++;this._storedDateCells[dateNode.get('id')]=dateNode.cloneNode(true);__cov_y6840nqbDmYLy9tWwd1zzg.s['146']++;this._filterFunction(date,dateNode,matchingRules);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['39'][1]++;}}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['36'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['147']++;if(enRule){__cov_y6840nqbDmYLy9tWwd1zzg.b['40'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['148']++;var dateNode=this._dateToNode(date);__cov_y6840nqbDmYLy9tWwd1zzg.s['149']++;dateNode.addClass(SELECTION_DISABLED).setAttribute('aria-disabled',true);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['40'][1]++;}}},this);}}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['35'][1]++;}},_renderSelectedDates:function(){__cov_y6840nqbDmYLy9tWwd1zzg.f['28']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['150']++;this.get('contentBox').all('.'+CAL_DAY_SELECTED).removeClass(CAL_DAY_SELECTED).setAttribute('aria-selected',false);__cov_y6840nqbDmYLy9tWwd1zzg.s['151']++;for(var paneNum=0;paneNum<this._paneNumber;paneNum++){__cov_y6840nqbDmYLy9tWwd1zzg.s['152']++;var paneDate=ydate.addMonths(this.get('date'),paneNum);__cov_y6840nqbDmYLy9tWwd1zzg.s['153']++;var dateArray=this._getSelectedDatesInMonth(paneDate);__cov_y6840nqbDmYLy9tWwd1zzg.s['154']++;each(dateArray,function(date){__cov_y6840nqbDmYLy9tWwd1zzg.f['29']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['155']++;this._dateToNode(date).addClass(CAL_DAY_SELECTED).setAttribute('aria-selected',true);},this);}},_dateToNode:function(oDate){__cov_y6840nqbDmYLy9tWwd1zzg.f['30']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['156']++;var day=oDate.getDate(),col=0,daymod=day%7,paneNum=(12+oDate.getMonth()-this.get('date').getMonth())%12,paneId=this._calendarId+'_pane_'+paneNum,cutoffCol=this._paneProperties[paneId].cutoffCol;__cov_y6840nqbDmYLy9tWwd1zzg.s['157']++;switch(daymod){case 0:__cov_y6840nqbDmYLy9tWwd1zzg.b['41'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['158']++;if(cutoffCol>=6){__cov_y6840nqbDmYLy9tWwd1zzg.b['42'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['159']++;col=12;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['42'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['160']++;col=5;}__cov_y6840nqbDmYLy9tWwd1zzg.s['161']++;break;case 1:__cov_y6840nqbDmYLy9tWwd1zzg.b['41'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['162']++;col=6;__cov_y6840nqbDmYLy9tWwd1zzg.s['163']++;break;case 2:__cov_y6840nqbDmYLy9tWwd1zzg.b['41'][2]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['164']++;if(cutoffCol>0){__cov_y6840nqbDmYLy9tWwd1zzg.b['43'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['165']++;col=7;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['43'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['166']++;col=0;}__cov_y6840nqbDmYLy9tWwd1zzg.s['167']++;break;case 3:__cov_y6840nqbDmYLy9tWwd1zzg.b['41'][3]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['168']++;if(cutoffCol>1){__cov_y6840nqbDmYLy9tWwd1zzg.b['44'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['169']++;col=8;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['44'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['170']++;col=1;}__cov_y6840nqbDmYLy9tWwd1zzg.s['171']++;break;case 4:__cov_y6840nqbDmYLy9tWwd1zzg.b['41'][4]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['172']++;if(cutoffCol>2){__cov_y6840nqbDmYLy9tWwd1zzg.b['45'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['173']++;col=9;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['45'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['174']++;col=2;}__cov_y6840nqbDmYLy9tWwd1zzg.s['175']++;break;case 5:__cov_y6840nqbDmYLy9tWwd1zzg.b['41'][5]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['176']++;if(cutoffCol>3){__cov_y6840nqbDmYLy9tWwd1zzg.b['46'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['177']++;col=10;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['46'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['178']++;col=3;}__cov_y6840nqbDmYLy9tWwd1zzg.s['179']++;break;case 6:__cov_y6840nqbDmYLy9tWwd1zzg.b['41'][6]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['180']++;if(cutoffCol>4){__cov_y6840nqbDmYLy9tWwd1zzg.b['47'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['181']++;col=11;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['47'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['182']++;col=4;}__cov_y6840nqbDmYLy9tWwd1zzg.s['183']++;break;}__cov_y6840nqbDmYLy9tWwd1zzg.s['184']++;return this.get('contentBox').one('#'+this._calendarId+'_pane_'+paneNum+'_'+col+'_'+day);},_nodeToDate:function(oNode){__cov_y6840nqbDmYLy9tWwd1zzg.f['31']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['185']++;var idParts=oNode.get('id').split('_').reverse(),paneNum=parseInt(idParts[2],10),day=parseInt(idParts[0],10);__cov_y6840nqbDmYLy9tWwd1zzg.s['186']++;var shiftedDate=ydate.addMonths(this.get('date'),paneNum),year=shiftedDate.getFullYear(),month=shiftedDate.getMonth();__cov_y6840nqbDmYLy9tWwd1zzg.s['187']++;return new Date(year,month,day,12,0,0,0);},_bindCalendarEvents:function(){__cov_y6840nqbDmYLy9tWwd1zzg.f['32']++;},_normalizeDate:function(date){__cov_y6840nqbDmYLy9tWwd1zzg.f['33']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['188']++;if(date){__cov_y6840nqbDmYLy9tWwd1zzg.b['48'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['189']++;return new Date(date.getFullYear(),date.getMonth(),1,12,0,0,0);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['48'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['190']++;return null;}},_getCutoffColumn:function(date,firstday){__cov_y6840nqbDmYLy9tWwd1zzg.f['34']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['191']++;var distance=this._normalizeDate(date).getDay()-firstday;__cov_y6840nqbDmYLy9tWwd1zzg.s['192']++;var cutOffColumn=6-(distance+7)%7;__cov_y6840nqbDmYLy9tWwd1zzg.s['193']++;return cutOffColumn;},_turnPrevMonthOn:function(pane){__cov_y6840nqbDmYLy9tWwd1zzg.f['35']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['194']++;var pane_id=pane.get('id'),pane_date=this._paneProperties[pane_id].paneDate,daysInPrevMonth=ydate.daysInMonth(ydate.addMonths(pane_date,-1));__cov_y6840nqbDmYLy9tWwd1zzg.s['195']++;if(!this._paneProperties[pane_id].hasOwnProperty('daysInPrevMonth')){__cov_y6840nqbDmYLy9tWwd1zzg.b['49'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['196']++;this._paneProperties[pane_id].daysInPrevMonth=0;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['49'][1]++;}__cov_y6840nqbDmYLy9tWwd1zzg.s['197']++;if(daysInPrevMonth!=this._paneProperties[pane_id].daysInPrevMonth){__cov_y6840nqbDmYLy9tWwd1zzg.b['50'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['198']++;this._paneProperties[pane_id].daysInPrevMonth=daysInPrevMonth;__cov_y6840nqbDmYLy9tWwd1zzg.s['199']++;for(var cell=5;cell>=0;cell--){__cov_y6840nqbDmYLy9tWwd1zzg.s['200']++;pane.one('#'+pane_id+'_'+cell+'_'+(cell-5)).set('text',daysInPrevMonth--);}}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['50'][1]++;}},_turnPrevMonthOff:function(pane){__cov_y6840nqbDmYLy9tWwd1zzg.f['36']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['201']++;var pane_id=pane.get('id');__cov_y6840nqbDmYLy9tWwd1zzg.s['202']++;this._paneProperties[pane_id].daysInPrevMonth=0;__cov_y6840nqbDmYLy9tWwd1zzg.s['203']++;for(var cell=5;cell>=0;cell--){__cov_y6840nqbDmYLy9tWwd1zzg.s['204']++;pane.one('#'+pane_id+'_'+cell+'_'+(cell-5)).setContent('&nbsp;');}},_cleanUpNextMonthCells:function(pane){__cov_y6840nqbDmYLy9tWwd1zzg.f['37']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['205']++;var pane_id=pane.get('id');__cov_y6840nqbDmYLy9tWwd1zzg.s['206']++;pane.one('#'+pane_id+'_6_29').removeClass(CAL_NEXTMONTH_DAY);__cov_y6840nqbDmYLy9tWwd1zzg.s['207']++;pane.one('#'+pane_id+'_7_30').removeClass(CAL_NEXTMONTH_DAY);__cov_y6840nqbDmYLy9tWwd1zzg.s['208']++;pane.one('#'+pane_id+'_8_31').removeClass(CAL_NEXTMONTH_DAY);__cov_y6840nqbDmYLy9tWwd1zzg.s['209']++;pane.one('#'+pane_id+'_0_30').removeClass(CAL_NEXTMONTH_DAY);__cov_y6840nqbDmYLy9tWwd1zzg.s['210']++;pane.one('#'+pane_id+'_1_31').removeClass(CAL_NEXTMONTH_DAY);},_turnNextMonthOn:function(pane){__cov_y6840nqbDmYLy9tWwd1zzg.f['38']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['211']++;var dayCounter=1,pane_id=pane.get('id'),daysInMonth=this._paneProperties[pane_id].daysInMonth,cutoffCol=this._paneProperties[pane_id].cutoffCol;__cov_y6840nqbDmYLy9tWwd1zzg.s['212']++;for(var cell=daysInMonth-22;cell<cutoffCol+7;cell++){__cov_y6840nqbDmYLy9tWwd1zzg.s['213']++;pane.one('#'+pane_id+'_'+cell+'_'+(cell+23)).set('text',dayCounter++).addClass(CAL_NEXTMONTH_DAY);}__cov_y6840nqbDmYLy9tWwd1zzg.s['214']++;var startingCell=cutoffCol;__cov_y6840nqbDmYLy9tWwd1zzg.s['215']++;if((__cov_y6840nqbDmYLy9tWwd1zzg.b['52'][0]++,daysInMonth==31)&&(__cov_y6840nqbDmYLy9tWwd1zzg.b['52'][1]++,cutoffCol<=1)){__cov_y6840nqbDmYLy9tWwd1zzg.b['51'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['216']++;startingCell=2;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['51'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['217']++;if((__cov_y6840nqbDmYLy9tWwd1zzg.b['54'][0]++,daysInMonth==30)&&(__cov_y6840nqbDmYLy9tWwd1zzg.b['54'][1]++,cutoffCol===0)){__cov_y6840nqbDmYLy9tWwd1zzg.b['53'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['218']++;startingCell=1;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['53'][1]++;}}__cov_y6840nqbDmYLy9tWwd1zzg.s['219']++;for(var cell=startingCell;cell<cutoffCol+7;cell++){__cov_y6840nqbDmYLy9tWwd1zzg.s['220']++;pane.one('#'+pane_id+'_'+cell+'_'+(cell+30)).set('text',dayCounter++).addClass(CAL_NEXTMONTH_DAY);}},_turnNextMonthOff:function(pane){__cov_y6840nqbDmYLy9tWwd1zzg.f['39']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['221']++;var pane_id=pane.get('id'),daysInMonth=this._paneProperties[pane_id].daysInMonth,cutoffCol=this._paneProperties[pane_id].cutoffCol;__cov_y6840nqbDmYLy9tWwd1zzg.s['222']++;for(var cell=daysInMonth-22;cell<=12;cell++){__cov_y6840nqbDmYLy9tWwd1zzg.s['223']++;pane.one('#'+pane_id+'_'+cell+'_'+(cell+23)).setContent('&nbsp;').addClass(CAL_NEXTMONTH_DAY);}__cov_y6840nqbDmYLy9tWwd1zzg.s['224']++;var startingCell=0;__cov_y6840nqbDmYLy9tWwd1zzg.s['225']++;if((__cov_y6840nqbDmYLy9tWwd1zzg.b['56'][0]++,daysInMonth==31)&&(__cov_y6840nqbDmYLy9tWwd1zzg.b['56'][1]++,cutoffCol<=1)){__cov_y6840nqbDmYLy9tWwd1zzg.b['55'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['226']++;startingCell=2;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['55'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['227']++;if((__cov_y6840nqbDmYLy9tWwd1zzg.b['58'][0]++,daysInMonth==30)&&(__cov_y6840nqbDmYLy9tWwd1zzg.b['58'][1]++,cutoffCol===0)){__cov_y6840nqbDmYLy9tWwd1zzg.b['57'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['228']++;startingCell=1;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['57'][1]++;}}__cov_y6840nqbDmYLy9tWwd1zzg.s['229']++;for(var cell=startingCell;cell<=12;cell++){__cov_y6840nqbDmYLy9tWwd1zzg.s['230']++;pane.one('#'+pane_id+'_'+cell+'_'+(cell+30)).setContent('&nbsp;').addClass(CAL_NEXTMONTH_DAY);}},_afterShowNextMonthChange:function(){__cov_y6840nqbDmYLy9tWwd1zzg.f['40']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['231']++;var contentBox=this.get('contentBox'),lastPane=contentBox.one('#'+this._calendarId+'_pane_'+(this._paneNumber-1));__cov_y6840nqbDmYLy9tWwd1zzg.s['232']++;this._cleanUpNextMonthCells(lastPane);__cov_y6840nqbDmYLy9tWwd1zzg.s['233']++;if(this.get('showNextMonth')){__cov_y6840nqbDmYLy9tWwd1zzg.b['59'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['234']++;this._turnNextMonthOn(lastPane);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['59'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['235']++;this._turnNextMonthOff(lastPane);}},_afterShowPrevMonthChange:function(){__cov_y6840nqbDmYLy9tWwd1zzg.f['41']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['236']++;var contentBox=this.get('contentBox'),firstPane=contentBox.one('#'+this._calendarId+'_pane_'+0);__cov_y6840nqbDmYLy9tWwd1zzg.s['237']++;if(this.get('showPrevMonth')){__cov_y6840nqbDmYLy9tWwd1zzg.b['60'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['238']++;this._turnPrevMonthOn(firstPane);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['60'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['239']++;this._turnPrevMonthOff(firstPane);}},_afterHeaderRendererChange:function(){__cov_y6840nqbDmYLy9tWwd1zzg.f['42']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['240']++;var headerCell=this.get('contentBox').one('.'+CAL_HD_LABEL);__cov_y6840nqbDmYLy9tWwd1zzg.s['241']++;headerCell.setContent(this._updateCalendarHeader(this.get('date')));},_afterCustomRendererChange:function(){__cov_y6840nqbDmYLy9tWwd1zzg.f['43']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['242']++;this._restoreModifiedCells();__cov_y6840nqbDmYLy9tWwd1zzg.s['243']++;this._renderCustomRules();},_afterDateChange:function(){__cov_y6840nqbDmYLy9tWwd1zzg.f['44']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['244']++;var contentBox=this.get('contentBox'),headerCell=contentBox.one('.'+CAL_HD).one('.'+CAL_HD_LABEL),calendarPanes=contentBox.all('.'+CAL_GRID),currentDate=this.get('date'),counter=0;__cov_y6840nqbDmYLy9tWwd1zzg.s['245']++;contentBox.setStyle('visibility','hidden');__cov_y6840nqbDmYLy9tWwd1zzg.s['246']++;headerCell.setContent(this._updateCalendarHeader(currentDate));__cov_y6840nqbDmYLy9tWwd1zzg.s['247']++;this._restoreModifiedCells();__cov_y6840nqbDmYLy9tWwd1zzg.s['248']++;calendarPanes.each(function(curNode){__cov_y6840nqbDmYLy9tWwd1zzg.f['45']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['249']++;this._rerenderCalendarPane(ydate.addMonths(currentDate,counter++),curNode);},this);__cov_y6840nqbDmYLy9tWwd1zzg.s['250']++;this._afterShowPrevMonthChange();__cov_y6840nqbDmYLy9tWwd1zzg.s['251']++;this._afterShowNextMonthChange();__cov_y6840nqbDmYLy9tWwd1zzg.s['252']++;this._renderCustomRules();__cov_y6840nqbDmYLy9tWwd1zzg.s['253']++;this._renderSelectedDates();__cov_y6840nqbDmYLy9tWwd1zzg.s['254']++;contentBox.setStyle('visibility','visible');},_initCalendarPane:function(baseDate,pane_id){__cov_y6840nqbDmYLy9tWwd1zzg.f['46']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['255']++;var calString='',weekdays=(__cov_y6840nqbDmYLy9tWwd1zzg.b['61'][0]++,this.get('strings.very_short_weekdays'))||(__cov_y6840nqbDmYLy9tWwd1zzg.b['61'][1]++,['Su','Mo','Tu','We','Th','Fr','Sa']),fullweekdays=(__cov_y6840nqbDmYLy9tWwd1zzg.b['62'][0]++,this.get('strings.weekdays'))||(__cov_y6840nqbDmYLy9tWwd1zzg.b['62'][1]++,['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']),firstday=(__cov_y6840nqbDmYLy9tWwd1zzg.b['63'][0]++,this.get('strings.first_weekday'))||(__cov_y6840nqbDmYLy9tWwd1zzg.b['63'][1]++,0),cutoffCol=this._getCutoffColumn(baseDate,firstday),daysInMonth=ydate.daysInMonth(baseDate),row_array=['','','','','',''],partials={};__cov_y6840nqbDmYLy9tWwd1zzg.s['256']++;partials['weekday_row']='';__cov_y6840nqbDmYLy9tWwd1zzg.s['257']++;for(var day=firstday;day<=firstday+6;day++){__cov_y6840nqbDmYLy9tWwd1zzg.s['258']++;partials['weekday_row']+=substitute(CalendarBase.WEEKDAY_TEMPLATE,{weekdayname:weekdays[day%7],full_weekdayname:fullweekdays[day%7]});}__cov_y6840nqbDmYLy9tWwd1zzg.s['259']++;partials['weekday_row_template']=substitute(CalendarBase.WEEKDAY_ROW_TEMPLATE,partials);__cov_y6840nqbDmYLy9tWwd1zzg.s['260']++;for(var row=0;row<=5;row++){__cov_y6840nqbDmYLy9tWwd1zzg.s['261']++;for(var column=0;column<=12;column++){__cov_y6840nqbDmYLy9tWwd1zzg.s['262']++;var date=7*row-5+column;__cov_y6840nqbDmYLy9tWwd1zzg.s['263']++;var id_date=pane_id+'_'+column+'_'+date;__cov_y6840nqbDmYLy9tWwd1zzg.s['264']++;var calendar_day_class=CAL_DAY;__cov_y6840nqbDmYLy9tWwd1zzg.s['265']++;if(date<1){__cov_y6840nqbDmYLy9tWwd1zzg.b['64'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['266']++;calendar_day_class=CAL_PREVMONTH_DAY;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['64'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['267']++;if(date>daysInMonth){__cov_y6840nqbDmYLy9tWwd1zzg.b['65'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['268']++;calendar_day_class=CAL_NEXTMONTH_DAY;}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['65'][1]++;}}__cov_y6840nqbDmYLy9tWwd1zzg.s['269']++;if((__cov_y6840nqbDmYLy9tWwd1zzg.b['67'][0]++,date<1)||(__cov_y6840nqbDmYLy9tWwd1zzg.b['67'][1]++,date>daysInMonth)){__cov_y6840nqbDmYLy9tWwd1zzg.b['66'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['270']++;date='&nbsp;';}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['66'][1]++;}__cov_y6840nqbDmYLy9tWwd1zzg.s['271']++;var column_visibility=(__cov_y6840nqbDmYLy9tWwd1zzg.b['69'][0]++,column>=cutoffCol)&&(__cov_y6840nqbDmYLy9tWwd1zzg.b['69'][1]++,column<cutoffCol+7)?(__cov_y6840nqbDmYLy9tWwd1zzg.b['68'][0]++,''):(__cov_y6840nqbDmYLy9tWwd1zzg.b['68'][1]++,CAL_COL_HIDDEN);__cov_y6840nqbDmYLy9tWwd1zzg.s['272']++;row_array[row]+=substitute(CalendarBase.CALDAY_TEMPLATE,{day_content:date,calendar_col_class:'calendar_col'+column,calendar_col_visibility_class:column_visibility,calendar_day_class:calendar_day_class,calendar_day_id:id_date});}}__cov_y6840nqbDmYLy9tWwd1zzg.s['273']++;partials['body_template']='';__cov_y6840nqbDmYLy9tWwd1zzg.s['274']++;each(row_array,function(v){__cov_y6840nqbDmYLy9tWwd1zzg.f['47']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['275']++;partials['body_template']+=substitute(CalendarBase.CALDAY_ROW_TEMPLATE,{calday_row:v});});__cov_y6840nqbDmYLy9tWwd1zzg.s['276']++;partials['calendar_pane_id']=pane_id;__cov_y6840nqbDmYLy9tWwd1zzg.s['277']++;partials['calendar_pane_tabindex']=this.get('tabIndex');__cov_y6840nqbDmYLy9tWwd1zzg.s['278']++;partials['pane_arialabel']=ydate.format(baseDate,{format:'%B %Y'});__cov_y6840nqbDmYLy9tWwd1zzg.s['279']++;var output=substitute(substitute(CalendarBase.CALENDAR_GRID_TEMPLATE,partials),CalendarBase.CALENDAR_STRINGS);__cov_y6840nqbDmYLy9tWwd1zzg.s['280']++;this._paneProperties[pane_id]={cutoffCol:cutoffCol,daysInMonth:daysInMonth,paneDate:baseDate};__cov_y6840nqbDmYLy9tWwd1zzg.s['281']++;return output;},_rerenderCalendarPane:function(newDate,pane){__cov_y6840nqbDmYLy9tWwd1zzg.f['48']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['282']++;var firstday=(__cov_y6840nqbDmYLy9tWwd1zzg.b['70'][0]++,this.get('strings.first_weekday'))||(__cov_y6840nqbDmYLy9tWwd1zzg.b['70'][1]++,0),cutoffCol=this._getCutoffColumn(newDate,firstday),daysInMonth=ydate.daysInMonth(newDate),paneId=pane.get('id');__cov_y6840nqbDmYLy9tWwd1zzg.s['283']++;pane.setStyle('visibility','hidden');__cov_y6840nqbDmYLy9tWwd1zzg.s['284']++;pane.setAttribute('aria-label',ydate.format(newDate,{format:'%B %Y'}));__cov_y6840nqbDmYLy9tWwd1zzg.s['285']++;for(var column=0;column<=12;column++){__cov_y6840nqbDmYLy9tWwd1zzg.s['286']++;var currentColumn=pane.all('.'+'calendar_col'+column);__cov_y6840nqbDmYLy9tWwd1zzg.s['287']++;currentColumn.removeClass(CAL_COL_HIDDEN);__cov_y6840nqbDmYLy9tWwd1zzg.s['288']++;if((__cov_y6840nqbDmYLy9tWwd1zzg.b['72'][0]++,column<cutoffCol)||(__cov_y6840nqbDmYLy9tWwd1zzg.b['72'][1]++,column>=cutoffCol+7)){__cov_y6840nqbDmYLy9tWwd1zzg.b['71'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['289']++;currentColumn.addClass(CAL_COL_HIDDEN);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['71'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['290']++;switch(column){case 0:__cov_y6840nqbDmYLy9tWwd1zzg.b['73'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['291']++;var curCell=pane.one('#'+paneId+'_0_30');__cov_y6840nqbDmYLy9tWwd1zzg.s['292']++;if(daysInMonth>=30){__cov_y6840nqbDmYLy9tWwd1zzg.b['74'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['293']++;curCell.set('text','30');__cov_y6840nqbDmYLy9tWwd1zzg.s['294']++;curCell.removeClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['74'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['295']++;curCell.setContent('&nbsp;');__cov_y6840nqbDmYLy9tWwd1zzg.s['296']++;curCell.addClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);}__cov_y6840nqbDmYLy9tWwd1zzg.s['297']++;break;case 1:__cov_y6840nqbDmYLy9tWwd1zzg.b['73'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['298']++;var curCell=pane.one('#'+paneId+'_1_31');__cov_y6840nqbDmYLy9tWwd1zzg.s['299']++;if(daysInMonth>=31){__cov_y6840nqbDmYLy9tWwd1zzg.b['75'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['300']++;curCell.set('text','31');__cov_y6840nqbDmYLy9tWwd1zzg.s['301']++;curCell.removeClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['75'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['302']++;curCell.setContent('&nbsp;');__cov_y6840nqbDmYLy9tWwd1zzg.s['303']++;curCell.removeClass(CAL_DAY).addClass(CAL_NEXTMONTH_DAY);}__cov_y6840nqbDmYLy9tWwd1zzg.s['304']++;break;case 6:__cov_y6840nqbDmYLy9tWwd1zzg.b['73'][2]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['305']++;var curCell=pane.one('#'+paneId+'_6_29');__cov_y6840nqbDmYLy9tWwd1zzg.s['306']++;if(daysInMonth>=29){__cov_y6840nqbDmYLy9tWwd1zzg.b['76'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['307']++;curCell.set('text','29');__cov_y6840nqbDmYLy9tWwd1zzg.s['308']++;curCell.removeClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['76'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['309']++;curCell.setContent('&nbsp;');__cov_y6840nqbDmYLy9tWwd1zzg.s['310']++;curCell.removeClass(CAL_DAY).addClass(CAL_NEXTMONTH_DAY);}__cov_y6840nqbDmYLy9tWwd1zzg.s['311']++;break;case 7:__cov_y6840nqbDmYLy9tWwd1zzg.b['73'][3]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['312']++;var curCell=pane.one('#'+paneId+'_7_30');__cov_y6840nqbDmYLy9tWwd1zzg.s['313']++;if(daysInMonth>=30){__cov_y6840nqbDmYLy9tWwd1zzg.b['77'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['314']++;curCell.set('text','30');__cov_y6840nqbDmYLy9tWwd1zzg.s['315']++;curCell.removeClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['77'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['316']++;curCell.setContent('&nbsp;');__cov_y6840nqbDmYLy9tWwd1zzg.s['317']++;curCell.removeClass(CAL_DAY).addClass(CAL_NEXTMONTH_DAY);}__cov_y6840nqbDmYLy9tWwd1zzg.s['318']++;break;case 8:__cov_y6840nqbDmYLy9tWwd1zzg.b['73'][4]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['319']++;var curCell=pane.one('#'+paneId+'_8_31');__cov_y6840nqbDmYLy9tWwd1zzg.s['320']++;if(daysInMonth>=31){__cov_y6840nqbDmYLy9tWwd1zzg.b['78'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['321']++;curCell.set('text','31');__cov_y6840nqbDmYLy9tWwd1zzg.s['322']++;curCell.removeClass(CAL_NEXTMONTH_DAY).addClass(CAL_DAY);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['78'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['323']++;curCell.setContent('&nbsp;');__cov_y6840nqbDmYLy9tWwd1zzg.s['324']++;curCell.removeClass(CAL_DAY).addClass(CAL_NEXTMONTH_DAY);}__cov_y6840nqbDmYLy9tWwd1zzg.s['325']++;break;}}}__cov_y6840nqbDmYLy9tWwd1zzg.s['326']++;this._paneProperties[paneId].cutoffCol=cutoffCol;__cov_y6840nqbDmYLy9tWwd1zzg.s['327']++;this._paneProperties[paneId].daysInMonth=daysInMonth;__cov_y6840nqbDmYLy9tWwd1zzg.s['328']++;this._paneProperties[paneId].paneDate=newDate;__cov_y6840nqbDmYLy9tWwd1zzg.s['329']++;pane.setStyle('visibility','visible');},_updateCalendarHeader:function(baseDate){__cov_y6840nqbDmYLy9tWwd1zzg.f['49']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['330']++;var headerString='',headerRenderer=this.get('headerRenderer');__cov_y6840nqbDmYLy9tWwd1zzg.s['331']++;if(Y.Lang.isString(headerRenderer)){__cov_y6840nqbDmYLy9tWwd1zzg.b['79'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['332']++;headerString=ydate.format(baseDate,{format:headerRenderer});}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['79'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['333']++;if(headerRenderer instanceof Function){__cov_y6840nqbDmYLy9tWwd1zzg.b['80'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['334']++;headerString=headerRenderer.call(this,baseDate);}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['80'][1]++;}}__cov_y6840nqbDmYLy9tWwd1zzg.s['335']++;return headerString;},_initCalendarHeader:function(baseDate){__cov_y6840nqbDmYLy9tWwd1zzg.f['50']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['336']++;return substitute(substitute(CalendarBase.HEADER_TEMPLATE,{calheader:this._updateCalendarHeader(baseDate),calendar_id:this._calendarId}),CalendarBase.CALENDAR_STRINGS);},_initCalendarHTML:function(baseDate){__cov_y6840nqbDmYLy9tWwd1zzg.f['51']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['337']++;var partials={},counter=0;__cov_y6840nqbDmYLy9tWwd1zzg.s['338']++;partials['header_template']=this._initCalendarHeader(baseDate);__cov_y6840nqbDmYLy9tWwd1zzg.s['339']++;partials['calendar_id']=this._calendarId;__cov_y6840nqbDmYLy9tWwd1zzg.s['340']++;partials['body_template']=substitute(substitute(CalendarBase.CONTENT_TEMPLATE,partials),CalendarBase.CALENDAR_STRINGS);__cov_y6840nqbDmYLy9tWwd1zzg.s['341']++;function paneReplacer(){__cov_y6840nqbDmYLy9tWwd1zzg.f['52']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['342']++;var singlePane=this._initCalendarPane(ydate.addMonths(baseDate,counter),partials['calendar_id']+'_pane_'+counter);__cov_y6840nqbDmYLy9tWwd1zzg.s['343']++;counter++;__cov_y6840nqbDmYLy9tWwd1zzg.s['344']++;return singlePane;}__cov_y6840nqbDmYLy9tWwd1zzg.s['345']++;var output=partials['body_template'].replace(/\{calendar_grid_template\}/g,Y.bind(paneReplacer,this));__cov_y6840nqbDmYLy9tWwd1zzg.s['346']++;this._paneNumber=counter;__cov_y6840nqbDmYLy9tWwd1zzg.s['347']++;return output;}},{CALENDAR_STRINGS:{calendar_grid_class:CAL_GRID,calendar_body_class:CAL_BODY,calendar_hd_class:CAL_HD,calendar_hd_label_class:CAL_HD_LABEL,calendar_weekdayrow_class:CAL_WDAYROW,calendar_weekday_class:CAL_WDAY,calendar_row_class:CAL_ROW,calendar_day_class:CAL_DAY,calendar_dayanchor_class:CAL_ANCHOR,calendar_pane_class:CAL_PANE,calendar_right_grid_class:CAL_RIGHT_GRID,calendar_left_grid_class:CAL_LEFT_GRID,calendar_status_class:CAL_STATUS},CONTENT_TEMPLATE:'<div class="yui3-g {calendar_pane_class}" id="{calendar_id}">'+'{header_template}'+'<div class="yui3-u-1">'+'{calendar_grid_template}'+'</div>'+'</div>',ONE_PANE_TEMPLATE:'<div class="yui3-g {calendar_pane_class}" id="{calendar_id}">'+'{header_template}'+'<div class="yui3-u-1">'+'{calendar_grid_template}'+'</div>'+'</div>',TWO_PANE_TEMPLATE:'<div class="yui3-g {calendar_pane_class}" id="{calendar_id}">'+'{header_template}'+'<div class="yui3-u-1-2">'+'<div class = "{calendar_left_grid_class}">'+'{calendar_grid_template}'+'</div>'+'</div>'+'<div class="yui3-u-1-2">'+'<div class = "{calendar_right_grid_class}">'+'{calendar_grid_template}'+'</div>'+'</div>'+'</div>',THREE_PANE_TEMPLATE:'<div class="yui3-g {calendar_pane_class}" id="{calendar_id}">'+'{header_template}'+'<div class="yui3-u-1-3">'+'<div class = "{calendar_left_grid_class}">'+'{calendar_grid_template}'+'</div>'+'</div>'+'<div class="yui3-u-1-3">'+'{calendar_grid_template}'+'</div>'+'<div class="yui3-u-1-3">'+'<div class = "{calendar_right_grid_class}">'+'{calendar_grid_template}'+'</div>'+'</div>'+'</div>',CALENDAR_GRID_TEMPLATE:'<table class="{calendar_grid_class}" id="{calendar_pane_id}" role="grid" aria-readonly="true" aria-label="{pane_arialabel}" tabindex="{calendar_pane_tabindex}">'+'<thead>'+'{weekday_row_template}'+'</thead>'+'<tbody>'+'{body_template}'+'</tbody>'+'</table>',HEADER_TEMPLATE:'<div class="yui3-g {calendar_hd_class}">'+'<div class="yui3-u {calendar_hd_label_class}" id="{calendar_id}_header" aria-role="heading">'+'{calheader}'+'</div>'+'</div>',WEEKDAY_ROW_TEMPLATE:'<tr class="{calendar_weekdayrow_class}" role="row">'+'{weekday_row}'+'</tr>',CALDAY_ROW_TEMPLATE:'<tr class="{calendar_row_class}" role="row">'+'{calday_row}'+'</tr>',WEEKDAY_TEMPLATE:'<th class="{calendar_weekday_class}" role="columnheader" aria-label="{full_weekdayname}">{weekdayname}</th>',CALDAY_TEMPLATE:'<td class="{calendar_col_class} {calendar_day_class} {calendar_col_visibility_class}" id="{calendar_day_id}" role="gridcell" tabindex="-1">'+'{day_content}'+'</td>',NAME:'calendarBase',ATTRS:{tabIndex:{value:1},date:{value:new Date(),setter:function(val){__cov_y6840nqbDmYLy9tWwd1zzg.f['53']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['348']++;var newDate=this._normalizeDate(val);__cov_y6840nqbDmYLy9tWwd1zzg.s['349']++;if(ydate.areEqual(newDate,this.get('date'))){__cov_y6840nqbDmYLy9tWwd1zzg.b['81'][0]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['350']++;return this.get('date');}else{__cov_y6840nqbDmYLy9tWwd1zzg.b['81'][1]++;__cov_y6840nqbDmYLy9tWwd1zzg.s['351']++;return newDate;}}},showPrevMonth:{value:false},showNextMonth:{value:false},strings:{valueFn:function(){__cov_y6840nqbDmYLy9tWwd1zzg.f['54']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['352']++;return Y.Intl.get('calendar-base');}},headerRenderer:{value:'%B %Y'},enabledDatesRule:{value:null},disabledDatesRule:{value:null},selectedDates:{readOnly:true,getter:function(val){__cov_y6840nqbDmYLy9tWwd1zzg.f['55']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['353']++;return this._getSelectedDatesList();}},customRenderer:{lazyAdd:false,value:{},setter:function(val){__cov_y6840nqbDmYLy9tWwd1zzg.f['56']++;__cov_y6840nqbDmYLy9tWwd1zzg.s['354']++;this._rules=val.rules;__cov_y6840nqbDmYLy9tWwd1zzg.s['355']++;this._filterFunction=val.filterFunction;}}}});},'@VERSION@',{'requires':['widget','substitute','datatype-date','datatype-date-math','cssgrids'],'lang':['de','en','fr','ja','nb-NO','pt-BR','ru','zh-HANT-TW'],'skinnable':true});
