{"version":3,"file":"vendors-319a6989.981ca8458d389c9a476a.bundle.js","mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAoBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;ACtrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC9PA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACzaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACnSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://latinera/./node_modules/aurelia-bootstrapper/dist/native-modules/aurelia-bootstrapper.js","webpack://latinera/./node_modules/aurelia-dependency-injection/dist/native-modules/aurelia-dependency-injection.js","webpack://latinera/./node_modules/aurelia-dialog/dist/native-modules/aurelia-dialog.js","webpack://latinera/./node_modules/aurelia-dialog/dist/native-modules/chunk.js","webpack://latinera/./node_modules/aurelia-event-aggregator/dist/native-modules/aurelia-event-aggregator.js","webpack://latinera/./node_modules/aurelia-framework/dist/native-modules/aurelia-framework.js","webpack://latinera/./node_modules/aurelia-history-browser/dist/native-modules/aurelia-history-browser.js","webpack://latinera/./node_modules/aurelia-history/dist/native-modules/aurelia-history.js"],"sourcesContent":["import 'aurelia-polyfills';\nimport { PLATFORM, isInitialized } from 'aurelia-pal';\n\nvar bootstrapPromises = [];\r\nvar startResolve;\r\nvar startPromise = new Promise(function (resolve) { return startResolve = resolve; });\r\nvar host = PLATFORM.global;\r\nvar isNodeLike = typeof process !== 'undefined' && !process.browser && process.version;\r\nfunction ready() {\r\n if (!host.document || host.document.readyState === 'complete') {\r\n return Promise.resolve();\r\n }\r\n return new Promise(function (resolve) {\r\n host.document.addEventListener('DOMContentLoaded', completed);\r\n host.addEventListener('load', completed);\r\n function completed() {\r\n host.document.removeEventListener('DOMContentLoaded', completed);\r\n host.removeEventListener('load', completed);\r\n resolve();\r\n }\r\n });\r\n}\r\nfunction createLoader() {\r\n if (PLATFORM.Loader) {\r\n return Promise.resolve(new PLATFORM.Loader());\r\n }\r\n if (typeof AURELIA_WEBPACK_2_0 === 'undefined') {\r\n if (typeof __webpack_require__ !== 'undefined') {\r\n var m = __webpack_require__(require.resolve('aurelia-loader-webpack'));\r\n return Promise.resolve(new m.WebpackLoader());\r\n }\r\n if (host.System && typeof host.System.config === 'function') {\r\n return host.System.normalize('aurelia-bootstrapper').then(function (bsn) {\r\n return host.System.normalize('aurelia-loader-default', bsn);\r\n }).then(function (loaderName) {\r\n return host.System.import(loaderName).then(function (m) { return new m.DefaultLoader(); });\r\n });\r\n }\r\n if (typeof host.require === 'function' && typeof host.define === 'function' && typeof host.define.amd === 'object') {\r\n return new Promise(function (resolve, reject) { return host.require(['aurelia-loader-default'], function (m) { return resolve(new m.DefaultLoader()); }, reject); });\r\n }\r\n if (isNodeLike && typeof module !== 'undefined' && typeof module.require !== 'undefined') {\r\n var m = module.require('aurelia-loader-nodejs');\r\n return Promise.resolve(new m.NodeJsLoader());\r\n }\r\n }\r\n return Promise.reject('No PLATFORM.Loader is defined and there is neither a System API (ES6) or a Require API (AMD) globally available to load your app.');\r\n}\r\nfunction initializePal(loader) {\r\n if (isInitialized)\r\n return Promise.resolve();\r\n var type;\r\n var isRenderer = isNodeLike && (process.type === 'renderer' || process.versions['node-webkit']);\r\n if (isNodeLike && !isRenderer) {\r\n type = 'nodejs';\r\n }\r\n else if (typeof window !== 'undefined') {\r\n type = 'browser';\r\n }\r\n else if (typeof self !== 'undefined') {\r\n type = 'worker';\r\n }\r\n else {\r\n throw new Error('Could not determine platform implementation to load.');\r\n }\r\n return loader.loadModule('aurelia-pal-' + type)\r\n .then(function (palModule) { return type === 'nodejs' && !isInitialized && palModule.globalize() || palModule.initialize(); });\r\n}\r\nfunction preparePlatform(loader) {\r\n var map = function (moduleId, relativeTo) {\r\n return loader.normalize(moduleId, relativeTo)\r\n .then(function (normalized) {\r\n loader.map(moduleId, normalized);\r\n return normalized;\r\n });\r\n };\r\n return initializePal(loader)\r\n .then(function () { return loader.normalize('aurelia-bootstrapper'); })\r\n .then(function (bootstrapperName) {\r\n var frameworkPromise = map(PLATFORM.moduleName('aurelia-framework', { exports: ['Aurelia'] }), bootstrapperName);\r\n return Promise.all([\r\n frameworkPromise,\r\n frameworkPromise.then(function (frameworkName) { return map('aurelia-dependency-injection', frameworkName); }),\r\n map('aurelia-router', bootstrapperName),\r\n map('aurelia-logging-console', bootstrapperName)\r\n ]);\r\n })\r\n .then(function (_a) {\r\n var frameworkName = _a[0];\r\n return loader.loadModule(frameworkName);\r\n })\r\n .then(function (fx) { return startResolve(function () { return new fx.Aurelia(loader); }); });\r\n}\r\nfunction config(appHost, configModuleId, aurelia) {\r\n aurelia.host = appHost;\r\n aurelia.configModuleId = configModuleId || null;\r\n if (configModuleId) {\r\n return aurelia.loader\r\n .loadModule(configModuleId)\r\n .then(function (customConfig) {\r\n if (!customConfig.configure) {\r\n throw new Error(\"Cannot initialize module '\".concat(configModuleId, \"' without a configure function.\"));\r\n }\r\n return customConfig.configure(aurelia);\r\n });\r\n }\r\n aurelia.use\r\n .standardConfiguration()\r\n .developmentLogging();\r\n return aurelia.start().then(function () { return aurelia.setRoot(); });\r\n}\r\nfunction run() {\r\n return ready()\r\n .then(createLoader)\r\n .then(preparePlatform)\r\n .then(function () {\r\n var appHosts = host.document.querySelectorAll('[aurelia-app],[data-aurelia-app]');\r\n for (var i = 0, ii = appHosts.length; i < ii; ++i) {\r\n var appHost = appHosts[i];\r\n var mainModuleId = appHost.getAttribute('aurelia-app') || appHost.getAttribute('data-aurelia-app');\r\n bootstrap(config.bind(null, appHost, mainModuleId));\r\n }\r\n var toConsole = console.error.bind(console);\r\n var bootstraps = bootstrapPromises.map(function (p) { return p.catch(toConsole); });\r\n bootstrapPromises = null;\r\n return Promise.all(bootstraps);\r\n });\r\n}\r\nfunction bootstrap(configure) {\r\n var p = startPromise.then(function (factory) { return configure(factory()); });\r\n if (bootstrapPromises)\r\n bootstrapPromises.push(p);\r\n return p;\r\n}\r\nvar starting = run();\n\nexport { bootstrap, starting };\n//# sourceMappingURL=aurelia-bootstrapper.js.map\n","import { metadata, protocol } from 'aurelia-metadata';\nimport { AggregateError } from 'aurelia-pal';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nfunction isInjectable(potentialTarget) {\n return !!potentialTarget;\n}\nfunction autoinject(potentialTarget) {\n var deco = function (target) {\n if (!target.hasOwnProperty('inject')) {\n target.inject = (metadata.getOwn(metadata.paramTypes, target) ||\n _emptyParameters).slice();\n if (target.inject && target.inject.length > 0) {\n if (target.inject[target.inject.length - 1] === Object) {\n target.inject.splice(-1, 1);\n }\n }\n }\n };\n if (isInjectable(potentialTarget)) {\n return deco(potentialTarget);\n }\n return deco;\n}\nfunction inject() {\n var rest = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n rest[_i] = arguments[_i];\n }\n return function (target, _key, descriptor) {\n if (typeof descriptor === 'number') {\n autoinject(target);\n if (rest.length === 1) {\n target.inject[descriptor] = rest[0];\n }\n return;\n }\n if (descriptor) {\n var fn = descriptor.value;\n fn.inject = rest;\n }\n else {\n target.inject = rest;\n }\n };\n}\n\nvar resolver = protocol.create('aurelia:resolver', function (target) {\n if (!(typeof target.get === 'function')) {\n return 'Resolvers must implement: get(container: Container, key: any): any';\n }\n return true;\n});\nvar Strategy;\n(function (Strategy) {\n Strategy[Strategy[\"instance\"] = 0] = \"instance\";\n Strategy[Strategy[\"singleton\"] = 1] = \"singleton\";\n Strategy[Strategy[\"transient\"] = 2] = \"transient\";\n Strategy[Strategy[\"function\"] = 3] = \"function\";\n Strategy[Strategy[\"array\"] = 4] = \"array\";\n Strategy[Strategy[\"alias\"] = 5] = \"alias\";\n})(Strategy || (Strategy = {}));\nfunction isStrategy(actual, expected, state) {\n return actual === expected;\n}\nvar StrategyResolver = (function () {\n function StrategyResolver(strategy, state) {\n this.strategy = strategy;\n this.state = state;\n }\n StrategyResolver.prototype.get = function (container, key) {\n if (isStrategy(this.strategy, Strategy.instance, this.state)) {\n return this.state;\n }\n if (isStrategy(this.strategy, Strategy.singleton, this.state)) {\n var singleton = container.invoke(this.state);\n this.state = singleton;\n this.strategy = 0;\n return singleton;\n }\n if (isStrategy(this.strategy, Strategy.transient, this.state)) {\n return container.invoke(this.state);\n }\n if (isStrategy(this.strategy, Strategy.function, this.state)) {\n return this.state(container, key, this);\n }\n if (isStrategy(this.strategy, Strategy.array, this.state)) {\n return this.state[0].get(container, key);\n }\n if (isStrategy(this.strategy, Strategy.alias, this.state)) {\n return container.get(this.state);\n }\n throw new Error('Invalid strategy: ' + this.strategy);\n };\n StrategyResolver = __decorate([\n resolver(),\n __metadata(\"design:paramtypes\", [Number, Object])\n ], StrategyResolver);\n return StrategyResolver;\n}());\nvar Lazy = (function () {\n function Lazy(key) {\n this._key = key;\n }\n Lazy_1 = Lazy;\n Lazy.prototype.get = function (container) {\n var _this = this;\n return function () { return container.get(_this._key); };\n };\n Lazy.of = function (key) {\n return new Lazy_1(key);\n };\n var Lazy_1;\n Lazy = Lazy_1 = __decorate([\n resolver(),\n __metadata(\"design:paramtypes\", [Object])\n ], Lazy);\n return Lazy;\n}());\nvar All = (function () {\n function All(key) {\n this._key = key;\n }\n All_1 = All;\n All.prototype.get = function (container) {\n return container.getAll(this._key);\n };\n All.of = function (key) {\n return new All_1(key);\n };\n var All_1;\n All = All_1 = __decorate([\n resolver(),\n __metadata(\"design:paramtypes\", [Object])\n ], All);\n return All;\n}());\nvar Optional = (function () {\n function Optional(key, checkParent) {\n if (checkParent === void 0) { checkParent = true; }\n this._key = key;\n this._checkParent = checkParent;\n }\n Optional_1 = Optional;\n Optional.prototype.get = function (container) {\n if (container.hasResolver(this._key, this._checkParent)) {\n return container.get(this._key);\n }\n return null;\n };\n Optional.of = function (key, checkParent) {\n if (checkParent === void 0) { checkParent = true; }\n return new Optional_1(key, checkParent);\n };\n var Optional_1;\n Optional = Optional_1 = __decorate([\n resolver(),\n __metadata(\"design:paramtypes\", [Object, Boolean])\n ], Optional);\n return Optional;\n}());\nvar Parent = (function () {\n function Parent(key) {\n this._key = key;\n }\n Parent_1 = Parent;\n Parent.prototype.get = function (container) {\n return container.parent ? container.parent.get(this._key) : null;\n };\n Parent.of = function (key) {\n return new Parent_1(key);\n };\n var Parent_1;\n Parent = Parent_1 = __decorate([\n resolver(),\n __metadata(\"design:paramtypes\", [Object])\n ], Parent);\n return Parent;\n}());\nvar Factory = (function () {\n function Factory(key) {\n this._key = key;\n }\n Factory_1 = Factory;\n Factory.prototype.get = function (container) {\n var fn = this._key;\n var resolver = container.getResolver(fn);\n if (resolver && resolver.strategy === Strategy.function) {\n fn = resolver.state;\n }\n return function () {\n var rest = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n rest[_i] = arguments[_i];\n }\n return container.invoke(fn, rest);\n };\n };\n Factory.of = function (key) {\n return new Factory_1(key);\n };\n var Factory_1;\n Factory = Factory_1 = __decorate([\n resolver(),\n __metadata(\"design:paramtypes\", [Object])\n ], Factory);\n return Factory;\n}());\nvar NewInstance = (function () {\n function NewInstance(key) {\n var dynamicDependencies = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n dynamicDependencies[_i - 1] = arguments[_i];\n }\n this.key = key;\n this.asKey = key;\n this.dynamicDependencies = dynamicDependencies;\n }\n NewInstance_1 = NewInstance;\n NewInstance.prototype.get = function (container) {\n var dynamicDependencies = this.dynamicDependencies.length > 0\n ? this.dynamicDependencies.map(function (dependency) {\n return dependency['protocol:aurelia:resolver']\n ? dependency.get(container)\n : container.get(dependency);\n })\n : undefined;\n var fn = this.key;\n var resolver = container.getResolver(fn);\n if (resolver && resolver.strategy === 3) {\n fn = resolver.state;\n }\n var instance = container.invoke(fn, dynamicDependencies);\n container.registerInstance(this.asKey, instance);\n return instance;\n };\n NewInstance.prototype.as = function (key) {\n this.asKey = key;\n return this;\n };\n NewInstance.of = function (key) {\n var dynamicDependencies = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n dynamicDependencies[_i - 1] = arguments[_i];\n }\n return new (NewInstance_1.bind.apply(NewInstance_1, __spreadArray([void 0, key], dynamicDependencies, false)))();\n };\n var NewInstance_1;\n NewInstance = NewInstance_1 = __decorate([\n resolver(),\n __metadata(\"design:paramtypes\", [Object, Object])\n ], NewInstance);\n return NewInstance;\n}());\nfunction getDecoratorDependencies(target) {\n autoinject(target);\n return target.inject;\n}\nfunction lazy(keyValue) {\n return function (target, _key, index) {\n var inject = getDecoratorDependencies(target);\n inject[index] = Lazy.of(keyValue);\n };\n}\nfunction all(keyValue) {\n return function (target, _key, index) {\n var inject = getDecoratorDependencies(target);\n inject[index] = All.of(keyValue);\n };\n}\nfunction optional(checkParentOrTarget) {\n if (checkParentOrTarget === void 0) { checkParentOrTarget = true; }\n var deco = function (checkParent) {\n return function (target, _key, index) {\n var inject = getDecoratorDependencies(target);\n inject[index] = Optional.of(inject[index], checkParent);\n };\n };\n if (typeof checkParentOrTarget === 'boolean') {\n return deco(checkParentOrTarget);\n }\n return deco(true);\n}\nfunction parent(target, _key, index) {\n var inject = getDecoratorDependencies(target);\n inject[index] = Parent.of(inject[index]);\n}\nfunction factory(keyValue) {\n return function (target, _key, index) {\n var inject = getDecoratorDependencies(target);\n inject[index] = Factory.of(keyValue);\n };\n}\nfunction newInstance(asKeyOrTarget) {\n var dynamicDependencies = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n dynamicDependencies[_i - 1] = arguments[_i];\n }\n var deco = function (asKey) {\n return function (target, _key, index) {\n var inject = getDecoratorDependencies(target);\n inject[index] = NewInstance.of.apply(NewInstance, __spreadArray([inject[index]], dynamicDependencies, false));\n if (!!asKey) {\n inject[index].as(asKey);\n }\n };\n };\n if (arguments.length >= 1) {\n return deco(asKeyOrTarget);\n }\n return deco();\n}\n\nvar currentContainer = null;\nfunction validateKey(key) {\n if (key === null || key === undefined) {\n throw new Error('key/value cannot be null or undefined. Are you trying to inject/register something that doesn\\'t exist with DI?');\n }\n}\nvar _emptyParameters = Object.freeze([]);\nmetadata.registration = 'aurelia:registration';\nmetadata.invoker = 'aurelia:invoker';\nvar resolverDecorates = resolver.decorates;\nvar InvocationHandler = (function () {\n function InvocationHandler(fn, invoker, dependencies) {\n this.fn = fn;\n this.invoker = invoker;\n this.dependencies = dependencies;\n }\n InvocationHandler.prototype.invoke = function (container, dynamicDependencies) {\n var previousContainer = currentContainer;\n currentContainer = container;\n try {\n return dynamicDependencies !== undefined\n ? this.invoker.invokeWithDynamicDependencies(container, this.fn, this.dependencies, dynamicDependencies)\n : this.invoker.invoke(container, this.fn, this.dependencies);\n }\n finally {\n currentContainer = previousContainer;\n }\n };\n return InvocationHandler;\n}());\nfunction invokeWithDynamicDependencies(container, fn, staticDependencies, dynamicDependencies) {\n var i = staticDependencies.length;\n var args = new Array(i);\n var lookup;\n while (i--) {\n lookup = staticDependencies[i];\n if (lookup === null || lookup === undefined) {\n throw new Error('Constructor Parameter with index ' +\n i +\n ' cannot be null or undefined. Are you trying to inject/register something that doesn\\'t exist with DI?');\n }\n else {\n args[i] = container.get(lookup);\n }\n }\n if (dynamicDependencies !== undefined) {\n args = args.concat(dynamicDependencies);\n }\n return Reflect.construct(fn, args);\n}\nvar classInvoker = {\n invoke: function (container, Type, deps) {\n var instances = deps.map(function (dep) { return container.get(dep); });\n return Reflect.construct(Type, instances);\n },\n invokeWithDynamicDependencies: invokeWithDynamicDependencies\n};\nfunction getDependencies(f) {\n if (!f.hasOwnProperty('inject')) {\n return [];\n }\n if (typeof f.inject === 'function') {\n return f.inject();\n }\n return f.inject;\n}\nvar Container = (function () {\n function Container(configuration) {\n if (configuration === undefined) {\n configuration = {};\n }\n this._configuration = configuration;\n this._onHandlerCreated = configuration.onHandlerCreated;\n this._handlers =\n configuration.handlers || (configuration.handlers = new Map());\n this._resolvers = new Map();\n this.root = this;\n this.parent = null;\n }\n Container.prototype.makeGlobal = function () {\n Container.instance = this;\n return this;\n };\n Container.prototype.setHandlerCreatedCallback = function (onHandlerCreated) {\n this._onHandlerCreated = onHandlerCreated;\n this._configuration.onHandlerCreated = onHandlerCreated;\n };\n Container.prototype.registerInstance = function (key, instance) {\n return this.registerResolver(key, new StrategyResolver(0, instance === undefined ? key : instance));\n };\n Container.prototype.registerSingleton = function (key, fn) {\n return this.registerResolver(key, new StrategyResolver(Strategy.singleton, fn === undefined ? key : fn));\n };\n Container.prototype.registerTransient = function (key, fn) {\n return this.registerResolver(key, new StrategyResolver(2, fn === undefined ? key : fn));\n };\n Container.prototype.registerHandler = function (key, handler) {\n return this.registerResolver(key, new StrategyResolver(Strategy.function, handler));\n };\n Container.prototype.registerAlias = function (originalKey, aliasKey) {\n return this.registerResolver(aliasKey, new StrategyResolver(5, originalKey));\n };\n Container.prototype.registerResolver = function (key, resolver) {\n validateKey(key);\n var allResolvers = this._resolvers;\n var result = allResolvers.get(key);\n if (result === undefined) {\n allResolvers.set(key, resolver);\n }\n else if (result.strategy === 4) {\n result.state.push(resolver);\n }\n else {\n allResolvers.set(key, new StrategyResolver(4, [result, resolver]));\n }\n return resolver;\n };\n Container.prototype.autoRegister = function (key, fn) {\n fn = fn === undefined ? key : fn;\n if (typeof fn === 'function') {\n var registration = metadata.get(metadata.registration, fn);\n if (registration === undefined) {\n return this.registerResolver(key, new StrategyResolver(1, fn));\n }\n return registration.registerResolver(this, key, fn);\n }\n return this.registerResolver(key, new StrategyResolver(0, fn));\n };\n Container.prototype.autoRegisterAll = function (fns) {\n var i = fns.length;\n while (i--) {\n this.autoRegister(fns[i]);\n }\n };\n Container.prototype.unregister = function (key) {\n this._resolvers.delete(key);\n };\n Container.prototype.hasResolver = function (key, checkParent) {\n if (checkParent === void 0) { checkParent = false; }\n validateKey(key);\n return (this._resolvers.has(key) ||\n (checkParent &&\n this.parent !== null &&\n this.parent.hasResolver(key, checkParent)));\n };\n Container.prototype.getResolver = function (key) {\n return this._resolvers.get(key);\n };\n Container.prototype.get = function (key) {\n validateKey(key);\n if (key === Container) {\n return this;\n }\n if (resolverDecorates(key)) {\n return key.get(this, key);\n }\n var resolver = this._resolvers.get(key);\n if (resolver === undefined) {\n if (this.parent === null) {\n return this.autoRegister(key).get(this, key);\n }\n var registration = metadata.get(metadata.registration, key);\n if (registration === undefined) {\n return this.parent._get(key);\n }\n return registration.registerResolver(this, key, key).get(this, key);\n }\n return resolver.get(this, key);\n };\n Container.prototype._get = function (key) {\n var resolver = this._resolvers.get(key);\n if (resolver === undefined) {\n if (this.parent === null) {\n return this.autoRegister(key).get(this, key);\n }\n return this.parent._get(key);\n }\n return resolver.get(this, key);\n };\n Container.prototype.getAll = function (key) {\n validateKey(key);\n var resolver = this._resolvers.get(key);\n if (resolver === undefined) {\n if (this.parent === null) {\n return _emptyParameters;\n }\n return this.parent.getAll(key);\n }\n if (resolver.strategy === 4) {\n var state = resolver.state;\n var i = state.length;\n var results = new Array(i);\n while (i--) {\n results[i] = state[i].get(this, key);\n }\n return results;\n }\n return [resolver.get(this, key)];\n };\n Container.prototype.createChild = function () {\n var child = new Container(this._configuration);\n child.root = this.root;\n child.parent = this;\n return child;\n };\n Container.prototype.invoke = function (fn, dynamicDependencies) {\n try {\n var handler = this._handlers.get(fn);\n if (handler === undefined) {\n handler = this._createInvocationHandler(fn);\n this._handlers.set(fn, handler);\n }\n return handler.invoke(this, dynamicDependencies);\n }\n catch (e) {\n throw new AggregateError(\"Error invoking \".concat(fn.name, \". Check the inner error for details.\"), e, true);\n }\n };\n Container.prototype._createInvocationHandler = function (fn) {\n var dependencies;\n if (fn.inject === undefined) {\n dependencies =\n metadata.getOwn(metadata.paramTypes, fn) || _emptyParameters;\n }\n else {\n dependencies = [];\n var ctor = fn;\n while (typeof ctor === 'function') {\n dependencies.push.apply(dependencies, getDependencies(ctor));\n ctor = Object.getPrototypeOf(ctor);\n }\n }\n var invoker = metadata.getOwn(metadata.invoker, fn) || classInvoker;\n var handler = new InvocationHandler(fn, invoker, dependencies);\n return this._onHandlerCreated !== undefined\n ? this._onHandlerCreated(handler)\n : handler;\n };\n return Container;\n}());\nfunction resolve() {\n var keys = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n keys[_i] = arguments[_i];\n }\n if (currentContainer == null) {\n throw new Error(\"There is not a currently active container to resolve \\\"\".concat(String(keys), \"\\\". Are you trying to \\\"new SomeClass(...)\\\" that has a resolve(...) call?\"));\n }\n return keys.length === 1\n ? currentContainer.get(keys[0])\n : keys.map(containerGetKey, currentContainer);\n}\nfunction containerGetKey(key) {\n return this.get(key);\n}\n\nfunction invoker(value) {\n return function (target) {\n metadata.define(metadata.invoker, value, target);\n };\n}\nfunction invokeAsFactory(potentialTarget) {\n var deco = function (target) {\n metadata.define(metadata.invoker, FactoryInvoker.instance, target);\n };\n return potentialTarget ? deco(potentialTarget) : deco;\n}\nvar FactoryInvoker = (function () {\n function FactoryInvoker() {\n }\n FactoryInvoker.prototype.invoke = function (container, fn, dependencies) {\n var i = dependencies.length;\n var args = new Array(i);\n while (i--) {\n args[i] = container.get(dependencies[i]);\n }\n return (fn.apply(undefined, args));\n };\n FactoryInvoker.prototype.invokeWithDynamicDependencies = function (container, fn, staticDependencies, dynamicDependencies) {\n var i = staticDependencies.length;\n var args = new Array(i);\n while (i--) {\n args[i] = container.get(staticDependencies[i]);\n }\n if (dynamicDependencies !== undefined) {\n args = args.concat(dynamicDependencies);\n }\n return fn.apply(undefined, args);\n };\n return FactoryInvoker;\n}());\nFactoryInvoker.instance = new FactoryInvoker();\n\nfunction registration(value) {\n return function (target) {\n metadata.define(metadata.registration, value, target);\n };\n}\nfunction transient(key) {\n return registration(new TransientRegistration(key));\n}\nfunction singleton(keyOrRegisterInChild, registerInChild) {\n if (registerInChild === void 0) { registerInChild = false; }\n return registration(new SingletonRegistration(keyOrRegisterInChild, registerInChild));\n}\nvar TransientRegistration = (function () {\n function TransientRegistration(key) {\n this._key = key;\n }\n TransientRegistration.prototype.registerResolver = function (container, key, fn) {\n var existingResolver = container.getResolver(this._key || key);\n return existingResolver === undefined\n ? container.registerTransient((this._key || key), fn)\n : existingResolver;\n };\n return TransientRegistration;\n}());\nvar SingletonRegistration = (function () {\n function SingletonRegistration(keyOrRegisterInChild, registerInChild) {\n if (registerInChild === void 0) { registerInChild = false; }\n if (typeof keyOrRegisterInChild === 'boolean') {\n this._registerInChild = keyOrRegisterInChild;\n }\n else {\n this._key = keyOrRegisterInChild;\n this._registerInChild = registerInChild;\n }\n }\n SingletonRegistration.prototype.registerResolver = function (container, key, fn) {\n var targetContainer = this._registerInChild ? container : container.root;\n var existingResolver = targetContainer.getResolver(this._key || key);\n return existingResolver === undefined\n ? targetContainer.registerSingleton(this._key || key, fn)\n : existingResolver;\n };\n return SingletonRegistration;\n}());\n\nexport { All, Container, Factory, FactoryInvoker, InvocationHandler, Lazy, NewInstance, Optional, Parent, SingletonRegistration, Strategy, StrategyResolver, TransientRegistration, _emptyParameters, all, autoinject, factory, getDecoratorDependencies, inject, invokeAsFactory, invoker, lazy, newInstance, optional, parent, registration, resolve, resolver, singleton, transient };\n//# sourceMappingURL=aurelia-dependency-injection.js.map\n","import { a as Renderer, b as createDialogCancelError, c as invokeLifecycle, d as DialogController } from './chunk.js';\nexport { d as DialogController, a as Renderer, b as createDialogCancelError, e as createDialogCloseError } from './chunk.js';\nimport { DOM } from 'aurelia-pal';\nimport { Container } from 'aurelia-dependency-injection';\nimport { ViewSlot, CompositionEngine } from 'aurelia-templating';\n\nvar DefaultDialogSettings = (function () {\r\n function DefaultDialogSettings() {\r\n this.lock = true;\r\n this.startingZIndex = 1000;\r\n this.centerHorizontalOnly = false;\r\n this.rejectOnCancel = false;\r\n this.ignoreTransitions = false;\r\n this.restoreFocus = function (lastActiveElement) { return lastActiveElement.focus(); };\r\n }\r\n return DefaultDialogSettings;\r\n}());\n\nvar RENDERRERS = {\r\n ux: function () { return import('./ux-dialog-renderer.js').then(function (m) { return m.DialogRenderer; }); },\r\n native: function () { return import('./native-dialog-renderer.js').then(function (m) { return m.NativeDialogRenderer; }); }\r\n};\r\nvar DEFAULT_RESOURCES = {\r\n 'ux-dialog': function () { return import('./ux-dialog.js').then(function (m) { return m.UxDialog; }); },\r\n 'ux-dialog-header': function () { return import('./ux-dialog-header.js').then(function (m) { return m.UxDialogHeader; }); },\r\n 'ux-dialog-body': function () { return import('./ux-dialog-body.js').then(function (m) { return m.UxDialogBody; }); },\r\n 'ux-dialog-footer': function () { return import('./ux-dialog-footer.js').then(function (m) { return m.UxDialogFooter; }); },\r\n 'attach-focus': function () { return import('./attach-focus.js').then(function (m) { return m.AttachFocus; }); }\r\n};\r\nvar DEFAULT_CSS_TEXT = function () { return import('./default-styles.js').then(function (cssM) { return cssM['default']; }); };\r\nvar DialogConfiguration = (function () {\r\n function DialogConfiguration(frameworkConfiguration, applySetter) {\r\n var _this = this;\r\n this.renderer = 'ux';\r\n this.cssText = DEFAULT_CSS_TEXT;\r\n this.resources = [];\r\n this.fwConfig = frameworkConfiguration;\r\n this.settings = frameworkConfiguration.container.get(DefaultDialogSettings);\r\n applySetter(function () { return _this._apply(); });\r\n }\r\n DialogConfiguration.prototype._apply = function () {\r\n var _this = this;\r\n var renderer = this.renderer;\r\n var cssText = this.cssText;\r\n return Promise\r\n .all([\r\n typeof renderer === 'string' ? RENDERRERS[renderer]() : renderer,\r\n cssText\r\n ? typeof cssText === 'string'\r\n ? cssText\r\n : cssText()\r\n : ''\r\n ])\r\n .then(function (_a) {\r\n var rendererImpl = _a[0], $cssText = _a[1];\r\n var fwConfig = _this.fwConfig;\r\n fwConfig.transient(Renderer, rendererImpl);\r\n if ($cssText) {\r\n DOM.injectStyles($cssText);\r\n }\r\n return Promise\r\n .all(_this.resources.map(function (name) { return DEFAULT_RESOURCES[name](); }))\r\n .then(function (modules) {\r\n fwConfig.globalResources(modules);\r\n });\r\n });\r\n };\r\n DialogConfiguration.prototype.useDefaults = function () {\r\n return this\r\n .useRenderer('ux')\r\n .useCSS(DEFAULT_CSS_TEXT)\r\n .useStandardResources();\r\n };\r\n DialogConfiguration.prototype.useStandardResources = function () {\r\n Object.keys(DEFAULT_RESOURCES).forEach(this.useResource, this);\r\n return this;\r\n };\r\n DialogConfiguration.prototype.useResource = function (resourceName) {\r\n this.resources.push(resourceName);\r\n return this;\r\n };\r\n DialogConfiguration.prototype.useRenderer = function (renderer, settings) {\r\n this.renderer = renderer;\r\n if (settings) {\r\n Object.assign(this.settings, settings);\r\n }\r\n return this;\r\n };\r\n DialogConfiguration.prototype.useCSS = function (cssText) {\r\n this.cssText = cssText;\r\n return this;\r\n };\r\n return DialogConfiguration;\r\n}());\n\nfunction whenClosed(onfulfilled, onrejected) {\r\n return this.then(function (r) { return r.wasCancelled ? r : r.closeResult; }).then(onfulfilled, onrejected);\r\n}\r\nfunction asDialogOpenPromise(promise) {\r\n promise.whenClosed = whenClosed;\r\n return promise;\r\n}\r\nvar DialogService = (function () {\r\n function DialogService(container, compositionEngine, defaultSettings) {\r\n this.controllers = [];\r\n this.hasOpenDialog = false;\r\n this.hasActiveDialog = false;\r\n this.container = container;\r\n this.compositionEngine = compositionEngine;\r\n this.defaultSettings = defaultSettings;\r\n }\r\n DialogService.prototype.validateSettings = function (settings) {\r\n if (!settings.viewModel && !settings.view) {\r\n throw new Error('Invalid Dialog Settings. You must provide \"viewModel\", \"view\" or both.');\r\n }\r\n };\r\n DialogService.prototype.createCompositionContext = function (childContainer, host, settings) {\r\n return {\r\n container: childContainer.parent,\r\n childContainer: childContainer,\r\n bindingContext: null,\r\n viewResources: null,\r\n model: settings.model,\r\n view: settings.view,\r\n viewModel: settings.viewModel,\r\n viewSlot: new ViewSlot(host, true),\r\n host: host\r\n };\r\n };\r\n DialogService.prototype.ensureViewModel = function (compositionContext) {\r\n if (typeof compositionContext.viewModel === 'object') {\r\n return Promise.resolve(compositionContext);\r\n }\r\n return this.compositionEngine.ensureViewModel(compositionContext);\r\n };\r\n DialogService.prototype._cancelOperation = function (rejectOnCancel) {\r\n if (!rejectOnCancel) {\r\n return { wasCancelled: true };\r\n }\r\n throw createDialogCancelError();\r\n };\r\n DialogService.prototype.composeAndShowDialog = function (compositionContext, dialogController) {\r\n var _this = this;\r\n if (!compositionContext.viewModel) {\r\n compositionContext.bindingContext = { controller: dialogController };\r\n }\r\n return this.compositionEngine\r\n .compose(compositionContext)\r\n .then(function (controller) {\r\n dialogController.controller = controller;\r\n return dialogController.renderer\r\n .showDialog(dialogController)\r\n .then(function () {\r\n _this.controllers.push(dialogController);\r\n _this.hasActiveDialog = _this.hasOpenDialog = !!_this.controllers.length;\r\n }, function (reason) {\r\n if (controller.viewModel) {\r\n invokeLifecycle(controller.viewModel, 'deactivate');\r\n }\r\n return Promise.reject(reason);\r\n });\r\n });\r\n };\r\n DialogService.prototype.createSettings = function (settings) {\r\n settings = Object.assign({}, this.defaultSettings, settings);\r\n if (typeof settings.keyboard !== 'boolean' && !settings.keyboard) {\r\n settings.keyboard = !settings.lock;\r\n }\r\n if (typeof settings.overlayDismiss !== 'boolean') {\r\n settings.overlayDismiss = !settings.lock;\r\n }\r\n Object.defineProperty(settings, 'rejectOnCancel', {\r\n writable: false,\r\n configurable: true,\r\n enumerable: true\r\n });\r\n this.validateSettings(settings);\r\n return settings;\r\n };\r\n DialogService.prototype.open = function (settings) {\r\n var _this = this;\r\n if (settings === void 0) { settings = {}; }\r\n settings = this.createSettings(settings);\r\n var childContainer = settings.childContainer || this.container.createChild();\r\n var resolveCloseResult;\r\n var rejectCloseResult;\r\n var closeResult = new Promise(function (resolve, reject) {\r\n resolveCloseResult = resolve;\r\n rejectCloseResult = reject;\r\n });\r\n var dialogController = childContainer.invoke(DialogController, [settings, resolveCloseResult, rejectCloseResult]);\r\n childContainer.registerInstance(DialogController, dialogController);\r\n closeResult.then(function () {\r\n removeController(_this, dialogController);\r\n }, function () {\r\n removeController(_this, dialogController);\r\n });\r\n var compositionContext = this.createCompositionContext(childContainer, dialogController.renderer.getDialogContainer(), dialogController.settings);\r\n var openResult = this.ensureViewModel(compositionContext).then(function (compositionContext) {\r\n if (!compositionContext.viewModel) {\r\n return true;\r\n }\r\n return invokeLifecycle(compositionContext.viewModel, 'canActivate', dialogController.settings.model);\r\n }).then(function (canActivate) {\r\n if (!canActivate) {\r\n return _this._cancelOperation(dialogController.settings.rejectOnCancel);\r\n }\r\n return _this.composeAndShowDialog(compositionContext, dialogController)\r\n .then(function () { return ({ controller: dialogController, closeResult: closeResult, wasCancelled: false }); });\r\n });\r\n return asDialogOpenPromise(openResult);\r\n };\r\n DialogService.prototype.closeAll = function () {\r\n return Promise.all(this.controllers.slice(0).map(function (controller) {\r\n if (!controller.settings.rejectOnCancel) {\r\n return controller.cancel().then(function (result) {\r\n if (result.wasCancelled) {\r\n return controller;\r\n }\r\n return null;\r\n });\r\n }\r\n return controller.cancel().then(function () { return null; }).catch(function (reason) {\r\n if (reason.wasCancelled) {\r\n return controller;\r\n }\r\n throw reason;\r\n });\r\n })).then(function (unclosedControllers) { return unclosedControllers.filter(function (unclosed) { return !!unclosed; }); });\r\n };\r\n DialogService.inject = [Container, CompositionEngine, DefaultDialogSettings];\r\n return DialogService;\r\n}());\r\nfunction removeController(service, dialogController) {\r\n var i = service.controllers.indexOf(dialogController);\r\n if (i !== -1) {\r\n service.controllers.splice(i, 1);\r\n service.hasActiveDialog = service.hasOpenDialog = !!service.controllers.length;\r\n }\r\n}\n\nfunction configure(frameworkConfig, callback) {\r\n var applyConfig = null;\r\n var config = new DialogConfiguration(frameworkConfig, function (apply) { applyConfig = apply; });\r\n if (typeof callback === 'function') {\r\n callback(config);\r\n }\r\n else {\r\n config.useDefaults();\r\n }\r\n return applyConfig();\r\n}\n\nexport { DefaultDialogSettings, DialogConfiguration, DialogService, configure };\n//# sourceMappingURL=aurelia-dialog.js.map\n","var Renderer = (function () {\r\n function Renderer() {\r\n }\r\n Renderer.prototype.getDialogContainer = function () {\r\n throw new Error('DialogRenderer must implement getDialogContainer().');\r\n };\r\n Renderer.prototype.showDialog = function (dialogController) {\r\n throw new Error('DialogRenderer must implement showDialog().');\r\n };\r\n Renderer.prototype.hideDialog = function (dialogController) {\r\n throw new Error('DialogRenderer must implement hideDialog().');\r\n };\r\n return Renderer;\r\n}());\n\nfunction createDialogCancelError(output) {\r\n var error = new Error('Operation cancelled.');\r\n error.wasCancelled = true;\r\n error.output = output;\r\n return error;\r\n}\n\nfunction createDialogCloseError(output) {\r\n var error = new Error();\r\n error.wasCancelled = false;\r\n error.output = output;\r\n return error;\r\n}\n\nfunction invokeLifecycle(instance, name, model) {\r\n if (typeof instance[name] === 'function') {\r\n return new Promise(function (resolve) {\r\n resolve(instance[name](model));\r\n }).then(function (result) {\r\n if (result !== null && result !== undefined) {\r\n return result;\r\n }\r\n return true;\r\n });\r\n }\r\n return Promise.resolve(true);\r\n}\n\nvar DialogController = (function () {\r\n function DialogController(renderer, settings, resolve, reject) {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n this.settings = settings;\r\n this.renderer = renderer;\r\n }\r\n DialogController.prototype.releaseResources = function (result) {\r\n var _this = this;\r\n return invokeLifecycle(this.controller.viewModel || {}, 'deactivate', result)\r\n .then(function () { return _this.renderer.hideDialog(_this); })\r\n .then(function () {\r\n _this.controller.unbind();\r\n });\r\n };\r\n DialogController.prototype.cancelOperation = function () {\r\n if (!this.settings.rejectOnCancel) {\r\n return { wasCancelled: true };\r\n }\r\n throw createDialogCancelError();\r\n };\r\n DialogController.prototype.ok = function (output) {\r\n return this.close(true, output);\r\n };\r\n DialogController.prototype.cancel = function (output) {\r\n return this.close(false, output);\r\n };\r\n DialogController.prototype.error = function (output) {\r\n var _this = this;\r\n var closeError = createDialogCloseError(output);\r\n return this.releaseResources(closeError).then(function () { _this.reject(closeError); });\r\n };\r\n DialogController.prototype.close = function (ok, output) {\r\n var _this = this;\r\n if (this.closePromise) {\r\n return this.closePromise;\r\n }\r\n var dialogResult = { wasCancelled: !ok, output: output };\r\n return this.closePromise = invokeLifecycle(this.controller.viewModel || {}, 'canDeactivate', dialogResult)\r\n .catch(function (reason) {\r\n _this.closePromise = undefined;\r\n return Promise.reject(reason);\r\n }).then(function (canDeactivate) {\r\n if (!canDeactivate) {\r\n _this.closePromise = undefined;\r\n return _this.cancelOperation();\r\n }\r\n return _this.releaseResources(dialogResult).then(function () {\r\n if (!_this.settings.rejectOnCancel || ok) {\r\n _this.resolve(dialogResult);\r\n }\r\n else {\r\n _this.reject(createDialogCancelError(output));\r\n }\r\n return { wasCancelled: false };\r\n }).catch(function (reason) {\r\n _this.closePromise = undefined;\r\n return Promise.reject(reason);\r\n });\r\n });\r\n };\r\n DialogController.inject = [Renderer];\r\n return DialogController;\r\n}());\n\nexport { Renderer as a, createDialogCancelError as b, invokeLifecycle as c, DialogController as d, createDialogCloseError as e };\n//# sourceMappingURL=chunk.js.map\n","\n\nimport * as LogManager from 'aurelia-logging';\n\nvar logger = LogManager.getLogger('event-aggregator');\n\nvar Handler = function () {\n function Handler(messageType, callback) {\n \n\n this.messageType = messageType;\n this.callback = callback;\n }\n\n Handler.prototype.handle = function handle(message) {\n if (message instanceof this.messageType) {\n this.callback.call(null, message);\n }\n };\n\n return Handler;\n}();\n\nfunction invokeCallback(callback, data, event) {\n try {\n callback(data, event);\n } catch (e) {\n logger.error(e);\n }\n}\n\nfunction invokeHandler(handler, data) {\n try {\n handler.handle(data);\n } catch (e) {\n logger.error(e);\n }\n}\n\nexport var EventAggregator = function () {\n function EventAggregator() {\n \n\n this.eventLookup = {};\n this.messageHandlers = [];\n }\n\n EventAggregator.prototype.publish = function publish(event, data) {\n var subscribers = void 0;\n var i = void 0;\n\n if (!event) {\n throw new Error('Event was invalid.');\n }\n\n if (typeof event === 'string') {\n subscribers = this.eventLookup[event];\n if (subscribers) {\n subscribers = subscribers.slice();\n i = subscribers.length;\n\n while (i--) {\n invokeCallback(subscribers[i], data, event);\n }\n }\n } else {\n subscribers = this.messageHandlers.slice();\n i = subscribers.length;\n\n while (i--) {\n invokeHandler(subscribers[i], event);\n }\n }\n };\n\n EventAggregator.prototype.subscribe = function subscribe(event, callback) {\n var handler = void 0;\n var subscribers = void 0;\n\n if (!event) {\n throw new Error('Event channel/type was invalid.');\n }\n\n if (typeof event === 'string') {\n handler = callback;\n subscribers = this.eventLookup[event] || (this.eventLookup[event] = []);\n } else {\n handler = new Handler(event, callback);\n subscribers = this.messageHandlers;\n }\n\n subscribers.push(handler);\n\n return {\n dispose: function dispose() {\n var idx = subscribers.indexOf(handler);\n if (idx !== -1) {\n subscribers.splice(idx, 1);\n }\n }\n };\n };\n\n EventAggregator.prototype.subscribeOnce = function subscribeOnce(event, callback) {\n var sub = this.subscribe(event, function (a, b) {\n sub.dispose();\n return callback(a, b);\n });\n\n return sub;\n };\n\n return EventAggregator;\n}();\n\nexport function includeEventsIn(obj) {\n var ea = new EventAggregator();\n\n obj.subscribeOnce = function (event, callback) {\n return ea.subscribeOnce(event, callback);\n };\n\n obj.subscribe = function (event, callback) {\n return ea.subscribe(event, callback);\n };\n\n obj.publish = function (event, data) {\n ea.publish(event, data);\n };\n\n return ea;\n}\n\nexport function configure(config) {\n config.instance(EventAggregator, includeEventsIn(config.aurelia));\n}","import { Container } from 'aurelia-dependency-injection';\nexport * from 'aurelia-dependency-injection';\nexport * from 'aurelia-binding';\nexport * from 'aurelia-metadata';\nimport { HtmlBehaviorResource, ViewEngine, BindingLanguage, TemplatingEngine, CompositionTransaction, ViewSlot, ViewResources } from 'aurelia-templating';\nexport * from 'aurelia-templating';\nimport { Loader } from 'aurelia-loader';\nexport * from 'aurelia-loader';\nexport * from 'aurelia-task-queue';\nimport { join, relativeToFile } from 'aurelia-path';\nexport * from 'aurelia-path';\nimport { DOM, PLATFORM } from 'aurelia-pal';\nexport * from 'aurelia-pal';\nimport * as TheLogManager from 'aurelia-logging';\nexport { TheLogManager as LogManager };\n\nvar logger = TheLogManager.getLogger('aurelia');\r\nvar extPattern = /\\.[^/.]+$/;\r\nfunction runTasks(config, tasks) {\r\n var current;\r\n var next = function () {\r\n current = tasks.shift();\r\n if (current) {\r\n return Promise.resolve(current(config)).then(next);\r\n }\r\n return Promise.resolve();\r\n };\r\n return next();\r\n}\r\nfunction loadPlugin(fwConfig, loader, info) {\r\n logger.debug(\"Loading plugin \".concat(info.moduleId, \".\"));\r\n if (typeof info.moduleId === 'string') {\r\n fwConfig.resourcesRelativeTo = info.resourcesRelativeTo;\r\n var id = info.moduleId;\r\n if (info.resourcesRelativeTo.length > 1) {\r\n return loader.normalize(info.moduleId, info.resourcesRelativeTo[1])\r\n .then(function (normalizedId) { return _loadPlugin(normalizedId); });\r\n }\r\n return _loadPlugin(id);\r\n }\r\n else if (typeof info.configure === 'function') {\r\n if (fwConfig.configuredPlugins.indexOf(info.configure) !== -1) {\r\n return Promise.resolve();\r\n }\r\n fwConfig.configuredPlugins.push(info.configure);\r\n return Promise.resolve(info.configure.call(null, fwConfig, info.config || {}));\r\n }\r\n throw new Error(invalidConfigMsg(info.moduleId || info.configure, 'plugin'));\r\n function _loadPlugin(moduleId) {\r\n return loader.loadModule(moduleId).then(function (m) {\r\n if ('configure' in m) {\r\n if (fwConfig.configuredPlugins.indexOf(m.configure) !== -1) {\r\n return Promise.resolve();\r\n }\r\n return Promise.resolve(m.configure(fwConfig, info.config || {})).then(function () {\r\n fwConfig.configuredPlugins.push(m.configure);\r\n fwConfig.resourcesRelativeTo = null;\r\n logger.debug(\"Configured plugin \".concat(info.moduleId, \".\"));\r\n });\r\n }\r\n fwConfig.resourcesRelativeTo = null;\r\n logger.debug(\"Loaded plugin \".concat(info.moduleId, \".\"));\r\n });\r\n }\r\n}\r\nfunction loadResources(aurelia, resourcesToLoad, appResources) {\r\n if (Object.keys(resourcesToLoad).length === 0) {\r\n return Promise.resolve();\r\n }\r\n var viewEngine = aurelia.container.get(ViewEngine);\r\n return Promise.all(Object.keys(resourcesToLoad).map(function (n) { return _normalize(resourcesToLoad[n]); }))\r\n .then(function (loads) {\r\n var names = [];\r\n var importIds = [];\r\n loads.forEach(function (l) {\r\n names.push(undefined);\r\n importIds.push(l.importId);\r\n });\r\n return viewEngine.importViewResources(importIds, names, appResources);\r\n });\r\n function _normalize(load) {\r\n var moduleId = load.moduleId;\r\n var ext = getExt(moduleId);\r\n if (isOtherResource(moduleId)) {\r\n moduleId = removeExt(moduleId);\r\n }\r\n return aurelia.loader.normalize(moduleId, load.relativeTo)\r\n .then(function (normalized) {\r\n return {\r\n name: load.moduleId,\r\n importId: isOtherResource(load.moduleId) ? addOriginalExt(normalized, ext) : normalized\r\n };\r\n });\r\n }\r\n function isOtherResource(name) {\r\n var ext = getExt(name);\r\n if (!ext)\r\n return false;\r\n if (ext === '')\r\n return false;\r\n if (ext === '.js' || ext === '.ts')\r\n return false;\r\n return true;\r\n }\r\n function removeExt(name) {\r\n return name.replace(extPattern, '');\r\n }\r\n function addOriginalExt(normalized, ext) {\r\n return removeExt(normalized) + '.' + ext;\r\n }\r\n}\r\nfunction getExt(name) {\r\n var match = name.match(extPattern);\r\n if (match && match.length > 0) {\r\n return (match[0].split('.'))[1];\r\n }\r\n}\r\nfunction loadBehaviors(config) {\r\n return Promise.all(config.behaviorsToLoad.map(function (m) { return m.load(config.container, m.target); })).then(function () {\r\n config.behaviorsToLoad = null;\r\n });\r\n}\r\nfunction assertProcessed(plugins) {\r\n if (plugins.processed) {\r\n throw new Error('This config instance has already been applied. To load more plugins or global resources, create a new FrameworkConfiguration instance.');\r\n }\r\n}\r\nfunction invalidConfigMsg(cfg, type) {\r\n return \"Invalid \".concat(type, \" [\").concat(cfg, \"], \").concat(type, \" must be specified as functions or relative module IDs.\");\r\n}\r\nvar FrameworkConfiguration = (function () {\r\n function FrameworkConfiguration(aurelia) {\r\n var _this = this;\r\n this.aurelia = aurelia;\r\n this.container = aurelia.container;\r\n this.info = [];\r\n this.processed = false;\r\n this.preTasks = [];\r\n this.postTasks = [];\r\n this.behaviorsToLoad = [];\r\n this.configuredPlugins = [];\r\n this.resourcesToLoad = {};\r\n this.preTask(function () { return aurelia.loader.normalize('aurelia-bootstrapper', undefined)\r\n .then(function (name) { return _this.bootstrapperName = name; }); });\r\n this.postTask(function () { return loadResources(aurelia, _this.resourcesToLoad, aurelia.resources); });\r\n }\r\n FrameworkConfiguration.prototype.instance = function (type, instance) {\r\n this.container.registerInstance(type, instance);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.singleton = function (type, implementation) {\r\n this.container.registerSingleton(type, implementation);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.transient = function (type, implementation) {\r\n this.container.registerTransient(type, implementation);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.preTask = function (task) {\r\n assertProcessed(this);\r\n this.preTasks.push(task);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.postTask = function (task) {\r\n assertProcessed(this);\r\n this.postTasks.push(task);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.feature = function (plugin, config) {\r\n if (config === void 0) { config = {}; }\r\n switch (typeof plugin) {\r\n case 'string':\r\n var hasIndex = /\\/index$/i.test(plugin);\r\n var moduleId = hasIndex || getExt(plugin) ? plugin : plugin + '/index';\r\n var root = hasIndex ? plugin.slice(0, -6) : plugin;\r\n this.info.push({ moduleId: moduleId, resourcesRelativeTo: [root, ''], config: config });\r\n break;\r\n case 'function':\r\n this.info.push({ configure: plugin, config: config || {} });\r\n break;\r\n default:\r\n throw new Error(invalidConfigMsg(plugin, 'feature'));\r\n }\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.globalResources = function (resources) {\r\n var _this = this;\r\n assertProcessed(this);\r\n var toAdd = Array.isArray(resources) ? resources : arguments;\r\n var resource;\r\n var resourcesRelativeTo = this.resourcesRelativeTo || ['', ''];\r\n for (var i = 0, ii = toAdd.length; i < ii; ++i) {\r\n resource = toAdd[i];\r\n switch (typeof resource) {\r\n case 'string':\r\n var parent_1 = resourcesRelativeTo[0];\r\n var grandParent = resourcesRelativeTo[1];\r\n var name_1 = resource;\r\n if ((resource.startsWith('./') || resource.startsWith('../')) && parent_1 !== '') {\r\n name_1 = join(parent_1, resource);\r\n }\r\n this.resourcesToLoad[name_1] = { moduleId: name_1, relativeTo: grandParent };\r\n break;\r\n case 'function':\r\n var meta = this.aurelia.resources.autoRegister(this.container, resource);\r\n if (meta instanceof HtmlBehaviorResource && meta.elementName !== null) {\r\n if (this.behaviorsToLoad.push(meta) === 1) {\r\n this.postTask(function () { return loadBehaviors(_this); });\r\n }\r\n }\r\n break;\r\n default:\r\n throw new Error(invalidConfigMsg(resource, 'resource'));\r\n }\r\n }\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.globalName = function (resourcePath, newName) {\r\n assertProcessed(this);\r\n this.resourcesToLoad[resourcePath] = { moduleId: newName, relativeTo: '' };\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.plugin = function (plugin, pluginConfig) {\r\n assertProcessed(this);\r\n var info;\r\n switch (typeof plugin) {\r\n case 'string':\r\n info = { moduleId: plugin, resourcesRelativeTo: [plugin, ''], config: pluginConfig || {} };\r\n break;\r\n case 'function':\r\n info = { configure: plugin, config: pluginConfig || {} };\r\n break;\r\n default:\r\n throw new Error(invalidConfigMsg(plugin, 'plugin'));\r\n }\r\n this.info.push(info);\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype._addNormalizedPlugin = function (name, config) {\r\n var _this = this;\r\n var plugin = { moduleId: name, resourcesRelativeTo: [name, ''], config: config || {} };\r\n this.info.push(plugin);\r\n this.preTask(function () {\r\n var relativeTo = [name, _this.bootstrapperName];\r\n plugin.moduleId = name;\r\n plugin.resourcesRelativeTo = relativeTo;\r\n return Promise.resolve();\r\n });\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.defaultBindingLanguage = function () {\r\n return this._addNormalizedPlugin('aurelia-templating-binding');\r\n };\r\n FrameworkConfiguration.prototype.router = function () {\r\n return this._addNormalizedPlugin('aurelia-templating-router');\r\n };\r\n FrameworkConfiguration.prototype.history = function () {\r\n return this._addNormalizedPlugin('aurelia-history-browser');\r\n };\r\n FrameworkConfiguration.prototype.defaultResources = function () {\r\n return this._addNormalizedPlugin('aurelia-templating-resources');\r\n };\r\n FrameworkConfiguration.prototype.eventAggregator = function () {\r\n return this._addNormalizedPlugin('aurelia-event-aggregator');\r\n };\r\n FrameworkConfiguration.prototype.basicConfiguration = function () {\r\n return this.defaultBindingLanguage().defaultResources().eventAggregator();\r\n };\r\n FrameworkConfiguration.prototype.standardConfiguration = function () {\r\n return this.basicConfiguration().history().router();\r\n };\r\n FrameworkConfiguration.prototype.developmentLogging = function (level) {\r\n var _this = this;\r\n var logLevel = level ? TheLogManager.logLevel[level] : undefined;\r\n if (logLevel === undefined) {\r\n logLevel = TheLogManager.logLevel.debug;\r\n }\r\n this.preTask(function () {\r\n return _this.aurelia.loader.normalize('aurelia-logging-console', _this.bootstrapperName).then(function (name) {\r\n return _this.aurelia.loader.loadModule(name).then(function (m) {\r\n TheLogManager.addAppender(new m.ConsoleAppender());\r\n TheLogManager.setLevel(logLevel);\r\n });\r\n });\r\n });\r\n return this;\r\n };\r\n FrameworkConfiguration.prototype.apply = function () {\r\n var _this = this;\r\n if (this.processed) {\r\n return Promise.resolve();\r\n }\r\n return runTasks(this, this.preTasks).then(function () {\r\n var loader = _this.aurelia.loader;\r\n var info = _this.info;\r\n var current;\r\n var next = function () {\r\n current = info.shift();\r\n if (current) {\r\n return loadPlugin(_this, loader, current).then(next);\r\n }\r\n _this.processed = true;\r\n _this.configuredPlugins = null;\r\n return Promise.resolve();\r\n };\r\n return next().then(function () { return runTasks(_this, _this.postTasks); });\r\n });\r\n };\r\n return FrameworkConfiguration;\r\n}());\n\nfunction preventActionlessFormSubmit() {\r\n DOM.addEventListener('submit', function (evt) {\r\n var target = evt.target;\r\n var action = target.action;\r\n if (target.tagName.toLowerCase() === 'form' && !action) {\r\n evt.preventDefault();\r\n }\r\n }, false);\r\n}\r\nvar Aurelia = (function () {\r\n function Aurelia(loader, container, resources) {\r\n this.loader = loader || new PLATFORM.Loader();\r\n this.container = container || (new Container()).makeGlobal();\r\n this.resources = resources || new ViewResources();\r\n this.use = new FrameworkConfiguration(this);\r\n this.logger = TheLogManager.getLogger('aurelia');\r\n this.hostConfigured = false;\r\n this.host = null;\r\n this.use.instance(Aurelia, this);\r\n this.use.instance(Loader, this.loader);\r\n this.use.instance(ViewResources, this.resources);\r\n }\r\n Aurelia.prototype.start = function () {\r\n var _this = this;\r\n if (this._started) {\r\n return this._started;\r\n }\r\n this.logger.info('Aurelia Starting');\r\n return this._started = this.use.apply().then(function () {\r\n preventActionlessFormSubmit();\r\n if (!_this.container.hasResolver(BindingLanguage)) {\r\n var message = 'You must configure Aurelia with a BindingLanguage implementation.';\r\n _this.logger.error(message);\r\n throw new Error(message);\r\n }\r\n _this.logger.info('Aurelia Started');\r\n var evt = DOM.createCustomEvent('aurelia-started', { bubbles: true, cancelable: true });\r\n DOM.dispatchEvent(evt);\r\n return _this;\r\n });\r\n };\r\n Aurelia.prototype.enhance = function (bindingContext, applicationHost) {\r\n var _this = this;\r\n if (bindingContext === void 0) { bindingContext = {}; }\r\n if (applicationHost === void 0) { applicationHost = null; }\r\n this._configureHost(applicationHost || DOM.querySelectorAll('body')[0]);\r\n return new Promise(function (resolve) {\r\n var engine = _this.container.get(TemplatingEngine);\r\n _this.root = engine.enhance({ container: _this.container, element: _this.host, resources: _this.resources, bindingContext: bindingContext });\r\n _this.root.attached();\r\n _this._onAureliaComposed();\r\n resolve(_this);\r\n });\r\n };\r\n Aurelia.prototype.setRoot = function (root, applicationHost) {\r\n var _this = this;\r\n if (root === void 0) { root = null; }\r\n if (applicationHost === void 0) { applicationHost = null; }\r\n var instruction = {};\r\n if (this.root && this.root.viewModel && this.root.viewModel.router) {\r\n this.root.viewModel.router.deactivate();\r\n this.root.viewModel.router.reset();\r\n }\r\n this._configureHost(applicationHost);\r\n var engine = this.container.get(TemplatingEngine);\r\n var transaction = this.container.get(CompositionTransaction);\r\n delete transaction.initialComposition;\r\n if (!root) {\r\n if (this.configModuleId) {\r\n root = relativeToFile('./app', this.configModuleId);\r\n }\r\n else {\r\n root = 'app';\r\n }\r\n }\r\n instruction.viewModel = root;\r\n instruction.container = instruction.childContainer = this.container;\r\n instruction.viewSlot = this.hostSlot;\r\n instruction.host = this.host;\r\n return engine.compose(instruction).then(function (r) {\r\n _this.root = r;\r\n instruction.viewSlot.attached();\r\n _this._onAureliaComposed();\r\n return _this;\r\n });\r\n };\r\n Aurelia.prototype._configureHost = function (applicationHost) {\r\n if (this.hostConfigured) {\r\n return;\r\n }\r\n applicationHost = applicationHost || this.host;\r\n if (!applicationHost || typeof applicationHost === 'string') {\r\n this.host = DOM.getElementById(applicationHost || 'applicationHost');\r\n }\r\n else {\r\n this.host = applicationHost;\r\n }\r\n if (!this.host) {\r\n throw new Error('No applicationHost was specified.');\r\n }\r\n this.hostConfigured = true;\r\n this.host.aurelia = this;\r\n this.hostSlot = new ViewSlot(this.host, true);\r\n this.hostSlot.transformChildNodesIntoView();\r\n this.container.registerInstance(DOM.boundary, this.host);\r\n };\r\n Aurelia.prototype._onAureliaComposed = function () {\r\n var evt = DOM.createCustomEvent('aurelia-composed', { bubbles: true, cancelable: true });\r\n setTimeout(function () { return DOM.dispatchEvent(evt); }, 1);\r\n };\r\n return Aurelia;\r\n}());\n\nexport { Aurelia, FrameworkConfiguration };\n//# sourceMappingURL=aurelia-framework.js.map\n","import { History } from 'aurelia-history';\nimport { DOM, PLATFORM } from 'aurelia-pal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\n\nvar LinkHandler = (function () {\r\n function LinkHandler() {\r\n }\r\n LinkHandler.prototype.activate = function (history) { };\r\n LinkHandler.prototype.deactivate = function () { };\r\n return LinkHandler;\r\n}());\r\nvar DefaultLinkHandler = (function (_super) {\r\n __extends(DefaultLinkHandler, _super);\r\n function DefaultLinkHandler() {\r\n var _this = _super.call(this) || this;\r\n _this.handler = function (e) {\r\n var _a = DefaultLinkHandler.getEventInfo(e), shouldHandleEvent = _a.shouldHandleEvent, href = _a.href;\r\n if (shouldHandleEvent) {\r\n e.preventDefault();\r\n _this.history.navigate(href);\r\n }\r\n };\r\n return _this;\r\n }\r\n DefaultLinkHandler.prototype.activate = function (history) {\r\n if (history._hasPushState) {\r\n this.history = history;\r\n DOM.addEventListener('click', this.handler, true);\r\n }\r\n };\r\n DefaultLinkHandler.prototype.deactivate = function () {\r\n DOM.removeEventListener('click', this.handler, true);\r\n };\r\n DefaultLinkHandler.getEventInfo = function (event) {\r\n var $event = event;\r\n var info = {\r\n shouldHandleEvent: false,\r\n href: null,\r\n anchor: null\r\n };\r\n var target = DefaultLinkHandler.findClosestAnchor($event.target);\r\n if (!target || !DefaultLinkHandler.targetIsThisWindow(target)) {\r\n return info;\r\n }\r\n if (hasAttribute(target, 'download')\r\n || hasAttribute(target, 'router-ignore')\r\n || hasAttribute(target, 'data-router-ignore')) {\r\n return info;\r\n }\r\n if ($event.altKey || $event.ctrlKey || $event.metaKey || $event.shiftKey) {\r\n return info;\r\n }\r\n var href = target.getAttribute('href');\r\n info.anchor = target;\r\n info.href = href;\r\n var leftButtonClicked = $event.which === 1;\r\n var isRelative = href && !(href.charAt(0) === '#' || (/^[a-z]+:/i).test(href));\r\n info.shouldHandleEvent = leftButtonClicked && isRelative;\r\n return info;\r\n };\r\n DefaultLinkHandler.findClosestAnchor = function (el) {\r\n while (el) {\r\n if (el.tagName === 'A') {\r\n return el;\r\n }\r\n el = el.parentNode;\r\n }\r\n };\r\n DefaultLinkHandler.targetIsThisWindow = function (target) {\r\n var targetWindow = target.getAttribute('target');\r\n var win = PLATFORM.global;\r\n return !targetWindow ||\r\n targetWindow === win.name ||\r\n targetWindow === '_self';\r\n };\r\n return DefaultLinkHandler;\r\n}(LinkHandler));\r\nvar hasAttribute = function (el, attr) { return el.hasAttribute(attr); };\n\nvar BrowserHistory = (function (_super) {\r\n __extends(BrowserHistory, _super);\r\n function BrowserHistory(linkHandler) {\r\n var _this = _super.call(this) || this;\r\n _this._isActive = false;\r\n _this._checkUrlCallback = _this._checkUrl.bind(_this);\r\n _this.location = PLATFORM.location;\r\n _this.history = PLATFORM.history;\r\n _this.linkHandler = linkHandler;\r\n return _this;\r\n }\r\n BrowserHistory.prototype.activate = function (options) {\r\n if (this._isActive) {\r\n throw new Error('History has already been activated.');\r\n }\r\n var $history = this.history;\r\n var wantsPushState = !!options.pushState;\r\n this._isActive = true;\r\n var normalizedOptions = this.options = Object.assign({}, { root: '/' }, this.options, options);\r\n var rootUrl = this.root = ('/' + normalizedOptions.root + '/').replace(rootStripper, '/');\r\n var wantsHashChange = this._wantsHashChange = normalizedOptions.hashChange !== false;\r\n var hasPushState = this._hasPushState = !!(normalizedOptions.pushState && $history && $history.pushState);\r\n var eventName;\r\n if (hasPushState) {\r\n eventName = 'popstate';\r\n }\r\n else if (wantsHashChange) {\r\n eventName = 'hashchange';\r\n }\r\n PLATFORM.addEventListener(eventName, this._checkUrlCallback);\r\n if (wantsHashChange && wantsPushState) {\r\n var $location = this.location;\r\n var atRoot = $location.pathname.replace(/[^\\/]$/, '$&/') === rootUrl;\r\n if (!hasPushState && !atRoot) {\r\n var fragment = this.fragment = this._getFragment(null, true);\r\n $location.replace(rootUrl + $location.search + '#' + fragment);\r\n return true;\r\n }\r\n else if (hasPushState && atRoot && $location.hash) {\r\n var fragment = this.fragment = this._getHash().replace(routeStripper, '');\r\n $history.replaceState({}, DOM.title, rootUrl + fragment + $location.search);\r\n }\r\n }\r\n if (!this.fragment) {\r\n this.fragment = this._getFragment('');\r\n }\r\n this.linkHandler.activate(this);\r\n if (!normalizedOptions.silent) {\r\n return this._loadUrl('');\r\n }\r\n };\r\n BrowserHistory.prototype.deactivate = function () {\r\n var handler = this._checkUrlCallback;\r\n PLATFORM.removeEventListener('popstate', handler);\r\n PLATFORM.removeEventListener('hashchange', handler);\r\n this._isActive = false;\r\n this.linkHandler.deactivate();\r\n };\r\n BrowserHistory.prototype.getAbsoluteRoot = function () {\r\n var $location = this.location;\r\n var origin = createOrigin($location.protocol, $location.hostname, $location.port);\r\n return \"\" + origin + this.root;\r\n };\r\n BrowserHistory.prototype.navigate = function (fragment, _a) {\r\n var _b = _a === void 0 ? {} : _a, _c = _b.trigger, trigger = _c === void 0 ? true : _c, _d = _b.replace, replace = _d === void 0 ? false : _d;\r\n var location = this.location;\r\n if (fragment && absoluteUrl.test(fragment)) {\r\n location.href = fragment;\r\n return true;\r\n }\r\n if (!this._isActive) {\r\n return false;\r\n }\r\n fragment = this._getFragment(fragment || '');\r\n if (this.fragment === fragment && !replace) {\r\n return false;\r\n }\r\n this.fragment = fragment;\r\n var url = this.root + fragment;\r\n if (fragment === '' && url !== '/') {\r\n url = url.slice(0, -1);\r\n }\r\n if (this._hasPushState) {\r\n url = url.replace('//', '/');\r\n this.history[replace ? 'replaceState' : 'pushState']({}, DOM.title, url);\r\n }\r\n else if (this._wantsHashChange) {\r\n updateHash(location, fragment, replace);\r\n }\r\n else {\r\n location.assign(url);\r\n }\r\n if (trigger) {\r\n return this._loadUrl(fragment);\r\n }\r\n return true;\r\n };\r\n BrowserHistory.prototype.navigateBack = function () {\r\n this.history.back();\r\n };\r\n BrowserHistory.prototype.setTitle = function (title) {\r\n DOM.title = title;\r\n };\r\n BrowserHistory.prototype.setState = function (key, value) {\r\n var $history = this.history;\r\n var state = Object.assign({}, $history.state);\r\n var _a = this.location, pathname = _a.pathname, search = _a.search, hash = _a.hash;\r\n state[key] = value;\r\n $history.replaceState(state, null, \"\" + pathname + search + hash);\r\n };\r\n BrowserHistory.prototype.getState = function (key) {\r\n var state = Object.assign({}, this.history.state);\r\n return state[key];\r\n };\r\n BrowserHistory.prototype.getHistoryIndex = function () {\r\n var historyIndex = this.getState('HistoryIndex');\r\n if (historyIndex === undefined) {\r\n historyIndex = this.history.length - 1;\r\n this.setState('HistoryIndex', historyIndex);\r\n }\r\n return historyIndex;\r\n };\r\n BrowserHistory.prototype.go = function (movement) {\r\n this.history.go(movement);\r\n };\r\n BrowserHistory.prototype._getHash = function () {\r\n return this.location.hash.substr(1);\r\n };\r\n BrowserHistory.prototype._getFragment = function (fragment, forcePushState) {\r\n var rootUrl;\r\n if (!fragment) {\r\n if (this._hasPushState || !this._wantsHashChange || forcePushState) {\r\n var location_1 = this.location;\r\n fragment = location_1.pathname + location_1.search;\r\n rootUrl = this.root.replace(trailingSlash, '');\r\n if (!fragment.indexOf(rootUrl)) {\r\n fragment = fragment.substr(rootUrl.length);\r\n }\r\n }\r\n else {\r\n fragment = this._getHash();\r\n }\r\n }\r\n return '/' + fragment.replace(routeStripper, '');\r\n };\r\n BrowserHistory.prototype._checkUrl = function () {\r\n var current = this._getFragment('');\r\n if (current !== this.fragment) {\r\n this._loadUrl('');\r\n }\r\n };\r\n BrowserHistory.prototype._loadUrl = function (fragmentOverride) {\r\n var fragment = this.fragment = this._getFragment(fragmentOverride);\r\n return this.options.routeHandler ?\r\n this.options.routeHandler(fragment) :\r\n false;\r\n };\r\n BrowserHistory.inject = [LinkHandler];\r\n return BrowserHistory;\r\n}(History));\r\nvar routeStripper = /^#?\\/*|\\s+$/g;\r\nvar rootStripper = /^\\/+|\\/+$/g;\r\nvar trailingSlash = /\\/$/;\r\nvar absoluteUrl = /^([a-z][a-z0-9+\\-.]*:)?\\/\\//i;\r\nfunction updateHash($location, fragment, replace) {\r\n if (replace) {\r\n var href = $location.href.replace(/(javascript:|#).*$/, '');\r\n $location.replace(href + '#' + fragment);\r\n }\r\n else {\r\n $location.hash = '#' + fragment;\r\n }\r\n}\r\nfunction createOrigin(protocol, hostname, port) {\r\n return protocol + \"//\" + hostname + (port ? ':' + port : '');\r\n}\n\nfunction configure(config) {\r\n var $config = config;\r\n $config.singleton(History, BrowserHistory);\r\n $config.transient(LinkHandler, DefaultLinkHandler);\r\n}\n\nexport { BrowserHistory, DefaultLinkHandler, LinkHandler, configure };\n//# sourceMappingURL=aurelia-history-browser.js.map\n","\n\nfunction mi(name) {\n throw new Error('History must implement ' + name + '().');\n}\n\nexport var History = function () {\n function History() {\n \n }\n\n History.prototype.activate = function activate(options) {\n mi('activate');\n };\n\n History.prototype.deactivate = function deactivate() {\n mi('deactivate');\n };\n\n History.prototype.getAbsoluteRoot = function getAbsoluteRoot() {\n mi('getAbsoluteRoot');\n };\n\n History.prototype.navigate = function navigate(fragment, options) {\n mi('navigate');\n };\n\n History.prototype.navigateBack = function navigateBack() {\n mi('navigateBack');\n };\n\n History.prototype.setTitle = function setTitle(title) {\n mi('setTitle');\n };\n\n History.prototype.setState = function setState(key, value) {\n mi('setState');\n };\n\n History.prototype.getState = function getState(key) {\n mi('getState');\n };\n\n History.prototype.getHistoryIndex = function getHistoryIndex() {\n mi('getHistoryIndex');\n };\n\n History.prototype.go = function go(movement) {\n mi('go');\n };\n\n return History;\n}();"],"names":[],"sourceRoot":""}