{"version":3,"file":"photos-vendors-node_modules_nextcloud_vue_dist_Components_ActionButton_js-node_modules_nextcloud_vue-bc77c2.js?v=a22e62b47d1cc2e15991","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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC19dA;AACA;AACA;;;;;;;;;;ACFA;AACA;AACA;;;;;;;;;;;ACFA;AACA;AACA;;;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;AC/FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;ACpMA;AACA;;;;;;;;;;;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AC1UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrEA;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC7zSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC/JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACpyDA;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACNA;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA;AACA;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACnCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrDA;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACjwHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack:///photos/node_modules/@nextcloud/calendar-js/dist/index.esm.js","webpack:///photos/node_modules/@nextcloud/vue/dist/Components/ActionButton.js","webpack:///photos/node_modules/@nextcloud/vue/dist/Components/Actions.js","webpack:///photos/node_modules/@nextcloud/vue/dist/ncvuecomponents.js","webpack:///photos/node_modules/charenc/charenc.js","webpack:///photos/node_modules/crypt/crypt.js","webpack:///photos/node_modules/date-format-parse/es/format.js","webpack:///photos/node_modules/date-format-parse/es/index.js","webpack:///photos/node_modules/date-format-parse/es/locale/en.js","webpack:///photos/node_modules/date-format-parse/es/parse.js","webpack:///photos/node_modules/date-format-parse/es/util.js","webpack:///photos/node_modules/debounce/index.js","webpack:///photos/node_modules/emoji-mart-vue-fast/dist/emoji-mart.js","webpack:///photos/node_modules/ical.js/build/ical.js","webpack:///photos/node_modules/is-buffer/index.js","webpack:///photos/node_modules/md5/md5.js","webpack:///photos/node_modules/tributejs/dist/tribute.esm.js","webpack:///photos/node_modules/uuid/dist/esm-browser/regex.js","webpack:///photos/node_modules/uuid/dist/esm-browser/rng.js","webpack:///photos/node_modules/uuid/dist/esm-browser/stringify.js","webpack:///photos/node_modules/uuid/dist/esm-browser/v4.js","webpack:///photos/node_modules/uuid/dist/esm-browser/validate.js","webpack:///photos/node_modules/vue-color/dist/vue-color.min.js","webpack:///photos/node_modules/vue-directive-long-press/dist/index.js","webpack:///photos/node_modules/vue-material-design-icons/ArrowLeft.vue","webpack:///photos/node_modules/vue-material-design-icons/ArrowLeft.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/Check.vue","webpack:///photos/node_modules/vue-material-design-icons/Check.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/CheckboxBlankOutline.vue","webpack:///photos/node_modules/vue-material-design-icons/CheckboxBlankOutline.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/CheckboxMarked.vue","webpack:///photos/node_modules/vue-material-design-icons/CheckboxMarked.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/ChevronLeft.vue","webpack:///photos/node_modules/vue-material-design-icons/ChevronLeft.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/ChevronRight.vue","webpack:///photos/node_modules/vue-material-design-icons/ChevronRight.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/HelpCircle.vue","webpack:///photos/node_modules/vue-material-design-icons/HelpCircle.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/MinusBox.vue","webpack:///photos/node_modules/vue-material-design-icons/MinusBox.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/Pause.vue","webpack:///photos/node_modules/vue-material-design-icons/Pause.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/Play.vue","webpack:///photos/node_modules/vue-material-design-icons/Play.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/RadioboxBlank.vue","webpack:///photos/node_modules/vue-material-design-icons/RadioboxBlank.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/RadioboxMarked.vue","webpack:///photos/node_modules/vue-material-design-icons/RadioboxMarked.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitch.vue","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitch.vue?vue&type=script&lang=js&","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitchOff.vue","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitchOff.vue?vue&type=script&lang=js&","webpack://photos/./node_modules/vue-material-design-icons/ArrowLeft.vue?de8a","webpack:///photos/node_modules/vue-material-design-icons/ArrowLeft.vue?vue&type=template&id=b9ea0198&","webpack://photos/./node_modules/vue-material-design-icons/Check.vue?5279","webpack:///photos/node_modules/vue-material-design-icons/Check.vue?vue&type=template&id=7146728c&","webpack://photos/./node_modules/vue-material-design-icons/CheckboxBlankOutline.vue?e7b0","webpack:///photos/node_modules/vue-material-design-icons/CheckboxBlankOutline.vue?vue&type=template&id=2b4d295d&","webpack://photos/./node_modules/vue-material-design-icons/CheckboxMarked.vue?5c2f","webpack:///photos/node_modules/vue-material-design-icons/CheckboxMarked.vue?vue&type=template&id=3cf11b7b&","webpack://photos/./node_modules/vue-material-design-icons/ChevronLeft.vue?49f5","webpack:///photos/node_modules/vue-material-design-icons/ChevronLeft.vue?vue&type=template&id=737b3c66&","webpack://photos/./node_modules/vue-material-design-icons/ChevronRight.vue?ee62","webpack:///photos/node_modules/vue-material-design-icons/ChevronRight.vue?vue&type=template&id=39316a4d&","webpack://photos/./node_modules/vue-material-design-icons/HelpCircle.vue?764a","webpack:///photos/node_modules/vue-material-design-icons/HelpCircle.vue?vue&type=template&id=016aabc6&","webpack://photos/./node_modules/vue-material-design-icons/MinusBox.vue?c98e","webpack:///photos/node_modules/vue-material-design-icons/MinusBox.vue?vue&type=template&id=2f6d0de7&","webpack://photos/./node_modules/vue-material-design-icons/Pause.vue?1783","webpack:///photos/node_modules/vue-material-design-icons/Pause.vue?vue&type=template&id=ea16e70c&","webpack://photos/./node_modules/vue-material-design-icons/Play.vue?d593","webpack:///photos/node_modules/vue-material-design-icons/Play.vue?vue&type=template&id=12215140&","webpack://photos/./node_modules/vue-material-design-icons/RadioboxBlank.vue?77b6","webpack:///photos/node_modules/vue-material-design-icons/RadioboxBlank.vue?vue&type=template&id=49bc56c8&","webpack://photos/./node_modules/vue-material-design-icons/RadioboxMarked.vue?8f90","webpack:///photos/node_modules/vue-material-design-icons/RadioboxMarked.vue?vue&type=template&id=4de20f68&","webpack://photos/./node_modules/vue-material-design-icons/ToggleSwitch.vue?6b55","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitch.vue?vue&type=template&id=7709a458&","webpack://photos/./node_modules/vue-material-design-icons/ToggleSwitchOff.vue?69b7","webpack:///photos/node_modules/vue-material-design-icons/ToggleSwitchOff.vue?vue&type=template&id=6fef93ab&","webpack://photos/./node_modules/vue-material-design-icons/ArrowLeft.vue?33df","webpack://photos/./node_modules/vue-material-design-icons/Check.vue?9e2e","webpack://photos/./node_modules/vue-material-design-icons/CheckboxBlankOutline.vue?af66","webpack://photos/./node_modules/vue-material-design-icons/CheckboxMarked.vue?8376","webpack://photos/./node_modules/vue-material-design-icons/ChevronLeft.vue?2238","webpack://photos/./node_modules/vue-material-design-icons/ChevronRight.vue?aabc","webpack://photos/./node_modules/vue-material-design-icons/HelpCircle.vue?1de5","webpack://photos/./node_modules/vue-material-design-icons/MinusBox.vue?e4fd","webpack://photos/./node_modules/vue-material-design-icons/Pause.vue?d9e9","webpack://photos/./node_modules/vue-material-design-icons/Play.vue?1718","webpack://photos/./node_modules/vue-material-design-icons/RadioboxBlank.vue?6473","webpack://photos/./node_modules/vue-material-design-icons/RadioboxMarked.vue?d01c","webpack://photos/./node_modules/vue-material-design-icons/ToggleSwitch.vue?377c","webpack://photos/./node_modules/vue-material-design-icons/ToggleSwitchOff.vue?a006","webpack:///photos/node_modules/vue-multiselect/dist/vue-multiselect.min.js","webpack:///photos/node_modules/vue2-datepicker/index.esm.js","webpack:///photos/node_modules/char-regex/index.js","webpack:///photos/node_modules/string-length/index.js","webpack:///photos/node_modules/string-length/node_modules/ansi-regex/index.js","webpack:///photos/node_modules/string-length/node_modules/strip-ansi/index.js"],"sourcesContent":["import ICAL from 'ical.js';\nimport { v4 } from 'uuid';\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @class AbstractParser\n * @classdesc\n */\nclass AbstractParser {\n /**\n * @constructor\n *\n * @param {Object=} options Object of options\n * @param {Boolean=} options.extractGlobalProperties Whether or not to preserve properties from the VCALENDAR component (defaults to false)\n * @param {Boolean=} options.removeRSVPForAttendees Whether or not to remove RSVP from attendees (defaults to false)\n * @param {Boolean=} options.includeTimezones Whether or not to include timezones (defaults to false)\n * @param {Boolean=} options.preserveMethod Whether or not to preserve the iCalendar method (defaults to false)\n * @param {Boolean=} options.processFreeBusy Whether or not to process VFreeBusy components (defaults to false)\n */\n constructor(options = {}) {\n if (new.target === AbstractParser) {\n throw new TypeError('Cannot instantiate abstract class AbstractParser');\n }\n /**\n * Options for the parser\n *\n * @type {{removeRSVPForAttendees: Boolean}}\n * @private\n */\n\n\n this._options = Object.assign({}, options);\n /**\n * A name extracted from the calendar-data\n *\n * @type {String|null}\n * @protected\n */\n\n this._name = null;\n /**\n * A color extracted from the calendar-data\n *\n * @type {String|null}\n * @protected\n */\n\n this._color = null;\n /**\n * Gets the url that this icalendar file can be updated from\n *\n * @type {String}\n * @protected\n */\n\n this._sourceURL = null;\n /**\n * Gets the update interval if this icalendar file can be updated from a source\n *\n * @type {String}\n * @protected\n */\n\n this._refreshInterval = null;\n /**\n * Gets the default timezone of this calendar\n *\n * @type {String}\n * @protected\n */\n\n this._calendarTimezone = null;\n /**\n * Error count during parsing\n *\n * @type {Array}\n * @protected\n */\n\n this._errors = [];\n }\n /**\n * Gets the name extracted from the calendar-data\n *\n * @returns {String|null}\n */\n\n\n getName() {\n return this._name;\n }\n /**\n * Gets the color extracted from the calendar-data\n *\n * @returns {String|null}\n */\n\n\n getColor() {\n return this._color;\n }\n /**\n * Gets whether this import can be converted into a webcal subscription\n *\n * @returns {boolean}\n */\n\n\n offersWebcalFeed() {\n return this._sourceURL !== null;\n }\n /**\n * Gets the url pointing to the webcal source\n *\n * @returns {String|null}\n */\n\n\n getSourceURL() {\n return this._sourceURL;\n }\n /**\n * Gets the recommended refresh rate to update this subscription\n *\n * @returns {String|null}\n */\n\n\n getRefreshInterval() {\n return this._refreshInterval;\n }\n /**\n * Gets the default timezone of this calendar\n *\n * @returns {String}\n */\n\n\n getCalendarTimezone() {\n return this._calendarTimezone;\n }\n /**\n * {String|Object} data\n *\n * @param {any} data The data to parse\n * @throws TypeError\n */\n\n\n parse(data) {\n throw new TypeError('Abstract method not implemented by subclass');\n }\n /**\n * Returns one CalendarComponent at a time\n */\n\n\n *getItemIterator() {\n // eslint-disable-line require-yield\n throw new TypeError('Abstract method not implemented by subclass');\n }\n /**\n * Get an array of all items\n *\n * @returns {CalendarComponent[]}\n */\n\n\n getAllItems() {\n return Array.from(this.getItemIterator());\n }\n /**\n * Returns a boolean whether or not the parsed data contains vevents\n *\n * @returns {boolean}\n */\n\n\n containsVEvents() {\n return false;\n }\n /**\n * Returns a boolean whether or not the parsed data contains vjournals\n *\n * @returns {boolean}\n */\n\n\n containsVJournals() {\n return false;\n }\n /**\n * Returns a boolean whether or not the parsed data contains vtodos\n *\n * @returns {boolean}\n */\n\n\n containsVTodos() {\n return false;\n }\n /**\n * Returns a boolean whether or not the parsed data contains vfreebusys\n *\n * @returns {boolean}\n */\n\n\n containsVFreeBusy() {\n return false;\n }\n /**\n * Returns a boolean whether\n *\n * @returns {boolean}\n */\n\n\n hasErrors() {\n return this._errors.length !== 0;\n }\n /**\n * Get a list of all errors that occurred\n *\n * @returns {*[]}\n */\n\n\n getErrorList() {\n return this._errors.slice();\n }\n /**\n * Returns the number of calendar-objects in parser\n *\n * @returns {number}\n */\n\n\n getItemCount() {\n return 0;\n }\n /**\n * Gets an option provided\n *\n * @param {String} name The name of the option to get\n * @param {*} defaultValue The default value to return if option not provided\n * @returns {any}\n * @protected\n */\n\n\n _getOption(name, defaultValue) {\n return Object.prototype.hasOwnProperty.call(this._options, name) ? this._options[name] : defaultValue;\n }\n /**\n * Return list of supported mime types\n *\n * @static\n */\n\n\n static getMimeTypes() {\n throw new TypeError('Abstract method not implemented by subclass');\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass ModificationNotAllowedError extends Error {}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nfunction lockableTrait(baseClass) {\n /**\n * @class LockableTrait\n */\n return class extends baseClass {\n /**\n * Constructor\n */\n constructor(...args) {\n super(...args);\n /**\n * Indicator whether this value was locked for changes\n *\n * @type {boolean}\n * @private\n */\n\n this._mutable = true;\n }\n /**\n * Returns whether or not this object is locked\n *\n * @returns {boolean}\n */\n\n\n isLocked() {\n return !this._mutable;\n }\n /**\n * Marks this object is immutable\n * locks it against further modification\n */\n\n\n lock() {\n this._mutable = false;\n }\n /**\n * Marks this object as mutable\n * allowing further modification\n */\n\n\n unlock() {\n this._mutable = true;\n }\n /**\n * Check if modifications are allowed\n *\n * @throws {ModificationNotAllowedError} if this object is locked for modification\n * @protected\n */\n\n\n _modify() {\n if (!this._mutable) {\n throw new ModificationNotAllowedError();\n }\n }\n /**\n * Check if modification of content is allowed\n *\n * @throws {ModificationNotAllowedError} if this object is locked for modification\n * @protected\n */\n\n\n _modifyContent() {\n this._modify();\n }\n\n };\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass ExpectedICalJSError extends Error {}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * Turns the entire string lowercase\n *\n * @param {String} str The string to turn lowercase\n * @returns {string}\n */\nfunction lc(str) {\n return str.toLowerCase();\n}\n/**\n * Turns the entire string uppercase\n *\n * @param {String} str The string to turn uppercase\n * @returns {string}\n */\n\nfunction uc(str) {\n return str.toUpperCase();\n}\n/**\n * Capitalizes the string\n *\n * @param {String} str The string of which the first character will be turned uppercase\n * @returns {string}\n */\n\nfunction ucFirst(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n/**\n * Makes sure that a string starts with a certain other string\n * This is mostly used in the attendeeProperty to assure the uri starts with mailto:\n *\n * @param {String} str The string to check for the prefix and prepend if necessary\n * @param {String} startWith The prefix to be added if necessary\n * @returns {string}\n */\n\nfunction startStringWith(str, startWith) {\n if (!str.startsWith(startWith)) {\n str = startWith + str;\n }\n\n return str;\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @type {Map}\n */\nconst GLOBAL_CONFIG = new Map();\n/**\n * Sets a new config key\n *\n * @param {String} key The config-key to set\n * @param {*} value The value to set for given config-key\n */\n\nfunction setConfig(key, value) {\n GLOBAL_CONFIG.set(key, value);\n}\n/**\n * gets value of a config key\n *\n * @param {String} key The config-key to get\n * @param {*} defaultValue Default value of config does not exist\n * @returns {*}\n */\n\nfunction getConfig(key, defaultValue) {\n return GLOBAL_CONFIG.get(key) || defaultValue;\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * creates a new ICAL.Component object\n *\n * @param {string} componentName The name of the component to create\n * @returns {ICAL.Component}\n */\n\nfunction createComponent(componentName) {\n return new ICAL.Component(lc(componentName));\n}\n/**\n * creates a new ICAL.Property object\n *\n * @param {string} propertyName The name of the property to create\n * @returns {ICAL.Property}\n */\n\nfunction createProperty(propertyName) {\n return new ICAL.Property(lc(propertyName));\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nfunction observerTrait(baseClass) {\n /**\n * @class ObserverTrait\n */\n return class extends baseClass {\n /**\n * Constructor\n */\n constructor(...args) {\n super(...args);\n /**\n * List of subscribers\n *\n * @type {Function[]}\n * @private\n */\n\n this._subscribers = [];\n }\n /**\n * Adds a new subscriber\n *\n * @param {Function} handler - Handler to be called when modification happens\n */\n\n\n subscribe(handler) {\n this._subscribers.push(handler);\n }\n /**\n * Removes a subscriber\n *\n * @param {Function} handler - Handler to be no longer called when modification happens\n */\n\n\n unsubscribe(handler) {\n const index = this._subscribers.indexOf(handler);\n\n if (index === -1) {\n return;\n }\n\n this._subscribers.splice(index, 1);\n }\n /**\n * Notify all subscribed handlers\n *\n * @protected\n */\n\n\n _notifySubscribers(...args) {\n for (const handler of this._subscribers) {\n handler(...args);\n }\n }\n\n };\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class Parameter\n * @classdesc This class represents a property parameters as defined in RFC 5545 Section 3.2\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.2\n * @url\n */\n\nclass Parameter extends observerTrait(lockableTrait(class {})) {\n /**\n * Constructor\n *\n * @param {string} name The name of the parameter\n * @param {string|Array|null} value The value of the parameter\n */\n constructor(name, value = null) {\n super();\n /**\n * Name of the parameter\n *\n * @type {string}\n * @private\n */\n\n this._name = uc(name);\n /**\n * Value of the parameter\n *\n * @type {string|Array|null}\n * @private\n */\n\n this._value = value;\n }\n /**\n * Get parameter name\n *\n * @readonly\n * @returns {String}\n */\n\n\n get name() {\n return this._name;\n }\n /**\n * Get parameter value\n *\n * @returns {String|Array}\n */\n\n\n get value() {\n return this._value;\n }\n /**\n * Set new parameter value\n *\n * @throws {ModificationNotAllowedError} if parameter is locked for modification\n * @param {String|Array} value The new value to set\n */\n\n\n set value(value) {\n this._modifyContent();\n\n this._value = value;\n }\n /**\n * Gets the first value of this parameter\n *\n * @returns {String|null}\n */\n\n\n getFirstValue() {\n if (!this.isMultiValue()) {\n return this.value;\n } else {\n if (this.value.length > 0) {\n return this.value[0];\n }\n }\n\n return null;\n }\n /**\n * Gets an iterator for all values\n */\n\n\n *getValueIterator() {\n if (this.isMultiValue()) {\n yield* this.value.slice()[Symbol.iterator]();\n } else {\n yield this.value;\n }\n }\n /**\n * Returns whether or not the value is a multivalue\n *\n * @returns {Boolean}\n */\n\n\n isMultiValue() {\n return Array.isArray(this._value);\n }\n /**\n * Creates a copy of this parameter\n *\n * @returns {Parameter}\n */\n\n\n clone() {\n const parameter = new this.constructor(this._name);\n\n if (this.isMultiValue()) {\n // only copy array values, don't copy array reference\n parameter.value = this._value.slice();\n } else {\n parameter.value = this._value;\n } // cloned parameters are always mutable\n\n\n return parameter;\n }\n /**\n * @inheritDoc\n */\n\n\n _modifyContent() {\n super._modifyContent();\n\n this._notifySubscribers();\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class AbstractValue\n * @classdesc BaseClass for all values\n */\n\nclass AbstractValue extends observerTrait(lockableTrait(class {})) {\n /**\n * Constructor\n *\n * @param {ICAL.Binary|ICAL.Duration|ICAL.Period|ICAL.Recur|ICAL.Time|ICAL.UtcOffset} icalValue The ICAL.JS object to wrap\n */\n constructor(icalValue) {\n if (new.target === AbstractValue) {\n throw new TypeError('Cannot instantiate abstract class AbstractValue');\n }\n\n super();\n /**\n * Wrapped ICAL.js value\n *\n * @type {ICAL.Binary|ICAL.Duration|ICAL.Period|ICAL.Recur|ICAL.Time|ICAL.UtcOffset}\n */\n\n this._innerValue = icalValue;\n }\n /**\n * Gets wrapped ICAL.JS object\n *\n * @returns {*}\n */\n\n\n toICALJs() {\n return this._innerValue;\n }\n /**\n * @inheritDoc\n */\n\n\n _modifyContent() {\n super._modifyContent();\n\n this._notifySubscribers();\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class BinaryValue\n * @classdesc Wrapper for ICAL.Binary\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.1.3\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/binary.js\n */\n\nclass BinaryValue extends AbstractValue {\n /**\n * Sets the raw b64 encoded value\n *\n * @returns {String}\n */\n get rawValue() {\n return this._innerValue.value;\n }\n /**\n * Gets the raw b64 encoded value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {String} value - The new raw value\n */\n\n\n set rawValue(value) {\n this._modifyContent();\n\n this._innerValue.value = value;\n }\n /**\n * Gets the decoded value\n *\n * @returns {String}\n */\n\n\n get value() {\n return this._innerValue.decodeValue();\n }\n /**\n * Sets the decoded Value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {String} decodedValue - The new encoded value\n */\n\n\n set value(decodedValue) {\n this._modifyContent();\n\n this._innerValue.setEncodedValue(decodedValue);\n }\n /**\n * clones this value\n *\n * @returns {BinaryValue}\n */\n\n\n clone() {\n return BinaryValue.fromRawValue(this._innerValue.value);\n }\n /**\n * Create a new BinaryValue object from an ICAL.Binary object\n *\n * @param {ICAL.Binary} icalValue - The ICAL.Binary object\n * @returns {BinaryValue}\n */\n\n\n static fromICALJs(icalValue) {\n return new BinaryValue(icalValue);\n }\n /**\n * Create a new BinaryValue object from a raw b64 encoded value\n *\n * @param {String} rawValue - The raw value\n * @returns {BinaryValue}\n */\n\n\n static fromRawValue(rawValue) {\n const icalBinary = new ICAL.Binary(rawValue);\n return BinaryValue.fromICALJs(icalBinary);\n }\n /**\n * Create a new BinaryValue object from decoded value\n *\n * @param {String} decodedValue - The encoded value\n * @returns {BinaryValue}\n */\n\n\n static fromDecodedValue(decodedValue) {\n const icalBinary = new ICAL.Binary();\n icalBinary.setEncodedValue(decodedValue);\n return BinaryValue.fromICALJs(icalBinary);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class DurationValue\n * @classdesc Wrapper for ICAL.Duration\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.6\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/duration.js\n */\n\nclass DurationValue extends AbstractValue {\n /**\n * Gets the weeks of the stored duration-value\n *\n * @returns {Number}\n */\n get weeks() {\n return this._innerValue.weeks;\n }\n /**\n * Sets the weeks of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if value is negative\n * @param {Number} weeks Amount of weeks\n */\n\n\n set weeks(weeks) {\n this._modifyContent();\n\n if (weeks < 0) {\n throw new TypeError('Weeks cannot be negative, use isNegative instead');\n }\n\n this._innerValue.weeks = weeks;\n }\n /**\n * Gets the days of the stored duration-value\n *\n * @returns {Number}\n */\n\n\n get days() {\n return this._innerValue.days;\n }\n /**\n * Sets the days of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if value is negative\n * @param {Number} days Amount of days\n */\n\n\n set days(days) {\n this._modifyContent();\n\n if (days < 0) {\n throw new TypeError('Days cannot be negative, use isNegative instead');\n }\n\n this._innerValue.days = days;\n }\n /**\n * Gets the hours of the stored duration-value\n *\n * @returns {Number}\n */\n\n\n get hours() {\n return this._innerValue.hours;\n }\n /**\n * Sets the weeks of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if value is negative\n * @param {Number} hours Amount of hours\n */\n\n\n set hours(hours) {\n this._modifyContent();\n\n if (hours < 0) {\n throw new TypeError('Hours cannot be negative, use isNegative instead');\n }\n\n this._innerValue.hours = hours;\n }\n /**\n * Gets the minutes of the stored duration-value\n *\n * @returns {Number}\n */\n\n\n get minutes() {\n return this._innerValue.minutes;\n }\n /**\n * Sets the minutes of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if value is negative\n * @param {Number} minutes Amount of minutes\n */\n\n\n set minutes(minutes) {\n this._modifyContent();\n\n if (minutes < 0) {\n throw new TypeError('Minutes cannot be negative, use isNegative instead');\n }\n\n this._innerValue.minutes = minutes;\n }\n /**\n * Gets the seconds of the stored duration-value\n *\n * @returns {Number}\n */\n\n\n get seconds() {\n return this._innerValue.seconds;\n }\n /**\n * Sets the seconds of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if value is negative\n * @param {Number} seconds Amount of seconds\n */\n\n\n set seconds(seconds) {\n this._modifyContent();\n\n if (seconds < 0) {\n throw new TypeError('Seconds cannot be negative, use isNegative instead');\n }\n\n this._innerValue.seconds = seconds;\n }\n /**\n * Gets the negative-indicator of the stored duration-value\n *\n * @returns {Boolean}\n */\n\n\n get isNegative() {\n return this._innerValue.isNegative;\n }\n /**\n * Gets the negative-indicator of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Boolean} isNegative Whether or not the duration is negative\n */\n\n\n set isNegative(isNegative) {\n this._modifyContent();\n\n this._innerValue.isNegative = !!isNegative;\n }\n /**\n * Gets the amount of total seconds of the stored duration-value\n *\n * @returns {*|Number}\n */\n\n\n get totalSeconds() {\n return this._innerValue.toSeconds();\n }\n /**\n * Sets the amount of total seconds of the stored duration-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} totalSeconds The total amounts of seconds to set\n */\n\n\n set totalSeconds(totalSeconds) {\n this._modifyContent();\n\n this._innerValue.fromSeconds(totalSeconds);\n }\n /**\n * Compares this duration to another one\n *\n * @param {DurationValue} otherDuration The duration to compare to\n * @returns {Number} -1, 0 or 1 for less/equal/greater\n */\n\n\n compare(otherDuration) {\n return this._innerValue.compare(otherDuration.toICALJs());\n }\n /**\n * Adds the value of another duration to this one\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DurationValue} otherDuration The duration to add\n */\n\n\n addDuration(otherDuration) {\n this._modifyContent();\n\n this.totalSeconds += otherDuration.totalSeconds;\n\n this._innerValue.normalize();\n }\n /**\n * Subtract the value of another duration from this one\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DurationValue} otherDuration The duration to subtract\n */\n\n\n subtractDuration(otherDuration) {\n this._modifyContent();\n\n this.totalSeconds -= otherDuration.totalSeconds;\n\n this._innerValue.normalize();\n }\n /**\n * clones this value\n *\n * @returns {DurationValue}\n */\n\n\n clone() {\n return DurationValue.fromICALJs(this._innerValue.clone());\n }\n /**\n * Create a new DurationValue object from an ICAL.Duration object\n *\n * @param {ICAL.Duration} icalValue The ical.js duration value\n * @returns {DurationValue}\n */\n\n\n static fromICALJs(icalValue) {\n return new DurationValue(icalValue);\n }\n /**\n * Create a new DurationValue object from a number of seconds\n *\n * @param {Number} seconds Total amount of seconds\n * @returns {DurationValue}\n */\n\n\n static fromSeconds(seconds) {\n const icalDuration = ICAL.Duration.fromSeconds(seconds);\n return new DurationValue(icalDuration);\n }\n /**\n * Create a new DurationValue object from data\n *\n * @param {Object} data The destructuring object\n * @param {Number=} data.weeks Number of weeks to set\n * @param {Number=} data.days Number of days to set\n * @param {Number=} data.hours Number of hours to set\n * @param {Number=} data.minutes Number of minutes to set\n * @param {Number=} data.seconds Number of seconds to set\n * @param {Boolean=} data.isNegative Whether or not duration is negative\n * @returns {DurationValue}\n */\n\n\n static fromData(data) {\n const icalDuration = ICAL.Duration.fromData(data);\n return new DurationValue(icalDuration);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class DateTimeValue\n * @classdesc Wrapper for ICAL.Time\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.4\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.5\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.12\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/time.js\n */\n\nclass DateTimeValue extends AbstractValue {\n /**\n * Gets the year of the stored date-time-value\n *\n * @returns {Number}\n */\n get year() {\n return this._innerValue.year;\n }\n /**\n * Sets the year of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} year Number of years to set\n */\n\n\n set year(year) {\n this._modifyContent();\n\n this._innerValue.year = year;\n }\n /**\n * Gets the month of the stored date-time-value\n *\n * @returns {Number}\n */\n\n\n get month() {\n return this._innerValue.month;\n }\n /**\n * Sets the month of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} month Number of months to set\n */\n\n\n set month(month) {\n this._modifyContent();\n\n if (month < 1 || month > 12) {\n throw new TypeError('Month out of range');\n }\n\n this._innerValue.month = month;\n }\n /**\n * Gets the day of the stored date-time-value\n *\n * @returns {Number}\n */\n\n\n get day() {\n return this._innerValue.day;\n }\n /**\n * Sets the day of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if out of range\n * @param {Number} day Number of days to set\n */\n\n\n set day(day) {\n this._modifyContent();\n\n if (day < 1 || day > 31) {\n throw new TypeError('Day out of range');\n }\n\n this._innerValue.day = day;\n }\n /**\n * Gets the hour of the stored date-time-value\n *\n * @returns {Number}\n */\n\n\n get hour() {\n return this._innerValue.hour;\n }\n /**\n * Sets the hour of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if out of range\n * @param {Number} hour Number of hours to set\n */\n\n\n set hour(hour) {\n this._modifyContent();\n\n if (hour < 0 || hour > 23) {\n throw new TypeError('Hour out of range');\n }\n\n this._innerValue.hour = hour;\n }\n /**\n * Gets the minute of the stored date-time-value\n *\n * @returns {Number}\n */\n\n\n get minute() {\n return this._innerValue.minute;\n }\n /**\n * Sets the minute of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if out of range\n * @param {Number} minute Number of minutes to set\n */\n\n\n set minute(minute) {\n this._modifyContent();\n\n if (minute < 0 || minute > 59) {\n throw new TypeError('Minute out of range');\n }\n\n this._innerValue.minute = minute;\n }\n /**\n * Gets the second of the stored date-time-value\n *\n * @returns {Number}\n */\n\n\n get second() {\n return this._innerValue.second;\n }\n /**\n * Sets the second of the stored date-time-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if out of range\n * @param {Number} second Number of seconds to set\n */\n\n\n set second(second) {\n this._modifyContent();\n\n if (second < 0 || second > 59) {\n throw new TypeError('Second out of range');\n }\n\n this._innerValue.second = second;\n }\n /**\n * Gets the timezone of this date-time-value\n *\n * @returns {String|null}\n */\n\n\n get timezoneId() {\n // If zone.tzid is set and it's not 'floating' nor 'UTC', then it's a proper\n // timezone that we also have a timezone id for\n if (this._innerValue.zone.tzid && this._innerValue.zone.tzid !== 'floating' && this._innerValue.zone.tzid === 'UTC') {\n return this._innerValue.zone.tzid;\n } // If there is a timezone set, but we didn't have a zone.tzid in the previous if,\n // this means that the tzid does not have a definition stored along it.\n // we will keep this information anyway to not lose it\n\n\n if (this._innerValue.timezone) {\n return this._innerValue.timezone;\n } // this is the case when it's floating / UTC\n\n\n return this._innerValue.zone.tzid || null;\n }\n /**\n * Gets whether this date-time-value is a date or date-time\n *\n * @returns {boolean}\n */\n\n\n get isDate() {\n return this._innerValue.isDate;\n }\n /**\n * Sets whether this date-time-value is a date or date-time\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {boolean} isDate Whether this is a date or date-time value\n */\n\n\n set isDate(isDate) {\n this._modifyContent();\n\n this._innerValue.isDate = !!isDate;\n\n if (isDate) {\n this._innerValue.hour = 0;\n this._innerValue.minute = 0;\n this._innerValue.second = 0;\n }\n }\n /**\n * Gets the unix-time\n *\n * @returns {Number}\n */\n\n\n get unixTime() {\n return this._innerValue.toUnixTime();\n }\n /**\n * returns vanilla javascript date object\n *\n * @returns {Date}\n */\n\n\n get jsDate() {\n return this._innerValue.toJSDate();\n }\n /**\n * Adds a duration to this date-time-value\n *\n * @param {DurationValue} duration The duration to ad\n */\n\n\n addDuration(duration) {\n this._innerValue.addDuration(duration.toICALJs());\n }\n /**\n * Subtract another date excluding timezones\n *\n * @param {DateTimeValue} other The date-time value to subtract\n * @returns {DurationValue}\n */\n\n\n subtractDateWithoutTimezone(other) {\n const icalDuration = this._innerValue.subtractDate(other.toICALJs());\n\n return DurationValue.fromICALJs(icalDuration);\n }\n /**\n * Subtract another date, taking timezones into account\n *\n * @param {DateTimeValue} other The date-time value to subtract\n * @returns {DurationValue}\n */\n\n\n subtractDateWithTimezone(other) {\n const icalDuration = this._innerValue.subtractDateTz(other.toICALJs());\n\n return DurationValue.fromICALJs(icalDuration);\n }\n /**\n * Compares this DateTimeValue object with another one\n *\n * @param {DateTimeValue} other The date-time to compare to\n * @returns {Number} -1, 0 or 1 for less/equal/greater\n */\n\n\n compare(other) {\n return this._innerValue.compare(other.toICALJs());\n }\n /**\n * Compares only the date part in a given timezone\n *\n * @param {DateTimeValue} other The date-time to compare to\n * @param {Timezone} timezone The timezone to compare in\n * @returns {Number} -1, 0 or 1 for less/equal/greater\n */\n\n\n compareDateOnlyInGivenTimezone(other, timezone) {\n return this._innerValue.compareDateOnlyTz(other.toICALJs(), timezone.toICALTimezone());\n }\n /**\n * Returns a clone of this object which was converted to a different timezone\n *\n * @param {Timezone} timezone TimezoneId to convert to\n * @returns {DateTimeValue}\n */\n\n\n getInTimezone(timezone) {\n const clonedICALTime = this._innerValue.convertToZone(timezone.toICALTimezone());\n\n return DateTimeValue.fromICALJs(clonedICALTime);\n }\n /**\n * Get the inner ICAL.Timezone\n *\n * @returns {ICAL.Timezone}\n * @package\n */\n\n\n getICALTimezone() {\n return this._innerValue.zone;\n }\n /**\n * Returns a clone of this object which was converted to a different timezone\n *\n * @param {ICAL.Timezone} timezone TimezoneId to convert to\n * @returns {DateTimeValue}\n * @package\n */\n\n\n getInICALTimezone(timezone) {\n const clonedICALTime = this._innerValue.convertToZone(timezone);\n\n return DateTimeValue.fromICALJs(clonedICALTime);\n }\n /**\n * Returns a clone of this object which was converted to UTC\n *\n * @returns {DateTimeValue}\n */\n\n\n getInUTC() {\n const clonedICALTime = this._innerValue.convertToZone(ICAL.Timezone.utcTimezone);\n\n return DateTimeValue.fromICALJs(clonedICALTime);\n }\n /**\n * This silently replaces the inner timezone without converting the actual time\n *\n * @param {ICAL.Timezone} timezone The timezone to replace with\n * @package\n */\n\n\n silentlyReplaceTimezone(timezone) {\n this._modify();\n\n this._innerValue = new ICAL.Time({\n year: this.year,\n month: this.month,\n day: this.day,\n hour: this.hour,\n minute: this.minute,\n second: this.second,\n isDate: this.isDate,\n timezone\n });\n }\n /**\n * Replaces the inner timezone without converting the actual time\n *\n * @param {Timezone} timezone The timezone to replace with\n */\n\n\n replaceTimezone(timezone) {\n this._modifyContent();\n\n this._innerValue = ICAL.Time.fromData({\n year: this.year,\n month: this.month,\n day: this.day,\n hour: this.hour,\n minute: this.minute,\n second: this.second,\n isDate: this.isDate\n }, timezone.toICALTimezone());\n }\n /**\n * Calculates the UTC offset of the date-time-value in its timezone\n *\n * @returns {Number}\n */\n\n\n utcOffset() {\n return this._innerValue.utcOffset();\n }\n /**\n * Check if this is an event with floating time\n *\n * @returns {boolean}\n */\n\n\n isFloatingTime() {\n return this._innerValue.zone.tzid === 'floating';\n }\n /**\n * clones this value\n *\n * @returns {DateTimeValue}\n */\n\n\n clone() {\n return DateTimeValue.fromICALJs(this._innerValue.clone());\n }\n /**\n * Create a new DateTimeValue object from an ICAL.Time object\n *\n * @param {ICAL.Time} icalValue The ical.js Date value to initialise from\n * @returns {DateTimeValue}\n */\n\n\n static fromICALJs(icalValue) {\n return new DateTimeValue(icalValue);\n }\n /**\n * Creates a new DateTimeValue object based on a vanilla javascript object\n *\n * @param {Date} jsDate The JavaScript date to initialise from\n * @param {Boolean=} useUTC Whether or not to treat it as UTC\n * @returns {DateTimeValue}\n */\n\n\n static fromJSDate(jsDate, useUTC = false) {\n const icalValue = ICAL.Time.fromJSDate(jsDate, useUTC);\n return DateTimeValue.fromICALJs(icalValue);\n }\n /**\n * Creates a new DateTimeValue object based on simple parameters\n *\n * @param {Object} data The destructuring object\n * @param {Number=} data.year Amount of years to set\n * @param {Number=} data.month Amount of month to set (1-based)\n * @param {Number=} data.day Amount of days to set\n * @param {Number=} data.hour Amount of hours to set\n * @param {Number=} data.minute Amount of minutes to set\n * @param {Number=} data.second Amount of seconds to set\n * @param {Boolean=} data.isDate Whether this is a date or date-time\n * @param {Timezone=} timezone The timezone of the DateTimeValue\n * @returns {DateTimeValue}\n */\n\n\n static fromData(data, timezone) {\n const icalValue = ICAL.Time.fromData(data, timezone ? timezone.toICALTimezone() : undefined);\n return DateTimeValue.fromICALJs(icalValue);\n }\n\n}\nDateTimeValue.SUNDAY = ICAL.Time.SUNDAY;\nDateTimeValue.MONDAY = ICAL.Time.MONDAY;\nDateTimeValue.TUESDAY = ICAL.Time.TUESDAY;\nDateTimeValue.WEDNESDAY = ICAL.Time.WEDNESDAY;\nDateTimeValue.THURSDAY = ICAL.Time.THURSDAY;\nDateTimeValue.FRIDAY = ICAL.Time.FRIDAY;\nDateTimeValue.SATURDAY = ICAL.Time.SATURDAY;\nDateTimeValue.DEFAULT_WEEK_START = DateTimeValue.MONDAY;\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class PeriodValue\n * @classdesc Wrapper for ICAL.Period\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.9\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/period.js\n */\n\nclass PeriodValue extends AbstractValue {\n /**\n * @inheritDoc\n */\n constructor(...args) {\n super(...args);\n /**\n * DateTimeValue object for start\n *\n * @type {DateTimeValue}\n * @private\n */\n\n this._start = DateTimeValue.fromICALJs(this._innerValue.start);\n /**\n * DateTimeValue object for end\n *\n * @type {DateTimeValue|null}\n * @private\n */\n\n this._end = null;\n /**\n * DurationValue object for duration\n *\n * @type {DurationValue|null}\n * @private\n */\n\n this._duration = null;\n }\n /**\n * Gets the start of the period-value\n *\n * @returns {DateTimeValue}\n */\n\n\n get start() {\n return this._start;\n }\n /**\n * Sets the start of the period-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DateTimeValue} start The start of the period\n */\n\n\n set start(start) {\n this._modifyContent();\n\n this._start = start;\n this._innerValue.start = start.toICALJs();\n }\n /**\n * Gets the end of the period-value\n *\n * @returns {DateTimeValue}\n */\n\n\n get end() {\n if (!this._end) {\n if (this._duration) {\n this._duration.lock();\n\n this._duration = null;\n }\n\n this._innerValue.end = this._innerValue.getEnd();\n this._end = DateTimeValue.fromICALJs(this._innerValue.end);\n this._innerValue.duration = null;\n\n if (this.isLocked()) {\n this._end.lock();\n }\n }\n\n return this._end;\n }\n /**\n * Sets the end of the period-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DateTimeValue} end The end of the period\n */\n\n\n set end(end) {\n this._modifyContent();\n\n this._innerValue.duration = null;\n this._innerValue.end = end.toICALJs();\n this._end = end;\n }\n /**\n * Gets the duration of the period-value\n * The value is automatically locked.\n * If you want to edit the value, clone it and it as new duration\n *\n * @returns {DurationValue}\n */\n\n\n get duration() {\n if (!this._duration) {\n if (this._end) {\n this._end.lock();\n\n this._end = null;\n }\n\n this._innerValue.duration = this._innerValue.getDuration();\n this._duration = DurationValue.fromICALJs(this._innerValue.duration);\n this._innerValue.end = null;\n\n if (this.isLocked()) {\n this._duration.lock();\n }\n }\n\n return this._duration;\n }\n /**\n * Sets the duration of the period-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DurationValue} duration The duration to set\n */\n\n\n set duration(duration) {\n this._modifyContent();\n\n this._innerValue.end = null;\n this._innerValue.duration = duration.toICALJs();\n this._duration = duration;\n }\n /**\n * @inheritDoc\n */\n\n\n lock() {\n super.lock();\n this.start.lock();\n\n if (this._end) {\n this._end.lock();\n }\n\n if (this._duration) {\n this._duration.lock();\n }\n }\n /**\n * @inheritDoc\n */\n\n\n unlock() {\n super.unlock();\n this.start.unlock();\n\n if (this._end) {\n this._end.unlock();\n }\n\n if (this._duration) {\n this._duration.unlock();\n }\n }\n /**\n * clones this value\n *\n * @returns {PeriodValue}\n */\n\n\n clone() {\n return PeriodValue.fromICALJs(this._innerValue.clone());\n }\n /**\n * Create a new PeriodValue object from a ICAL.Period object\n *\n * @param {ICAL.Period} icalValue The ical.js period value to initialise from\n * @returns {PeriodValue}\n */\n\n\n static fromICALJs(icalValue) {\n return new PeriodValue(icalValue);\n }\n /**\n * Create a new PeriodValue object from start and end\n *\n * @param {Object} data The destructuring object\n * @param {DateTimeValue} data.start The start of the period\n * @param {DateTimeValue} data.end The end of the period\n * @returns {PeriodValue}\n */\n\n\n static fromDataWithEnd(data) {\n const icalPeriod = ICAL.Period.fromData({\n start: data.start.toICALJs(),\n end: data.end.toICALJs()\n });\n return PeriodValue.fromICALJs(icalPeriod);\n }\n /**\n * Create a new PeriodValue object from start and duration\n *\n * @param {Object} data The destructuring object\n * @param {DateTimeValue} data.start The start of the period\n * @param {DurationValue} data.duration The duration of the period\n * @returns {PeriodValue}\n */\n\n\n static fromDataWithDuration(data) {\n const icalPeriod = ICAL.Period.fromData({\n start: data.start.toICALJs(),\n duration: data.duration.toICALJs()\n });\n return PeriodValue.fromICALJs(icalPeriod);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst ALLOWED_FREQ = ['SECONDLY', 'MINUTELY', 'HOURLY', 'DAILY', 'WEEKLY', 'MONTHLY', 'YEARLY'];\n/**\n * @class RecurValue\n * @classdesc Wrapper for ICAL.Recur\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.10\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/recur.js\n */\n\nclass RecurValue extends AbstractValue {\n /**\n * Constructor\n *\n * @param {ICAL.Recur} icalValue The ical.js rrule value\n * @param {DateTimeValue?} until The Until date\n */\n constructor(icalValue, until) {\n super(icalValue);\n /**\n * DateTimeValue object for Until\n *\n * @type {DateTimeValue}\n * @private\n */\n\n this._until = until;\n }\n /**\n * Gets the stored interval of this recurrence rule\n *\n * @returns {Number}\n */\n\n\n get interval() {\n return this._innerValue.interval;\n }\n /**\n * Sets the stored interval of this recurrence rule\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} interval New Interval to set\n */\n\n\n set interval(interval) {\n this._modifyContent();\n\n this._innerValue.interval = parseInt(interval, 10);\n }\n /**\n * Gets the weekstart used to calculate the recurrence expansion\n *\n * @returns {Number}\n */\n\n\n get weekStart() {\n return this._innerValue.wkst;\n }\n /**\n * Sets the weekstart used to calculate the recurrence expansion\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if weekstart out of range\n * @param {Number} weekStart New start of week to set\n */\n\n\n set weekStart(weekStart) {\n this._modifyContent();\n\n if (weekStart < DateTimeValue.SUNDAY || weekStart > DateTimeValue.SATURDAY) {\n throw new TypeError('Weekstart out of range');\n }\n\n this._innerValue.wkst = weekStart;\n }\n /**\n * Gets the until value if set\n * The value is automatically locked.\n * If you want to edit the value, clone it and it as new until\n *\n * @returns {null|DateTimeValue}\n */\n\n\n get until() {\n if (!this._until && this._innerValue.until) {\n this._until = DateTimeValue.fromICALJs(this._innerValue.until);\n }\n\n return this._until;\n }\n /**\n * Sets the until value, automatically removes count\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {DateTimeValue} until New until date to set\n */\n\n\n set until(until) {\n this._modifyContent();\n\n if (this._until) {\n this._until.lock();\n }\n\n this._until = until;\n this._innerValue.count = null;\n this._innerValue.until = until.toICALJs();\n }\n /**\n * Gets the count value if set\n *\n * @returns {null|Number}\n */\n\n\n get count() {\n return this._innerValue.count;\n }\n /**\n * Sets the count value, automatically removes until\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} count New occurrence limit to set\n */\n\n\n set count(count) {\n this._modifyContent();\n\n if (this._until) {\n this._until.lock();\n\n this._until = null;\n }\n\n this._innerValue.until = null;\n this._innerValue.count = parseInt(count, 10);\n }\n /**\n * Gets the frequency of the recurrence rule\n *\n * @returns {String} see\n */\n\n\n get frequency() {\n return this._innerValue.freq;\n }\n /**\n * Sets the frequency of the recurrence rule\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if frequency is unknown\n * @param {String} freq New frequency to set\n */\n\n\n set frequency(freq) {\n this._modifyContent();\n\n if (!ALLOWED_FREQ.includes(freq)) {\n throw new TypeError('Unknown frequency');\n }\n\n this._innerValue.freq = freq;\n }\n /**\n * Modifies this recurrence-value to unset count and until\n */\n\n\n setToInfinite() {\n this._modifyContent();\n\n if (this._until) {\n this._until.lock();\n\n this._until = null;\n }\n\n this._innerValue.until = null;\n this._innerValue.count = null;\n }\n /**\n * Checks whether the stored rule is finite\n *\n * @returns {Boolean}\n */\n\n\n isFinite() {\n return this._innerValue.isFinite();\n }\n /**\n * Checks whether the recurrence rule is limited by count\n *\n * @returns {Boolean}\n */\n\n\n isByCount() {\n return this._innerValue.isByCount();\n }\n /**\n * Adds a part to a component to the recurrence-rule\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {String} componentName The name of the recurrence-component to add\n * @param {String|Number} value The value to add\n */\n\n\n addComponent(componentName, value) {\n this._modifyContent();\n\n this._innerValue.addComponent(componentName, value);\n }\n /**\n * Sets / overwrites a component to the recurrence-rule\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {String} componentName The name of the component to set\n * @param {Number[]|String[]} value The value to set\n */\n\n\n setComponent(componentName, value) {\n this._modifyContent();\n\n if (value.length === 0) {\n delete this._innerValue.parts[componentName.toUpperCase()];\n } else {\n this._innerValue.setComponent(componentName, value);\n }\n }\n /**\n * Removes all parts of a component\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {String} componentName The name of the component to remove\n */\n\n\n removeComponent(componentName) {\n delete this._innerValue.parts[uc(componentName)];\n }\n /**\n * Gets all parts of a component\n *\n * @param {String} componentName The name of the component to get\n * @returns {Array}\n */\n\n\n getComponent(componentName) {\n return this._innerValue.getComponent(componentName);\n }\n /**\n * Checks if this recurrence rule is valid according to RFC 5545\n *\n * @returns {boolean}\n */\n\n\n isRuleValid() {\n return true;\n }\n /**\n * @inheritDoc\n */\n\n\n lock() {\n super.lock();\n\n if (this._until) {\n this._until.lock();\n }\n }\n /**\n * @inheritDoc\n */\n\n\n unlock() {\n super.unlock();\n\n if (this._until) {\n this._until.unlock();\n }\n }\n /**\n * clones this value\n *\n * @returns {RecurValue}\n */\n\n\n clone() {\n return RecurValue.fromICALJs(this._innerValue.clone());\n }\n /**\n * Create a new RecurValue object from a ICAL.Recur object\n *\n * @param {ICAL.Recur} icalValue The ICAL.JS Recur value\n * @param {DateTimeValue?} until The Until date\n * @returns {RecurValue}\n */\n\n\n static fromICALJs(icalValue, until = null) {\n return new RecurValue(icalValue, until);\n }\n /**\n * Create a new RecurValue object from a data object\n *\n * @param {Object} data The destructuring object\n * @param {String=} data.freq FREQ part of RRULE\n * @param {Number=} data.interval INTERVAL part of RRULE\n * @param {Number=} data.wkst WEEKSTART part of RRULE\n * @param {DateTimeValue=} data.until UNTIL part of RRULE\n * @param {Number=} data.count COUNT part of RRULE\n * @param {Number[]=} data.bysecond BYSECOND part of RRULE\n * @param {Number[]=} data.byminute BYMINUTE part of RRULE\n * @param {Number[]=} data.byhour BYHOUR part of RRULE\n * @param {String[]=} data.byday BYDAY part of RRULE\n * @param {Number[]=} data.bymonthday BYMONTHDAY part of RRULE\n * @param {Number[]=} data.byyearday BYYEARDAY part of RRULE\n * @param {Number[]=} data.byweekno BYWEEKNO part of RRULE\n * @param {Number[]=} data.bymonth BYMONTH part of RRULE\n * @param {Number[]=} data.bysetpos BYSETPOS part of RRULE\n * @returns {RecurValue}\n */\n\n\n static fromData(data) {\n let until = null;\n\n if (data.until) {\n until = data.until;\n data.until = data.until.toICALJs();\n }\n\n const icalRecur = ICAL.Recur.fromData(data);\n return RecurValue.fromICALJs(icalRecur, until);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class UTCOffsetValue\n * @classdesc Wrapper for ICAL.UtcOffset\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.14\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/utc_offset.js\n */\n\nclass UTCOffsetValue extends AbstractValue {\n /**\n * Gets the hour part of the offset-value\n *\n * @returns {Number}\n */\n get hours() {\n return this._innerValue.hours;\n }\n /**\n * Sets the hour part of the offset-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n \t * @param {Number} hours - New hours to set\n */\n\n\n set hours(hours) {\n this._modifyContent();\n\n this._innerValue.hours = hours;\n }\n /**\n * Gets the minute part of the offset-value\n *\n * @returns {Number}\n */\n\n\n get minutes() {\n return this._innerValue.minutes;\n }\n /**\n * Sets the minute part of the offset-value\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} minutes - New minutes to set\n */\n\n\n set minutes(minutes) {\n this._modifyContent();\n\n this._innerValue.minutes = minutes;\n }\n /**\n * Gets the factor\n *\n * @returns {Number}\n */\n\n\n get factor() {\n return this._innerValue.factor;\n }\n /**\n * Sets the factor\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @throws {TypeError} if factor is neither 1 nor -1\n * @param {Number} factor - New factor to set, 1 for positive, -1 for negative\n */\n\n\n set factor(factor) {\n this._modifyContent();\n\n if (factor !== 1 && factor !== -1) {\n throw new TypeError('Factor may only be set to 1 or -1');\n }\n\n this._innerValue.factor = factor;\n }\n /**\n * Gets the total amount of seconds\n *\n * @returns {Number}\n */\n\n\n get totalSeconds() {\n return this._innerValue.toSeconds();\n }\n /**\n * Sets the total amount of seconds\n *\n * @throws {ModificationNotAllowedError} if value is locked for modification\n * @param {Number} totalSeconds - New number of total seconds to set\n */\n\n\n set totalSeconds(totalSeconds) {\n this._modifyContent();\n\n this._innerValue.fromSeconds(totalSeconds);\n }\n /**\n * Compares this UTCOffset to another one\n *\n * @param {UTCOffsetValue} other - The other UTCOffsetValue to compare with\n * @returns {Number} -1, 0 or 1 for less/equal/greater\n */\n\n\n compare(other) {\n return this._innerValue.compare(other.toICALJs());\n }\n /**\n * Clones this value\n *\n * @returns {UTCOffsetValue}\n */\n\n\n clone() {\n return UTCOffsetValue.fromICALJs(this._innerValue.clone());\n }\n /**\n * Create a new UTCOffsetValue object from a ICAL.UTCOffset object\n *\n * @param {ICAL.UtcOffset} icalValue - The ICAL.UtcOffset object to initialize this object from\n * @returns {UTCOffsetValue}\n */\n\n\n static fromICALJs(icalValue) {\n return new UTCOffsetValue(icalValue);\n }\n /**\n * Create a new UTCOffsetValue object from a data object\n *\n * @param {Object} data - Object with data to create UTCOffsetValue object from\n * @param {Number=} data.hours - The number of hours to set\n * @param {Number=} data.minutes - The number of minutes to set\n * @param {Number=} data.factor - The factor to use, 1 for positive, -1 for negative\n * @returns {UTCOffsetValue}\n */\n\n\n static fromData(data) {\n const icalUTCOffset = new ICAL.UtcOffset();\n icalUTCOffset.fromData(data);\n return UTCOffsetValue.fromICALJs(icalUTCOffset);\n }\n /**\n * Create a new UTCOffsetValue object from an amount of seconds\n *w\n * @param {Number} seconds - The total number of seconds to create the UTCOffsetValue object from\n * @returns {UTCOffsetValue}\n */\n\n\n static fromSeconds(seconds) {\n const icalUTCOffset = ICAL.UtcOffset.fromSeconds(seconds);\n return UTCOffsetValue.fromICALJs(icalUTCOffset);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass UnknownICALTypeError extends Error {}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @author Richard Steinmetz \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n *\n * @param {String} icaltype The icaltype to get a Value constructor for\n * @returns {RecurValue|PeriodValue|BinaryValue|DurationValue|UTCOffsetValue|DateTimeValue}\n */\n\nfunction getConstructorForICALType(icaltype) {\n switch (lc(icaltype)) {\n case 'binary':\n return BinaryValue;\n\n case 'date':\n case 'date-time':\n return DateTimeValue;\n\n case 'duration':\n return DurationValue;\n\n case 'period':\n return PeriodValue;\n\n case 'recur':\n return RecurValue;\n\n case 'utc-offset':\n return UTCOffsetValue;\n\n default:\n throw new UnknownICALTypeError();\n }\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class Property\n * @classdesc This class represents a property as defined in RFC 5545 Section 3.5\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.5\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/property.js\n */\n\nclass Property extends observerTrait(lockableTrait(class {})) {\n /**\n * Constructor\n *\n * @param {String} name The name of the property\n * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value of the property\n * @param {Parameter[]|[String][]} parameters Array of parameters\n * @param {CalendarComponent|null} root The root of the calendar-document\n * @param {AbstractComponent|null} parent The parent-element of this property\n */\n constructor(name, value = null, parameters = [], root = null, parent = null) {\n super();\n /**\n * Name of the property\n *\n * @type {String}\n * @protected\n */\n\n this._name = uc(name);\n /**\n * Value of the property\n *\n * @type {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n * @protected\n */\n\n this._value = value;\n /**\n * List of parameters associated with this parameter\n *\n * @type {Map}\n */\n\n this._parameters = new Map();\n /**\n * Root node of ical document\n *\n * @type {CalendarComponent|null}\n * @protected\n */\n\n this._root = root;\n /**\n * Parent node\n *\n * @type {AbstractComponent|null}\n * @protected\n */\n\n this._parent = parent;\n\n this._setParametersFromConstructor(parameters);\n\n if (value instanceof AbstractValue) {\n value.subscribe(() => this._notifySubscribers());\n }\n }\n /**\n * Get property name\n *\n * @readonly\n * @returns {String}\n */\n\n\n get name() {\n return this._name;\n }\n /**\n * Get parameter value\n *\n * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n */\n\n\n get value() {\n return this._value;\n }\n /**\n * Set new parameter value\n *\n * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value of the property\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n set value(value) {\n this._modifyContent();\n\n this._value = value;\n\n if (value instanceof AbstractValue) {\n value.subscribe(() => this._notifySubscribers());\n }\n }\n /**\n * Gets the root of this property\n *\n * @returns {CalendarComponent|null}\n */\n\n\n get root() {\n return this._root;\n }\n /**\n * Sets the root of this property\n *\n * @param {CalendarComponent|null} root The root of the calendar-document\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n set root(root) {\n this._modify();\n\n this._root = root;\n }\n /**\n * Gets the direct parent element of this property\n *\n * @returns {AbstractComponent}\n */\n\n\n get parent() {\n return this._parent;\n }\n /**\n * Sets the direct parent element of this property\n *\n * @param {AbstractComponent|null} parent The parent element of this property\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n set parent(parent) {\n this._modify();\n\n this._parent = parent;\n }\n /**\n * Gets the first value of this property\n *\n * @returns {null|String|Number|AbstractValue}\n */\n\n\n getFirstValue() {\n if (!this.isMultiValue()) {\n return this.value;\n } else {\n if (this.value.length > 0) {\n return this.value[0];\n }\n }\n\n return null;\n }\n /**\n * Gets an iterator over all values\n */\n\n\n *getValueIterator() {\n if (this.isMultiValue()) {\n yield* this.value.slice()[Symbol.iterator]();\n } else {\n yield this.value;\n }\n }\n /**\n * Adds a value to the multi-value property\n *\n * @param {String|AbstractValue} value Value to add\n */\n\n\n addValue(value) {\n if (!this.isMultiValue()) {\n throw new TypeError('This is not a multivalue property');\n }\n\n this._modifyContent();\n\n this.value.push(value);\n }\n /**\n * Checks if a value is inside this multi-value property\n *\n * @param {String|AbstractValue} value Value to check for\n * @returns {Boolean}\n */\n\n\n hasValue(value) {\n if (!this.isMultiValue()) {\n throw new TypeError('This is not a multivalue property');\n }\n\n return this.value.includes(value);\n }\n /**\n * Removes a value from this multi-value property\n *\n * @param {String|AbstractValue} value Value to remove\n */\n\n\n removeValue(value) {\n if (!this.hasValue(value)) {\n return;\n }\n\n this._modifyContent();\n\n const index = this.value.indexOf(value);\n this.value.splice(index, 1);\n }\n /**\n * Sets a parameter on this property\n *\n * @param {Parameter} parameter The parameter to set\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n setParameter(parameter) {\n this._modify();\n\n this._parameters.set(parameter.name, parameter);\n\n parameter.subscribe(() => this._notifySubscribers());\n }\n /**\n * Gets a parameter on this property by its name\n *\n * @param {String} parameterName Name of the parameter to get\n * @returns {Parameter}\n */\n\n\n getParameter(parameterName) {\n return this._parameters.get(uc(parameterName));\n }\n /**\n * Gets an iterator over all available parameters\n */\n\n\n *getParametersIterator() {\n yield* this._parameters.values();\n }\n /**\n * Get first value of a parameter\n *\n * @param {String} parameterName Name of the parameter\n * @returns {null|String}\n */\n\n\n getParameterFirstValue(parameterName) {\n const parameter = this.getParameter(parameterName);\n\n if (parameter instanceof Parameter) {\n if (parameter.isMultiValue()) {\n return parameter.value[0];\n } else {\n return parameter.value;\n }\n }\n\n return null;\n }\n /**\n * Returns whether a parameter exists on this property\n *\n * @param {String} parameterName Name of the parameter\n * @returns {boolean}\n */\n\n\n hasParameter(parameterName) {\n return this._parameters.has(uc(parameterName));\n }\n /**\n * Deletes a parameter on this property\n *\n * @param {String} parameterName Name of the parameter\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n deleteParameter(parameterName) {\n this._modify();\n\n this._parameters.delete(uc(parameterName));\n }\n /**\n * update a parameter if it exists,\n * create a new one if it doesn't\n *\n * @param {String} parameterName Name of the parameter\n * @param {string|Array|null} value Value to set\n * @throws {ModificationNotAllowedError} if property is locked for modification\n */\n\n\n updateParameterIfExist(parameterName, value) {\n this._modify();\n\n if (this.hasParameter(parameterName)) {\n const parameter = this.getParameter(parameterName);\n parameter.value = value;\n } else {\n const parameter = new Parameter(uc(parameterName), value);\n this.setParameter(parameter);\n }\n }\n /**\n * Returns whether or not the value is a multivalue\n *\n * @returns {Boolean}\n */\n\n\n isMultiValue() {\n return Array.isArray(this._value);\n }\n /**\n * Returns whether or not this valus is decorated\n *\n * @returns {boolean}\n */\n\n\n isDecoratedValue() {\n if (this.isMultiValue()) {\n return this._value[0] instanceof AbstractValue;\n } else {\n return this._value instanceof AbstractValue;\n }\n }\n /**\n * Marks this parameter is immutable\n * locks it against further modification\n */\n\n\n lock() {\n super.lock();\n\n for (const parameter of this.getParametersIterator()) {\n parameter.lock();\n }\n\n if (this.isDecoratedValue()) {\n for (const value of this.getValueIterator()) {\n value.lock();\n }\n }\n }\n /**\n * Marks this parameter as mutable\n * allowing further modification\n */\n\n\n unlock() {\n super.unlock();\n\n for (const parameter of this.getParametersIterator()) {\n parameter.unlock();\n }\n\n if (this.isDecoratedValue()) {\n for (const value of this.getValueIterator()) {\n value.unlock();\n }\n }\n }\n /**\n * Creates a copy of this parameter\n *\n * @returns {Property}\n */\n\n\n clone() {\n const parameters = [];\n\n for (const parameter of this.getParametersIterator()) {\n parameters.push(parameter.clone());\n }\n\n return new this.constructor(this.name, this._cloneValue(), parameters, this.root, this.parent);\n }\n /**\n * Copies the values of this property\n *\n * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n * @protected\n */\n\n\n _cloneValue() {\n if (this.isDecoratedValue()) {\n if (this.isMultiValue()) {\n return this._value.map(val => val.clone());\n } else {\n return this._value.clone();\n }\n } else {\n if (this.isMultiValue()) {\n // only copy array values, don't copy array reference\n return this._value.slice();\n } else {\n return this._value;\n }\n }\n }\n /**\n * Sets parameters from the constructor\n *\n * @param {Parameter[]|[String][]} parameters Array of parameters to set\n * @private\n */\n\n\n _setParametersFromConstructor(parameters) {\n parameters.forEach(parameter => {\n if (!(parameter instanceof Parameter)) {\n parameter = new Parameter(parameter[0], parameter[1]);\n }\n\n this.setParameter(parameter);\n });\n }\n /**\n * Creates a new Component based on an ical object\n *\n * @param {ICAL.Property} icalProperty The ical.js property to initialise from\n * @param {CalendarComponent=} root The root of the calendar-document\n * @param {AbstractComponent=} parent The parent element of this property\n * @returns {Property}\n */\n\n\n static fromICALJs(icalProperty, root = null, parent = null) {\n if (!(icalProperty instanceof ICAL.Property)) {\n throw new ExpectedICalJSError();\n }\n\n let value;\n\n if (icalProperty.isDecorated) {\n const constructor = getConstructorForICALType(icalProperty.getFirstValue().icaltype);\n\n if (icalProperty.isMultiValue) {\n value = icalProperty.getValues().map(val => constructor.fromICALJs(val));\n } else {\n value = constructor.fromICALJs(icalProperty.getFirstValue());\n }\n } else {\n if (icalProperty.isMultiValue) {\n value = icalProperty.getValues();\n } else {\n value = icalProperty.getFirstValue();\n }\n }\n\n const parameters = [];\n const paramNames = Object.keys(Object.assign({}, icalProperty.toJSON()[1]));\n paramNames.forEach(paramName => {\n // Timezone id is handled by DateTimeValue\n if (uc(paramName) === 'TZID') {\n return;\n }\n\n parameters.push([paramName, icalProperty.getParameter(paramName)]);\n });\n return new this(icalProperty.name, value, parameters, root, parent);\n }\n /**\n * Returns an ICAL.js property based on this Property\n *\n * @returns {ICAL.Property}\n */\n\n\n toICALJs() {\n const icalProperty = createProperty(lc(this.name));\n\n if (this.isMultiValue()) {\n if (this.isDecoratedValue()) {\n icalProperty.setValues(this.value.map(val => val.toICALJs()));\n } else {\n icalProperty.setValues(this.value);\n }\n } else {\n if (this.isDecoratedValue()) {\n icalProperty.setValue(this.value.toICALJs());\n } else {\n icalProperty.setValue(this.value);\n }\n }\n\n for (const parameter of this.getParametersIterator()) {\n icalProperty.setParameter(lc(parameter.name), parameter.value);\n }\n\n const firstValue = this.getFirstValue();\n\n if (firstValue instanceof DateTimeValue && firstValue.timezoneId !== 'floating' && firstValue.timezoneId !== 'UTC' && !firstValue.isDate) {\n icalProperty.setParameter('tzid', firstValue.timezoneId);\n }\n\n return icalProperty;\n }\n /**\n * @inheritDoc\n */\n\n\n _modifyContent() {\n super._modifyContent();\n\n this._notifySubscribers();\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class AttachmentProperty\n * @classdesc This class represents an attachment property as defined in RFC 5545 Section 3.8.1.1\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.1\n */\n\nclass AttachmentProperty extends Property {\n /**\n * Gets the format-type of this attachment\n *\n * @returns {String}\n */\n get formatType() {\n return this.getParameterFirstValue('FMTTYPE');\n }\n /**\n * Sets the format-type of this attachment\n *\n * @param {String} fmtType Mime-type of attachment\n */\n\n\n set formatType(fmtType) {\n this.updateParameterIfExist('FMTTYPE', fmtType);\n }\n /**\n * Gets the uri of this attachment\n *\n * @returns {String|null}\n */\n\n\n get uri() {\n if (this._value instanceof BinaryValue) {\n return null;\n }\n\n return this._value;\n }\n /**\n * Sets the uri of this attachment\n *\n * @param {String} uri Link to attachment if applicable\n */\n\n\n set uri(uri) {\n this.value = uri;\n }\n /**\n * Gets the encoding of this attachment\n *\n * @returns {string|null}\n */\n\n\n get encoding() {\n if (this._value instanceof BinaryValue) {\n return 'BASE64';\n }\n\n return null;\n }\n /**\n * Gets the data stored in this attachment\n *\n * @returns {String|null}\n */\n\n\n get data() {\n if (this._value instanceof BinaryValue) {\n return this._value.value;\n }\n\n return null;\n }\n /**\n * Sets the data stored in this attachment\n *\n * @param {String} data The data of the attachment\n */\n\n\n set data(data) {\n if (this.value instanceof BinaryValue) {\n this.value.value = data;\n } else {\n this.value = BinaryValue.fromDecodedValue(data);\n }\n }\n /**\n * @inheritDoc\n */\n\n\n toICALJs() {\n const icalProperty = super.toICALJs();\n\n if (this._value instanceof BinaryValue) {\n icalProperty.setParameter('ENCODING', 'BASE64');\n }\n\n return icalProperty;\n }\n /**\n * Creates a new AttachmentProperty based on data\n *\n * @param {String} data The data of the attachment\n * @param {String=} formatType The mime-type of the data\n * @returns {AttachmentProperty}\n */\n\n\n static fromData(data, formatType = null) {\n const binaryValue = BinaryValue.fromDecodedValue(data);\n const property = new AttachmentProperty('ATTACH', binaryValue);\n\n if (formatType) {\n property.formatType = formatType;\n }\n\n return property;\n }\n /**\n * Creates a new AttachmentProperty based on a link\n *\n * @param {String} uri The URI for the attachment\n * @param {String=} formatType The mime-type of the uri\n * @returns {AttachmentProperty}\n */\n\n\n static fromLink(uri, formatType = null) {\n const property = new AttachmentProperty('ATTACH', uri);\n\n if (formatType) {\n property.formatType = formatType;\n }\n\n return property;\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class AttendeeProperty\n * @classdesc This class represents an attendee property as defined in RFC 5545 Section 3.8.4.1\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n */\n\nclass AttendeeProperty extends Property {\n /**\n * Returns the role of the attendee.\n *\n * @returns {string}\n */\n get role() {\n const allowed = ['CHAIR', 'REQ-PARTICIPANT', 'OPT-PARTICIPANT', 'NON-PARTICIPANT'];\n const defaultValue = 'REQ-PARTICIPANT';\n\n if (this.hasParameter('ROLE')) {\n const value = this.getParameterFirstValue('ROLE');\n\n if (allowed.includes(value)) {\n return value;\n }\n }\n\n return defaultValue;\n }\n /**\n * Sets new role of the attendee\n *\n * @param {String} role The role of the attendee (e.g. CHAIR, REQ-PARTICIPANT)\n */\n\n\n set role(role) {\n this.updateParameterIfExist('ROLE', role);\n }\n /**\n * Returns the calendar-user-type of an attendee\n *\n * @returns {string}\n */\n\n\n get userType() {\n const allowed = ['INDIVIDUAL', 'GROUP', 'RESOURCE', 'ROOM', 'UNKNOWN'];\n\n if (!this.hasParameter('CUTYPE')) {\n return 'INDIVIDUAL';\n } else {\n const value = this.getParameterFirstValue('CUTYPE');\n\n if (allowed.includes(value)) {\n return value;\n }\n\n return 'UNKNOWN';\n }\n }\n /**\n * Sets new calendar-user-type of attendee\n *\n * @param {String} userType The type of user (e.g. INDIVIDUAL, GROUP)\n */\n\n\n set userType(userType) {\n this.updateParameterIfExist('CUTYPE', userType);\n }\n /**\n * Returns the \"Répondez s'il vous plaît\" value for attendee\n *\n * @returns {boolean}\n */\n\n\n get rsvp() {\n if (!this.hasParameter('RSVP')) {\n return false;\n } else {\n const value = this.getParameterFirstValue('RSVP');\n return uc(value) === 'TRUE';\n }\n }\n /**\n * Updates the \"Répondez s'il vous plaît\" value for attendee\n *\n * @param {boolean} rsvp Whether or not to send out an invitation\n */\n\n\n set rsvp(rsvp) {\n this.updateParameterIfExist('RSVP', rsvp ? 'TRUE' : 'FALSE');\n }\n /**\n * Returns the common-name of the attendee\n *\n * @returns {string|null}\n */\n\n\n get commonName() {\n return this.getParameterFirstValue('CN');\n }\n /**\n * Sets a new common-name of the attendee\n *\n * @param {string} commonName The display name of the attendee\n */\n\n\n set commonName(commonName) {\n this.updateParameterIfExist('CN', commonName);\n }\n /**\n * Returns the participation-status of the attendee\n *\n * @returns {string}\n */\n\n\n get participationStatus() {\n let vobjectType;\n\n if (this.parent) {\n vobjectType = this.parent.name;\n } else {\n // let's assume we are inside an event\n // if we don't know better\n vobjectType = 'VEVENT';\n }\n\n const allowed = {\n VEVENT: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED', 'TENTATIVE', 'DELEGATED'],\n VJOURNAL: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED'],\n VTODO: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED', 'TENTATIVE', 'DELEGATED', 'COMPLETED', 'IN-PROCESS']\n };\n\n if (!this.hasParameter('PARTSTAT')) {\n return 'NEEDS-ACTION';\n } else {\n const value = this.getParameterFirstValue('PARTSTAT');\n\n if (allowed[vobjectType].includes(value)) {\n return value;\n }\n\n return 'NEEDS-ACTION';\n }\n }\n /**\n * Sets a new participation-status of the attendee\n *\n * @param {String} participationStatus The participation status (e.g. ACCEPTED, DECLINED)\n */\n\n\n set participationStatus(participationStatus) {\n this.updateParameterIfExist('PARTSTAT', participationStatus);\n }\n /**\n * Gets this attendee's language\n *\n * @returns {String}\n */\n\n\n get language() {\n return this.getParameterFirstValue('LANGUAGE');\n }\n /**\n * Sets this attendee's language\n * This can be used to influence the language of the invitation email\n *\n * @param {String} language The preferred language of the attendee\n */\n\n\n set language(language) {\n this.updateParameterIfExist('LANGUAGE', language);\n }\n /**\n * Gets the email of the attendee\n *\n * @returns {String}\n */\n\n\n get email() {\n return this.value;\n }\n /**\n * Sets the email address of the attendee\n *\n * @param {String} email The e-email address of the attendee\n */\n\n\n set email(email) {\n this.value = startStringWith(email, 'mailto:');\n }\n /**\n * Is this attendee the organizer?\n *\n * @returns {boolean}\n */\n\n\n isOrganizer() {\n return this._name === 'ORGANIZER';\n }\n /**\n * Creates a new AttendeeProperty from name and email\n *\n * @param {String} name The display name\n * @param {String} email The email address\n * @param {Boolean=} isOrganizer Whether this is the organizer or an attendee\n * @returns {AttendeeProperty}\n */\n\n\n static fromNameAndEMail(name, email, isOrganizer = false) {\n const propertyName = isOrganizer ? 'ORGANIZER' : 'ATTENDEE';\n email = startStringWith(email, 'mailto:');\n return new AttendeeProperty(propertyName, email, [['CN', name]]);\n }\n /**\n * Creates a new AttendeeProperty from name, email, role, userType and rsvp\n *\n * @param {String} name The display name\n * @param {String} email The email address\n * @param {String} role The role\n * @param {String} userType The type of user\n * @param {Boolean} rsvp Whether to send out an invitation\n * @param {Boolean=} isOrganizer Whether this is the organizer or an attendee\n * @returns {AttendeeProperty}\n */\n\n\n static fromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp, isOrganizer = false) {\n const propertyName = isOrganizer ? 'ORGANIZER' : 'ATTENDEE';\n email = startStringWith(email, 'mailto:');\n return new AttendeeProperty(propertyName, email, [['CN', name], ['ROLE', role], ['CUTYPE', userType], ['RSVP', rsvp ? 'TRUE' : 'FALSE']]);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nICAL.design.icalendar.property.conference = {\n defaultType: 'uri'\n};\nICAL.design.icalendar.param.feature = {\n valueType: 'cal-address',\n multiValue: ','\n};\n/**\n * @class ConferenceProperty\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n */\n\nclass ConferenceProperty extends Property {\n /**\n * Iterator that iterates over all supported features\n * of the conference system\n */\n *getFeatureIterator() {\n if (!this.hasParameter('FEATURE')) {\n return;\n }\n\n const parameter = this.getParameter('FEATURE');\n yield* parameter.getValueIterator();\n }\n /**\n * Lists all supported features of the conference system\n *\n * @returns {String[]}\n */\n\n\n listAllFeatures() {\n if (!this.hasParameter('FEATURE')) {\n return [];\n }\n\n return this.getParameter('FEATURE').value.slice();\n }\n /**\n * Adds a supported feature to the conference system\n *\n * @param {String} featureToAdd Feature to add\n */\n\n\n addFeature(featureToAdd) {\n this._modify();\n\n if (!this.hasParameter('FEATURE')) {\n this.updateParameterIfExist('FEATURE', [featureToAdd]);\n } else {\n if (this.hasFeature(featureToAdd)) {\n return;\n }\n\n const parameter = this.getParameter('FEATURE');\n parameter.value.push(featureToAdd);\n }\n }\n /**\n * Removes a supported feature\n *\n * @param {String} feature The feature to remove\n */\n\n\n removeFeature(feature) {\n this._modify();\n\n if (!this.hasFeature(feature)) {\n return;\n }\n\n const parameter = this.getParameter('FEATURE');\n const index = parameter.value.indexOf(feature);\n parameter.value.splice(index, 1);\n }\n /**\n * Removes all supported features from this conference system\n */\n\n\n clearAllFeatures() {\n this.deleteParameter('FEATURE');\n }\n /**\n * Check if this conference system supports a feature\n *\n * @param {String} feature The feature to check\n * @returns {boolean}\n */\n\n\n hasFeature(feature) {\n if (!this.hasParameter('FEATURE')) {\n return false;\n }\n\n const parameter = this.getParameter('FEATURE');\n\n if (!Array.isArray(parameter.value)) {\n return false;\n }\n\n return parameter.value.includes(feature);\n }\n /**\n * Gets label for the conference system\n *\n * @returns {String}\n */\n\n\n get label() {\n return this.getParameterFirstValue('LABEL');\n }\n /**\n * Updates the label for the conference system\n *\n * @param {String} label The label to set\n */\n\n\n set label(label) {\n this.updateParameterIfExist('LABEL', label);\n }\n /**\n * Gets the uri for this conference system\n */\n\n\n get uri() {\n return this.value;\n }\n /**\n * Sets the uri for this conference system\n *\n * @param {String} uri The URI to set\n */\n\n\n set uri(uri) {\n this.value = uri;\n }\n /**\n * @inheritDoc\n */\n\n\n toICALJs() {\n const icalProperty = super.toICALJs();\n icalProperty.setParameter('value', 'URI');\n return icalProperty;\n }\n /**\n * Creates a new ConferenceProperty based on URI, label and features\n *\n * @param {String} uri URI of the Conference\n * @param {String=} label Label of the conference\n * @param {String[]=} features Features of the conference\n * @returns {ConferenceProperty}\n */\n\n\n static fromURILabelAndFeatures(uri, label = null, features = null) {\n const property = new ConferenceProperty('CONFERENCE', uri);\n\n if (label) {\n property.updateParameterIfExist('label', label);\n }\n\n if (features) {\n property.updateParameterIfExist('feature', features);\n }\n\n return property;\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class FreeBusyProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.6\n */\n\nclass FreeBusyProperty extends Property {\n /**\n * Gets the type of this FreeBusyProperty\n *\n * @returns {String}\n */\n get type() {\n const allowed = ['FREE', 'BUSY', 'BUSY-UNAVAILABLE', 'BUSY-TENTATIVE'];\n const defaultValue = 'BUSY';\n\n if (this.hasParameter('FBTYPE')) {\n const value = this.getParameterFirstValue('FBTYPE');\n\n if (allowed.includes(value)) {\n return value;\n }\n }\n\n return defaultValue;\n }\n /**\n * Sets the type of this FreeBusyProperty\n *\n * @param {String} type The type of information (e.g. FREE, BUSY, etc.)\n */\n\n\n set type(type) {\n this.updateParameterIfExist('FBTYPE', type);\n }\n /**\n * Creates a new FreeBusyProperty based on period and type\n *\n * @param {PeriodValue} period The period for FreeBusy Information\n * @param {String} type The type of the period\n * @returns {FreeBusyProperty}\n */\n\n\n static fromPeriodAndType(period, type) {\n return new FreeBusyProperty('FREEBUSY', period, [['fbtype', type]]);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class GeoProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n */\n\nclass GeoProperty extends Property {\n /**\n * @inheritDoc\n */\n constructor(name, value = [0, 0], parameters = [], root = null, parent = null) {\n super(name, value, parameters, root, parent);\n }\n /**\n * Gets the latitude stored in this property\n *\n * @returns {Number}\n */\n\n\n get latitude() {\n return this._value[0];\n }\n /**\n * Sets the latitude stored in this property\n *\n * @param {String|Number} lat Latitude\n */\n\n\n set latitude(lat) {\n this._modifyContent();\n\n if (typeof lat !== 'number') {\n lat = parseFloat(lat);\n }\n\n this._value[0] = lat;\n }\n /**\n * Gets the longitude stored in this property\n */\n\n\n get longitude() {\n return this._value[1];\n }\n /**\n * Sets the longitude stored in this property\n *\n * @param {String|Number} long Longitude\n */\n\n\n set longitude(long) {\n this._modifyContent();\n\n if (typeof long !== 'number') {\n long = parseFloat(long);\n }\n\n this._value[1] = long;\n }\n /**\n * @inheritDoc\n *\n * TODO: this is an ugly hack right now.\n * As soon as the value is an array, we assume it's multivalue\n * but GEO is a (the one and only besides request-status) structured value and is also\n * stored inside an array.\n *\n * Calling icalProperty.setValues will throw an error\n */\n\n\n toICALJs() {\n const icalProperty = createProperty(lc(this.name));\n icalProperty.setValue(this.value);\n\n this._parameters.forEach(parameter => {\n icalProperty.setParameter(lc(parameter.name), parameter.value);\n });\n\n return icalProperty;\n }\n /**\n * Creates a new GeoProperty based on a latitude and a longitude value\n *\n * @param {Number} lat Latitude\n * @param {Number} long Longitude\n * @returns {GeoProperty}\n */\n\n\n static fromPosition(lat, long) {\n return new GeoProperty('GEO', [lat, long]);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ImageProperty\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.10\n */\n\nclass ImageProperty extends AttachmentProperty {\n /**\n * Gets the image-type\n */\n get display() {\n return this.getParameterFirstValue('DISPLAY') || 'BADGE';\n }\n /**\n * Gets the image-type\n *\n * @param {String} display The display-type image is optimized for\n */\n\n\n set display(display) {\n this.updateParameterIfExist('DISPLAY', display);\n }\n /**\n * Creates a new ImageProperty based on data\n *\n * @param {String} data The data of the image\n * @param {String=} display The display-type it's optimized for\n * @param {String=} formatType The mime-type of the image\n * @returns {ImageProperty}\n */\n\n\n static fromData(data, display = null, formatType = null) {\n const binaryValue = BinaryValue.fromDecodedValue(data);\n const property = new ImageProperty('IMAGE', binaryValue);\n\n if (display) {\n property.display = display;\n }\n\n if (formatType) {\n property.formatType = formatType;\n }\n\n return property;\n }\n /**\n * Creates a new ImageProperty based on a link\n *\n * @param {String} uri The uri of the image\n * @param {String=} display The display-type it's optimized for\n * @param {String=} formatType The mime-type of the image\n * @returns {ImageProperty}\n */\n\n\n static fromLink(uri, display = null, formatType = null) {\n const property = new ImageProperty('IMAGE', uri);\n\n if (display) {\n property.display = display;\n }\n\n if (formatType) {\n property.formatType = formatType;\n }\n\n return property;\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class RelationProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.5\n */\n\nclass RelationProperty extends Property {\n /**\n * Get's the relation-type of this related-to property\n *\n * @returns {String}\n */\n get relationType() {\n const allowed = ['PARENT', 'CHILD', 'SIBLING'];\n const defaultValue = 'PARENT';\n\n if (!this.hasParameter('RELTYPE')) {\n return defaultValue;\n } else {\n const value = this.getParameterFirstValue('RELTYPE');\n\n if (allowed.includes(value)) {\n return value;\n }\n\n return defaultValue;\n }\n }\n /**\n * Sets a new relation type\n *\n * @param {String} relationType The type of relation (e.g. SIBLING, PARENT, etc.)\n */\n\n\n set relationType(relationType) {\n this.updateParameterIfExist('RELTYPE', relationType);\n }\n /**\n * Gets Id of related object\n *\n * @returns {String}\n */\n\n\n get relatedId() {\n return this.value;\n }\n /**\n * Sets a new related id\n *\n * @param {String} relatedId The Id of the related document\n */\n\n\n set relatedId(relatedId) {\n this.value = relatedId;\n }\n /**\n * Creates a new RELATED-TO property based on a relation-type and id\n *\n * @param {String} relType The type of the relation (e.g. SIBLING, CHILD)\n * @param {String} relId The Id of the related document\n * @returns {RelationProperty}\n */\n\n\n static fromRelTypeAndId(relType, relId) {\n return new RelationProperty('RELATED-TO', relId, [['RELTYPE', relType]]);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class RequestStatusProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.8.3\n */\n\nclass RequestStatusProperty extends Property {\n /**\n * @inheritDoc\n */\n constructor(name, value = ['1', 'Pending'], parameters = [], root = null, parent = null) {\n super(name, value, parameters, root, parent);\n }\n /**\n * Gets the status code of the request status\n *\n * @returns {Number}\n */\n\n\n get statusCode() {\n return parseFloat(this.value[0]);\n }\n /**\n * Sets the status code of the request status\n *\n * @param {Number} statusCode The statusCode of the request\n */\n\n\n set statusCode(statusCode) {\n this._modifyContent();\n\n this.value[0] = statusCode.toString(); // This makes sure 2.0 is actually saved as 2.0, not 2\n\n if (statusCode === Math.floor(statusCode)) {\n this.value[0] += '.0';\n }\n }\n /**\n * Gets the status message of the request status\n *\n * @returns {string}\n */\n\n\n get statusMessage() {\n return this.value[1];\n }\n /**\n * Sets the status message of the request status\n *\n * @param {String} statusMessage The message of the request\n */\n\n\n set statusMessage(statusMessage) {\n this._modifyContent();\n\n this.value[1] = statusMessage;\n }\n /**\n * Gets the exception data of the request status if available\n *\n * @returns {null|String}\n */\n\n\n get exceptionData() {\n if (!this.value[2]) {\n return null;\n }\n\n return this.value[2];\n }\n /**\n * Sets the exception dtat of the request status\n *\n * @param {String} exceptionData The additional exception-data\n */\n\n\n set exceptionData(exceptionData) {\n this._modifyContent();\n\n this.value[2] = exceptionData;\n }\n /**\n * Check if request is pending\n *\n * @returns {boolean}\n */\n\n\n isPending() {\n return this.statusCode >= 1 && this.statusCode < 2;\n }\n /**\n * Check if request was successful\n *\n * @returns {boolean}\n */\n\n\n isSuccessful() {\n return this.statusCode >= 2 && this.statusCode < 3;\n }\n /**\n * Check if a client error occurred\n *\n * @returns {boolean}\n */\n\n\n isClientError() {\n return this.statusCode >= 3 && this.statusCode < 4;\n }\n /**\n * Check if a scheduling error occurred\n *\n * @returns {boolean}\n */\n\n\n isSchedulingError() {\n return this.statusCode >= 4 && this.statusCode < 5;\n }\n /**\n * @inheritDoc\n *\n * TODO: this is an ugly hack right now.\n * As soon as the value is an array, we assume it's multivalue\n * but REQUEST-STATUS is a (the one and only besides GEO) structured value and is also\n * stored inside an array.\n *\n * Calling icalProperty.setValues will throw an error\n */\n\n\n toICALJs() {\n const icalProperty = createProperty(lc(this.name));\n icalProperty.setValue(this.value);\n\n this._parameters.forEach(parameter => {\n icalProperty.setParameter(lc(parameter.name), parameter.value);\n });\n\n return icalProperty;\n }\n /**\n * Creates a new RequestStatusProperty from a code and a status message\n *\n * @param {Number} code The status-code of the request\n * @param {String} message The message of the request\n * @returns {RequestStatusProperty}\n */\n\n\n static fromCodeAndMessage(code, message) {\n return new RequestStatusProperty('REQUEST-STATUS', [code.toString(), message]);\n }\n\n} // All request statuses registered in RFC 5546\n\nRequestStatusProperty.SUCCESS = [2.0, 'Success'];\nRequestStatusProperty.SUCCESS_FALLBACK = [2.1, 'Success, but fallback taken on one or more property values.'];\nRequestStatusProperty.SUCCESS_PROP_IGNORED = [2.2, 'Success; invalid property ignored.'];\nRequestStatusProperty.SUCCESS_PROPPARAM_IGNORED = [2.3, 'Success; invalid property parameter ignored.'];\nRequestStatusProperty.SUCCESS_NONSTANDARD_PROP_IGNORED = [2.4, 'Success; unknown, non-standard property ignored.'];\nRequestStatusProperty.SUCCESS_NONSTANDARD_PROPPARAM_IGNORED = [2.5, 'Success; unknown, non-standard property value ignored.'];\nRequestStatusProperty.SUCCESS_COMP_IGNORED = [2.6, 'Success; invalid calendar component ignored.'];\nRequestStatusProperty.SUCCESS_FORWARDED = [2.7, 'Success; request forwarded to Calendar User.'];\nRequestStatusProperty.SUCCESS_REPEATING_IGNORED = [2.8, 'Success; repeating event ignored. Scheduled as a single component.'];\nRequestStatusProperty.SUCCESS_TRUNCATED_END = [2.9, 'Success; truncated end date time to date boundary.'];\nRequestStatusProperty.SUCCESS_REPEATING_VTODO_IGNORED = [2.10, 'Success; repeating VTODO ignored. Scheduled as a single VTODO.'];\nRequestStatusProperty.SUCCESS_UNBOUND_RRULE_CLIPPED = [2.11, 'Success; unbounded RRULE clipped at some finite number of instances.'];\nRequestStatusProperty.CLIENT_INVALID_PROPNAME = [3.0, 'Invalid property name.'];\nRequestStatusProperty.CLIENT_INVALID_PROPVALUE = [3.1, 'Invalid property value.'];\nRequestStatusProperty.CLIENT_INVALID_PROPPARAM = [3.2, 'Invalid property parameter.'];\nRequestStatusProperty.CLIENT_INVALID_PROPPARAMVALUE = [3.3, 'Invalid property parameter value.'];\nRequestStatusProperty.CLIENT_INVALUD_CALENDAR_COMP_SEQ = [3.4, 'Invalid calendar component sequence.'];\nRequestStatusProperty.CLIENT_INVALID_DATE_TIME = [3.5, 'Invalid date or time.'];\nRequestStatusProperty.CLIENT_INVALID_RRULE = [3.6, 'Invalid rule.'];\nRequestStatusProperty.CLIENT_INVALID_CU = [3.7, 'Invalid Calendar User.'];\nRequestStatusProperty.CLIENT_NO_AUTHORITY = [3.8, 'No authority.'];\nRequestStatusProperty.CLIENT_UNSUPPORTED_VERSION = [3.9, 'Unsupported version.'];\nRequestStatusProperty.CLIENT_TOO_LARGE = [3.10, 'Request entity too large.'];\nRequestStatusProperty.CLIENT_REQUIRED_COMP_OR_PROP_MISSING = [3.11, 'Required component or property missing.'];\nRequestStatusProperty.CLIENT_UNKNOWN_COMP_OR_PROP = [3.12, 'Unknown component or property found.'];\nRequestStatusProperty.CLIENT_UNSUPPORTED_COMP_OR_PROP = [3.13, 'Unsupported component or property found.'];\nRequestStatusProperty.CLIENT_UNSUPPORTED_CAPABILITY = [3.14, 'Unsupported capability.'];\nRequestStatusProperty.SCHEDULING_EVENT_CONFLICT = [4.0, 'Event conflict. Date/time is busy.'];\nRequestStatusProperty.SERVER_REQUEST_NOT_SUPPORTED = [5.0, 'Request not supported.'];\nRequestStatusProperty.SERVER_SERVICE_UNAVAILABLE = [5.1, 'Service unavailable.'];\nRequestStatusProperty.SERVER_INVALID_CALENDAR_SERVICE = [5.2, 'Invalid calendar service.'];\nRequestStatusProperty.SERVER_NO_SCHEDULING_FOR_USER = [5.3, 'No scheduling support for user.'];\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class TextProperty\n * @classdesc\n */\n\nclass TextProperty extends Property {\n /**\n * Gets the alternate text\n *\n * @returns {String}\n */\n get alternateText() {\n return this.getParameterFirstValue('ALTREP');\n }\n /**\n * Sets the alternate text\n *\n * @param {String} altRep The alternative text\n */\n\n\n set alternateText(altRep) {\n this.updateParameterIfExist('ALTREP', altRep);\n }\n /**\n * Gets language of this property\n *\n * @returns {String}\n */\n\n\n get language() {\n return this.getParameterFirstValue('LANGUAGE');\n }\n /**\n * Sets language of this property\n *\n * @param {String} language The language of the text\n */\n\n\n set language(language) {\n this.updateParameterIfExist('LANGUAGE', language);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class TriggerProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.3\n */\n\nclass TriggerProperty extends Property {\n /**\n * Gets the related parameter\n *\n * @returns {String}\n */\n get related() {\n if (!this.hasParameter('RELATED')) {\n return 'START';\n }\n\n return this.getParameterFirstValue('RELATED');\n }\n /**\n * Sets the related parameter\n *\n * @param {String} related Either START or END\n */\n\n\n set related(related) {\n this.updateParameterIfExist('RELATED', related);\n }\n /**\n * Gets the value of this trigger\n * (If you override the setter, you also have to override the getter or\n * it will simply be undefined)\n *\n * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]}\n */\n\n\n get value() {\n return super.value;\n }\n /**\n * Set the value of this trigger\n *\n * @param {DurationValue|DateTimeValue} value The time of trigger\n */\n\n\n set value(value) {\n super.value = value; // If it's not a duration, remove related parameter\n\n if (value instanceof DateTimeValue) {\n this.deleteParameter('RELATED');\n super.value = value.getInUTC();\n }\n }\n /**\n * Gets whether this alarm trigger is relative\n *\n * @returns {boolean}\n */\n\n\n isRelative() {\n return this.getFirstValue() instanceof DurationValue;\n }\n /**\n * Creates a new absolute trigger\n *\n * @param {DateTimeValue} alarmTime Time to create Trigger from\n * @returns {TriggerProperty}\n */\n\n\n static fromAbsolute(alarmTime) {\n return new TriggerProperty('TRIGGER', alarmTime);\n }\n /**\n * Creates a new relative trigger\n *\n * @param {DurationValue} alarmOffset Duration to create Trigger from\n * @param {Boolean=} relatedToStart Related to Start or end?\n * @returns {TriggerProperty}\n */\n\n\n static fromRelativeAndRelated(alarmOffset, relatedToStart = true) {\n return new TriggerProperty('TRIGGER', alarmOffset, [['RELATED', relatedToStart ? 'START' : 'END']]);\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @author Richard Steinmetz \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n *\n * @param {String} propName Name of the prop to get constructor for\n * @returns {AttendeeProperty|GeoProperty|ConferenceProperty|Property|AttachmentProperty|ImageProperty|RelationProperty|RequestStatusProperty}\n */\n\nfunction getConstructorForPropertyName(propName) {\n switch (uc(propName)) {\n case 'ATTACH':\n return AttachmentProperty;\n\n case 'ATTENDEE':\n case 'ORGANIZER':\n return AttendeeProperty;\n\n case 'CONFERENCE':\n return ConferenceProperty;\n\n case 'FREEBUSY':\n return FreeBusyProperty;\n\n case 'GEO':\n return GeoProperty;\n\n case 'IMAGE':\n return ImageProperty;\n\n case 'RELATED-TO':\n return RelationProperty;\n\n case 'REQUEST-STATUS':\n return RequestStatusProperty;\n\n case 'TRIGGER':\n return TriggerProperty;\n\n case 'COMMENT':\n case 'CONTACT':\n case 'DESCRIPTION':\n case 'LOCATION':\n case 'SUMMARY':\n return TextProperty;\n\n default:\n return Property;\n }\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class AbstractComponent\n */\n\nclass AbstractComponent extends observerTrait(lockableTrait(class {})) {\n /**\n * Constructor\n *\n * @param {String} name - Name of component\n * @param {Property[]} properties - Array of properties stored inside the component\n * @param {AbstractComponent[]} components - Array of subcomponents stored inside this component\n * @param {CalendarComponent|null} root - The root of this calendar document\n * @param {AbstractComponent|null} parent - The parent component of this element\n */\n constructor(name, properties = [], components = [], root = null, parent = null) {\n super();\n /**\n * Name of component\n *\n * @type {String}\n * @private\n */\n\n this._name = uc(name);\n /**\n * All properties in this component\n *\n * @type {Map}\n * @private\n */\n\n this._properties = new Map();\n /**\n * All subcomponents of this component\n *\n * @type {Map}\n * @private\n */\n\n this._components = new Map();\n /**\n * Root node of ical document\n *\n * @type {CalendarComponent|null}\n * @private\n */\n\n this._root = root;\n /**\n * Parent node\n *\n * @type {AbstractComponent|null}\n * @private\n */\n\n this._parent = parent;\n\n this._setPropertiesFromConstructor(properties);\n\n this._setComponentsFromConstructor(components);\n }\n /**\n * Get the component's name\n *\n * @returns {String}\n */\n\n\n get name() {\n return this._name;\n }\n /**\n * Gets the root of this calendar-document\n *\n * @returns {CalendarComponent}\n */\n\n\n get root() {\n return this._root;\n }\n /**\n * Sets the root of this calendar-document\n *\n * @param {CalendarComponent} root The new root element\n */\n\n\n set root(root) {\n this._modify();\n\n this._root = root;\n\n for (const property of this.getPropertyIterator()) {\n property.root = root;\n }\n\n for (const component of this.getComponentIterator()) {\n component.root = root;\n }\n }\n /**\n * Gets the parent component\n *\n * @returns {AbstractComponent}\n */\n\n\n get parent() {\n return this._parent;\n }\n /**\n * Sets the parent component\n *\n * @param {AbstractComponent} parent The new parent element\n */\n\n\n set parent(parent) {\n this._modify();\n\n this._parent = parent;\n }\n /**\n * Gets the first property that matches the given propertyName\n *\n * @param {String} propertyName Name of the property to get\n * @returns {Property|null}\n */\n\n\n getFirstProperty(propertyName) {\n if (!this._properties.has(uc(propertyName))) {\n return null;\n }\n\n return this._properties.get(uc(propertyName))[0];\n }\n /**\n * Gets the first value of the first property matching that name\n *\n * @param {String} propertyName Name of the property to get first value of\n * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n */\n\n\n getFirstPropertyFirstValue(propertyName) {\n const property = this.getFirstProperty(propertyName);\n\n if (!property) {\n return null;\n }\n\n return property.getFirstValue();\n }\n /**\n * update a property if it exists,\n * create a new one if it doesn't\n *\n * @param {String} propertyName Name of the property to update / create\n * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value to set\n */\n\n\n updatePropertyWithValue(propertyName, value) {\n this._modify();\n\n const property = this.getFirstProperty(propertyName);\n\n if (property) {\n property.value = value;\n } else {\n const constructor = getConstructorForPropertyName(propertyName);\n const newProperty = new constructor(propertyName, value, [], this, this.root);\n this.addProperty(newProperty);\n }\n }\n /**\n * Returns iterator for all properties of a given propertyName\n * or if no propertyName was given over all available properties\n *\n * @param {String=} propertyName Name of the property to get an iterator for\n */\n\n\n *getPropertyIterator(propertyName = null) {\n if (propertyName) {\n if (!this.hasProperty(propertyName)) {\n return;\n } // this._properties.get() returns an array\n // [Symbol.iterator]() creates an iterator from that array\n\n\n yield* this._properties.get(uc(propertyName)).slice()[Symbol.iterator]();\n } else {\n for (const key of this._properties.keys()) {\n yield* this.getPropertyIterator(key);\n }\n }\n }\n /**\n * Get all properties by name that match the given LANG parameter\n *\n * @param {String} propertyName The name of the property\n * @param {String|null} lang The lang to query\n * @private\n */\n\n\n *_getAllOfPropertyByLang(propertyName, lang) {\n for (const property of this.getPropertyIterator(propertyName)) {\n // getParameterFirstValue will return null if language not set, so no language parameter will match lang=null\n if (property.getParameterFirstValue('LANGUAGE') === lang) {\n yield property;\n }\n }\n }\n /**\n * Get the first property by name that matches the given LANG parameter\n *\n * @param {String} propertyName The name of the property\n * @param {String|null} lang The lang to query\n * @returns {Property|null}\n * @private\n */\n\n\n _getFirstOfPropertyByLang(propertyName, lang) {\n const iterator = this._getAllOfPropertyByLang(propertyName, lang);\n\n return iterator.next().value || null;\n }\n /**\n * Adds a property\n *\n * @param {Property} property The property to add\n * @returns {boolean}\n */\n\n\n addProperty(property) {\n this._modify();\n\n property.root = this.root;\n property.parent = this;\n\n if (this._properties.has(property.name)) {\n const arr = this._properties.get(property.name);\n\n if (arr.indexOf(property) !== -1) {\n // If the property is already part of this component,\n // return false to indicate an error\n return false;\n }\n\n arr.push(property);\n } else {\n this._properties.set(property.name, [property]);\n }\n\n property.subscribe(() => this._notifySubscribers());\n return true;\n }\n /**\n * Checks if this component has a property of the given name\n *\n * @param {String} propertyName The name of the property\n * @returns {boolean}\n */\n\n\n hasProperty(propertyName) {\n return this._properties.has(uc(propertyName));\n }\n /**\n * Removes the given property from this component\n *\n * @param {Property} property The property to delete\n * @returns {boolean}\n */\n\n\n deleteProperty(property) {\n this._modify();\n\n if (!this._properties.has(property.name)) {\n return false;\n }\n\n const arr = this._properties.get(property.name);\n\n const index = arr.indexOf(property);\n\n if (index === -1) {\n return false;\n }\n\n if (index !== -1 && arr.length === 1) {\n // If this is the last property of the given name,\n // remove the entire array from _properties\n // This is required for hasProperty to work properly\n this._properties.delete(property.name);\n } else {\n arr.splice(index, 1);\n }\n\n return true;\n }\n /**\n * Removes all properties of a given name\n *\n * @param {String} propertyName The name of the property\n * @returns {boolean}\n */\n\n\n deleteAllProperties(propertyName) {\n this._modify();\n\n return this._properties.delete(uc(propertyName));\n }\n /**\n * Gets the first component of a given name\n *\n * @param {String} componentName The name of the component\n * @returns {AbstractComponent|null}\n */\n\n\n getFirstComponent(componentName) {\n if (!this.hasComponent(componentName)) {\n return null;\n }\n\n return this._components.get(uc(componentName))[0];\n }\n /**\n * Returns iterator for all components of a given componentName\n * or if no componentName was given over all available components\n *\n * @param {String=} componentName The name of the component\n */\n\n\n *getComponentIterator(componentName) {\n if (componentName) {\n if (!this.hasComponent(componentName)) {\n return;\n } // this._components.get() returns an array\n // [Symbol.iterator]() creates an iterator from that array\n\n\n yield* this._components.get(uc(componentName)).slice()[Symbol.iterator]();\n } else {\n for (const key of this._components.keys()) {\n yield* this.getComponentIterator(key);\n }\n }\n }\n /**\n * Adds a new component to this component\n *\n * @param {AbstractComponent} component The component to add\n * @returns {Boolean}\n */\n\n\n addComponent(component) {\n this._modify();\n\n component.root = this.root;\n component.parent = this;\n\n if (this._components.has(component.name)) {\n const arr = this._components.get(component.name);\n\n if (arr.indexOf(component) !== -1) {\n // If the property is already part of this component,\n // return false to indicate an error\n return false;\n }\n\n arr.push(component);\n } else {\n this._components.set(component.name, [component]);\n }\n\n component.subscribe(() => this._notifySubscribers());\n return true;\n }\n /**\n * Checks if this component has a component of the given name\n *\n * @param {String} componentName The name of the component\n * @returns {boolean}\n */\n\n\n hasComponent(componentName) {\n return this._components.has(uc(componentName));\n }\n /**\n * Removes the given component from this component\n *\n * @param {AbstractComponent} component The component to delete\n * @returns {boolean}\n */\n\n\n deleteComponent(component) {\n this._modify();\n\n if (!this._components.has(component.name)) {\n return false;\n }\n\n const arr = this._components.get(component.name);\n\n const index = arr.indexOf(component);\n\n if (index === -1) {\n return false;\n }\n\n if (index !== -1 && arr.length === 1) {\n // If this is the last component of the given name,\n // remove the entire array from _components\n // This is required for hasComponent to work properly\n this._components.delete(component.name);\n } else {\n arr.splice(index, 1);\n }\n\n return true;\n }\n /**\n * Removes all components of a given name\n *\n * @param {String} componentName The name of the component\n * @returns {boolean}\n */\n\n\n deleteAllComponents(componentName) {\n this._modify();\n\n return this._components.delete(uc(componentName));\n }\n /**\n * Marks this parameter is immutable\n * locks it against further modification\n */\n\n\n lock() {\n super.lock();\n\n for (const property of this.getPropertyIterator()) {\n property.lock();\n }\n\n for (const component of this.getComponentIterator()) {\n component.lock();\n }\n }\n /**\n * Marks this parameter as mutable\n * allowing further modification\n */\n\n\n unlock() {\n super.unlock();\n\n for (const property of this.getPropertyIterator()) {\n property.unlock();\n }\n\n for (const component of this.getComponentIterator()) {\n component.unlock();\n }\n }\n /**\n * Creates a copy of this parameter\n *\n * @returns {AbstractComponent}\n */\n\n\n clone() {\n const properties = [];\n\n for (const property of this.getPropertyIterator()) {\n properties.push(property.clone());\n }\n\n const components = [];\n\n for (const component of this.getComponentIterator()) {\n components.push(component.clone());\n }\n\n return new this.constructor(this.name, properties, components, this.root, this.parent);\n }\n /**\n * Adds properties from constructor to this._properties\n *\n * @param {Property[]} properties Array of properties\n * @private\n */\n\n\n _setPropertiesFromConstructor(properties) {\n for (let property of properties) {\n if (Array.isArray(property)) {\n const constructor = getConstructorForPropertyName(property[0]);\n property = new constructor(property[0], property[1]);\n }\n\n this.addProperty(property);\n }\n }\n /**\n * Adds components from constructor to this._components\n *\n * @param {AbstractComponent[]} components Array of components\n * @private\n */\n\n\n _setComponentsFromConstructor(components) {\n for (const component of components) {\n this.addComponent(component);\n }\n }\n /**\n * Creates a new Component based on an ical object\n *\n * @param {ICAL.Component} icalValue The ical.js component to initialise from\n * @param {CalendarComponent=} root The root of the Calendar Document\n * @param {AbstractComponent=} parent The parent element of this component\n * @returns {AbstractComponent}\n */\n\n\n static fromICALJs(icalValue, root = null, parent = null) {\n if (!(icalValue instanceof ICAL.Component)) {\n throw new ExpectedICalJSError();\n }\n\n const name = icalValue.name;\n const newComponent = new this(name, [], [], root, parent);\n\n for (const icalProp of icalValue.getAllProperties()) {\n const constructor = getConstructorForPropertyName(icalProp.name);\n const property = constructor.fromICALJs(icalProp, root, newComponent);\n newComponent.addProperty(property);\n }\n\n for (const icalComp of icalValue.getAllSubcomponents()) {\n const constructor = this._getConstructorForComponentName(icalComp.name);\n\n const component = constructor.fromICALJs(icalComp, root, newComponent);\n newComponent.addComponent(component);\n }\n\n return newComponent;\n }\n /**\n * Gets a constructor for a give component name\n *\n * @param {String} componentName The name of the component\n * @returns {AbstractComponent}\n * @protected\n */\n\n\n static _getConstructorForComponentName(componentName) {\n return AbstractComponent;\n }\n /**\n * turns this Component into an ICAL.js component\n *\n * @returns {ICAL.Component}\n */\n\n\n toICALJs() {\n const component = createComponent(lc(this.name));\n\n for (const prop of this.getPropertyIterator()) {\n component.addProperty(prop.toICALJs());\n }\n\n for (const comp of this.getComponentIterator()) {\n component.addSubcomponent(comp.toICALJs());\n }\n\n return component;\n }\n\n}\n/**\n * Advertise properties that may at most occur once\n *\n * Properties, which may at most occur once, get a simple getter and setter\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n * @param {Boolean} advertiseValueOnly Whether to advertise the value only or the entire property\n */\n\nfunction advertiseSingleOccurrenceProperty(prototype, options, advertiseValueOnly = true) {\n options = getDefaultOncePropConfig(options);\n Object.defineProperty(prototype, options.name, {\n get() {\n const value = this.getFirstPropertyFirstValue(options.iCalendarName);\n\n if (!value) {\n return options.defaultValue;\n } else {\n if (Array.isArray(options.allowedValues) && !options.allowedValues.includes(value)) {\n return options.unknownValue;\n }\n\n return value;\n }\n },\n\n set(value) {\n this._modify();\n\n if (value === null) {\n this.deleteAllProperties(options.iCalendarName);\n return;\n }\n\n if (Array.isArray(options.allowedValues) && !options.allowedValues.includes(value)) {\n throw new TypeError('Illegal value');\n }\n\n this.updatePropertyWithValue(options.iCalendarName, value);\n }\n\n });\n}\n/**\n * Advertise properties that may occur more than once\n *\n * Properties, which may occur more than once, won't get simple getter / setter,\n * but rather a more advanced set of get{name}Iterator, get{name}List, add{name},\n * remove{name} and clearAll{name} methods\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n */\n\nfunction advertiseMultipleOccurrenceProperty(prototype, options) {\n options = getDefaultMultiplePropConfig(options);\n\n prototype['get' + ucFirst(options.name) + 'Iterator'] = function* () {\n yield* this.getPropertyIterator(options.iCalendarName);\n };\n\n prototype['get' + ucFirst(options.name) + 'List'] = function () {\n return Array.from(this['get' + ucFirst(options.name) + 'Iterator']());\n };\n\n prototype['remove' + ucFirst(options.name)] = function (property) {\n this.deleteProperty(property);\n };\n\n prototype['clearAll' + ucFirst(options.pluralName)] = function () {\n this.deleteAllProperties(options.iCalendarName);\n };\n}\n/**\n * advertises a multi-value string property enabling simple access by language\n * This is used for:\n * - CATEGORIES\n * - RESOURCES\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n */\n\nfunction advertiseMultiValueStringPropertySeparatedByLang(prototype, options) {\n options = getDefaultMultiplePropConfig(options);\n\n prototype['get' + ucFirst(options.name) + 'Iterator'] = function* (lang = null) {\n for (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n yield* property.getValueIterator();\n }\n };\n\n prototype['get' + ucFirst(options.name) + 'List'] = function (lang = null) {\n return Array.from(this['get' + ucFirst(options.name) + 'Iterator'](lang));\n };\n\n prototype['add' + ucFirst(options.name)] = function (value, lang = null) {\n const property = this._getFirstOfPropertyByLang(options.iCalendarName, lang);\n\n if (property) {\n property.addValue(value);\n } else {\n const newProperty = new Property(options.iCalendarName, [value]);\n\n if (lang) {\n const languageParameter = new Parameter('LANGUAGE', lang);\n newProperty.setParameter(languageParameter);\n }\n\n this.addProperty(newProperty);\n }\n };\n\n prototype['remove' + ucFirst(options.name)] = function (value, lang = null) {\n for (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n if (property.isMultiValue() && property.hasValue(value)) {\n if (property.value.length === 1) {\n this.deleteProperty(property);\n return true;\n }\n\n property.removeValue(value);\n return true;\n }\n }\n\n return false;\n };\n\n prototype['clearAll' + ucFirst(options.pluralName)] = function (lang = null) {\n for (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n this.deleteProperty(property);\n }\n };\n}\n/**\n * advertise a component\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising components\n */\n\nfunction advertiseComponent(prototype, options) {\n options = getDefaultMultipleCompConfig(options);\n\n prototype['get' + ucFirst(options.name) + 'Iterator'] = function* () {\n yield* this.getComponentIterator(options.iCalendarName);\n };\n\n prototype['get' + ucFirst(options.name) + 'List'] = function () {\n return Array.from(this['get' + ucFirst(options.name) + 'Iterator']());\n };\n\n prototype['remove' + ucFirst(options.name)] = function (component) {\n this.deleteComponent(component);\n };\n\n prototype['clearAll' + ucFirst(options.pluralName)] = function () {\n this.deleteAllComponents(options.iCalendarName);\n };\n}\n/**\n * Fill up the options object for advertiseProperty\n *\n * @param {Object|String} options The options object\n * @param {String} options.name Advertised name of the property\n * @param {String=} options.iCalendarName The iCalendar name of the property\n * @param {String[]=} options.allowedValues A list of allowed values\n * @param {String|Number=} options.defaultValue The default value if unset\n * @param {String|Number=} options.unknownValue The fallback value if unknown value\n * @returns {Object}\n */\n\nfunction getDefaultOncePropConfig(options) {\n if (typeof options === 'string') {\n options = {\n name: options\n };\n }\n\n return Object.assign({}, {\n iCalendarName: uc(options.name),\n pluralName: options.name + 's',\n allowedValues: null,\n defaultValue: null,\n unknownValue: null\n }, options);\n}\n/**\n * Fill up the options object for advertiseProperty\n *\n * @param {Object|String} options The options object\n * @param {String} options.name Advertised name of property\n * @param {String=} options.iCalendarName The iCalendar name of the property\n * @param {Boolean=} options.customAddMethod Whether or not to use a custom add method\n * @returns {Object}\n */\n\n\nfunction getDefaultMultiplePropConfig(options) {\n if (typeof options === 'string') {\n options = {\n name: options\n };\n }\n\n return Object.assign({}, {\n iCalendarName: uc(options.name),\n pluralName: options.name + 's'\n }, options);\n}\n/**\n * Fill up the options object for advertiseComponent\n *\n * @param {Object|String} options Options destructuring object\n * @param {String} options.name Advertised name of component\n * @param {String=} options.iCalendarName The iCalendar name of the component\n * @param {Boolean=} options.customAddMethod Whether or not to use a custom add method\n * @returns {Object}\n */\n\n\nfunction getDefaultMultipleCompConfig(options) {\n if (typeof options === 'string') {\n options = {\n name: options\n };\n }\n\n return Object.assign({}, {\n iCalendarName: 'V' + uc(options.name),\n pluralName: options.name + 's'\n }, options);\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * Gets a new DateObject set to now\n *\n * @returns {Date}\n */\nfunction dateFactory() {\n return new Date();\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass RecurringWithoutDtStartError extends Error {}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class RecurrenceHelper\n * @classdesc\n *\n * TODO: This needs caching\n */\n\nclass RecurrenceManager {\n /**\n * Constructor\n *\n * @param {AbstractRecurringComponent} masterItem The master-item of the recurrence-set\n */\n constructor(masterItem) {\n /**\n *\n * @type {AbstractRecurringComponent}\n * @private\n */\n this._masterItem = masterItem;\n /**\n * Set of Recurrence exception items\n *\n * Number is the unix time representation of the recurrence ID\n *\n * @type {Map}\n * @private\n */\n\n this._recurrenceExceptionItems = new Map();\n /**\n * A sorted index of recurrence ids with range\n *\n * @type {Number[]}\n * @private\n */\n\n this._rangeRecurrenceExceptionItemsIndex = [];\n /**\n * Cached difference of dtstart and recurrenceId for recurrence exceptions with range\n *\n * @type {Map}\n * @private\n */\n\n this._rangeRecurrenceExceptionItemsDiffCache = new Map();\n /**\n * Set of Recurrence exception items that have a RANGE of THISANDFUTURE\n *\n * Number is the unix time representation of the recurrence ID\n *\n * @type {Map}\n * @private\n */\n\n this._rangeRecurrenceExceptionItems = new Map();\n }\n /**\n *\n * @returns {AbstractRecurringComponent}\n */\n\n\n get masterItem() {\n return this._masterItem;\n }\n /**\n *\n * @param {AbstractRecurringComponent} masterItem The master-item of the recurrence-set\n */\n\n\n set masterItem(masterItem) {\n this._masterItem = masterItem;\n }\n /**\n * Gets an iterator over all registered recurrence exceptions of this calendar-document\n */\n\n\n *getRecurrenceExceptionIterator() {\n yield* this._recurrenceExceptionItems.values();\n }\n /**\n * Gets a list of all registered recurrence-exceptions of this calendar-document\n *\n * @returns {AbstractRecurringComponent[]}\n */\n\n\n getRecurrenceExceptionList() {\n return Array.from(this.getRecurrenceExceptionIterator());\n }\n /**\n * Checks if there is a recurrence Exception for a given recurrenceId\n *\n * @param {DateTimeValue|Number} recurrenceId The recurrenceId to check\n * @returns {boolean}\n */\n\n\n hasRecurrenceExceptionForId(recurrenceId) {\n if (recurrenceId instanceof DateTimeValue) {\n recurrenceId = recurrenceId.unixTime;\n } else if (recurrenceId instanceof ICAL.Time) {\n recurrenceId = recurrenceId.toUnixTime();\n }\n\n return this._recurrenceExceptionItems.has(recurrenceId);\n }\n /**\n * Gets the recurrence exception for a given recurrence Id\n *\n * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n * @returns {AbstractRecurringComponent|null}\n */\n\n\n getRecurrenceException(recurrenceId) {\n if (recurrenceId instanceof DateTimeValue) {\n recurrenceId = recurrenceId.unixTime;\n } else if (recurrenceId instanceof ICAL.Time) {\n recurrenceId = recurrenceId.toUnixTime();\n }\n\n return this._recurrenceExceptionItems.get(recurrenceId) || null;\n }\n /**\n * Check if there is a recurrence-exception with a range for a given recurrence-id\n *\n * @param {DateTimeValue|Number} recurrenceId The recurrenceId to check\n * @returns {boolean}\n */\n\n\n hasRangeRecurrenceExceptionForId(recurrenceId) {\n if (recurrenceId instanceof DateTimeValue) {\n recurrenceId = recurrenceId.unixTime;\n } else if (recurrenceId instanceof ICAL.Time) {\n recurrenceId = recurrenceId.toUnixTime();\n }\n\n if (this._rangeRecurrenceExceptionItemsIndex.length === 0) {\n return false;\n }\n\n return this._rangeRecurrenceExceptionItemsIndex[0] < recurrenceId;\n }\n /**\n * Get recurrence-exception with range that's affecting the given recurrence-id\n *\n * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n * @returns {AbstractRecurringComponent|null}\n */\n\n\n getRangeRecurrenceExceptionForId(recurrenceId) {\n if (recurrenceId instanceof DateTimeValue) {\n recurrenceId = recurrenceId.unixTime;\n } else if (recurrenceId instanceof ICAL.Time) {\n recurrenceId = recurrenceId.toUnixTime();\n }\n\n const index = ICAL.helpers.binsearchInsert(this._rangeRecurrenceExceptionItemsIndex, recurrenceId, (a, b) => a - b);\n\n if (index === 0) {\n return null;\n }\n\n const key = this._rangeRecurrenceExceptionItemsIndex[index - 1];\n return this._rangeRecurrenceExceptionItems.get(key);\n }\n /**\n * Gets the difference between recurrence-id and start\n * Mostly needed to handle recurrence-exceptions with range\n *\n * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n * @returns {DurationValue|null}\n */\n\n\n getRangeRecurrenceExceptionDiff(recurrenceId) {\n if (recurrenceId instanceof DateTimeValue) {\n recurrenceId = recurrenceId.unixTime;\n } else if (recurrenceId instanceof ICAL.Time) {\n recurrenceId = recurrenceId.toUnixTime();\n }\n\n if (this._rangeRecurrenceExceptionItemsDiffCache.has(recurrenceId)) {\n return this._rangeRecurrenceExceptionItemsDiffCache.get(recurrenceId);\n }\n\n const recurrenceException = this.getRangeRecurrenceExceptionForId(recurrenceId);\n\n if (!recurrenceException) {\n return null;\n }\n\n const originalRecurrenceId = recurrenceException.recurrenceId;\n const originalModifiedStart = recurrenceException.startDate;\n const difference = originalModifiedStart.subtractDateWithTimezone(originalRecurrenceId);\n difference.lock();\n\n this._rangeRecurrenceExceptionItemsDiffCache.set(recurrenceId, difference);\n\n return difference;\n }\n /**\n * Adds a new recurrence-exception to this calendar-document\n *\n * @param {AbstractRecurringComponent} recurrenceExceptionItem The recurrence-exception-item to relate to recurrence-set\n */\n\n\n relateRecurrenceException(recurrenceExceptionItem) {\n this._modify();\n\n const key = this._getRecurrenceIdKey(recurrenceExceptionItem);\n\n this._recurrenceExceptionItems.set(key, recurrenceExceptionItem);\n\n if (recurrenceExceptionItem.modifiesFuture()) {\n this._rangeRecurrenceExceptionItems.set(key, recurrenceExceptionItem);\n\n const index = ICAL.helpers.binsearchInsert(this._rangeRecurrenceExceptionItemsIndex, key, (a, b) => a - b);\n\n this._rangeRecurrenceExceptionItemsIndex.splice(index, 0, key);\n }\n\n recurrenceExceptionItem.recurrenceManager = this;\n }\n /**\n * Removes a recurrence exception by the item itself\n *\n * @param {AbstractRecurringComponent} recurrenceExceptionItem The recurrence-exception remove\n */\n\n\n removeRecurrenceException(recurrenceExceptionItem) {\n const key = this._getRecurrenceIdKey(recurrenceExceptionItem);\n\n this.removeRecurrenceExceptionByRecurrenceId(key);\n }\n /**\n * Removes a recurrence exception by it's unix-time\n *\n * @param {Number} recurrenceId The recurrence-exception to remove\n */\n\n\n removeRecurrenceExceptionByRecurrenceId(recurrenceId) {\n this._modify();\n\n this._recurrenceExceptionItems.delete(recurrenceId);\n\n this._rangeRecurrenceExceptionItems.delete(recurrenceId);\n\n this._rangeRecurrenceExceptionItemsDiffCache.delete(recurrenceId);\n\n const index = this._rangeRecurrenceExceptionItemsIndex.indexOf(recurrenceId);\n\n if (index !== -1) {\n this._rangeRecurrenceExceptionItemsIndex.splice(index, 1);\n }\n }\n /**\n *\n * @param {AbstractRecurringComponent} recurrenceExceptionItem Object to get key from\n * @returns {Number}\n * @private\n */\n\n\n _getRecurrenceIdKey(recurrenceExceptionItem) {\n return recurrenceExceptionItem.recurrenceId.unixTime;\n }\n /**\n * Gets an iterator over all recurrence rules\n */\n\n\n *getRecurrenceRuleIterator() {\n for (const property of this._masterItem.getPropertyIterator('RRULE')) {\n yield property.getFirstValue();\n }\n }\n /**\n * Gets a list of all recurrence rules\n *\n * @returns {RecurValue[]}\n */\n\n\n getRecurrenceRuleList() {\n return Array.from(this.getRecurrenceRuleIterator());\n }\n /**\n * Adds a new recurrence rule\n *\n * @param {RecurValue} recurrenceRule The RRULE to add\n */\n\n\n addRecurrenceRule(recurrenceRule) {\n this._modify();\n\n this.resetCache();\n const property = new Property('RRULE', recurrenceRule);\n\n this._masterItem.addProperty(property);\n }\n /**\n * Removes a recurrence rule\n *\n * @param {RecurValue} recurrenceRule The RRULE to remove\n */\n\n\n removeRecurrenceRule(recurrenceRule) {\n this._modify();\n\n this.resetCache();\n\n for (const property of this._masterItem.getPropertyIterator('RRULE')) {\n if (property.getFirstValue() === recurrenceRule) {\n this._masterItem.deleteProperty(property);\n }\n }\n }\n /**\n * Removes all recurrence rules\n */\n\n\n clearAllRecurrenceRules() {\n this._modify();\n\n this.resetCache();\n\n this._masterItem.deleteAllProperties('RRULE');\n }\n /**\n * Gets an iterator over all recurrence\n *\n * @param {boolean} isNegative Whether or not to get EXDATES\n * @param {String} valueType Limit type of EXDATES\n */\n\n\n *getRecurrenceDateIterator(isNegative = false, valueType = null) {\n for (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n yield* property.getValueIterator();\n }\n }\n /**\n *\n * @param {boolean} isNegative Whether or not to get EXDATES\n * @param {String} valueType Limit type of EXDATES\n * @returns {(DateTimeValue|PeriodValue)[]}\n */\n\n\n listAllRecurrenceDates(isNegative = false, valueType = null) {\n return Array.from(this.getRecurrenceDateIterator(isNegative, valueType));\n }\n /**\n * This adds a new recurrence-date value.\n * It automatically adds it to the first property of the same value-type\n * or creates a new one if necessary\n *\n * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {DateTimeValue|PeriodValue} value EXDATE to add\n */\n\n\n addRecurrenceDate(isNegative = false, value) {\n this._modify();\n\n this.resetCache(); // Only add DateTime Value if its of the same timezone\n\n let timezoneId = null;\n\n if (value instanceof DateTimeValue && !value.isDate) {\n timezoneId = value.timezoneId;\n }\n\n const valueType = this._getValueTypeByValue(value);\n\n const iterator = this._getPropertiesForRecurrenceDate(isNegative, valueType, timezoneId);\n\n const first = iterator.next.value;\n\n if (first instanceof Property) {\n const propertyValue = first.value;\n propertyValue.push(value);\n this.masterItem.markPropertyAsDirty(isNegative ? 'EXDATE' : 'RDATE');\n } else {\n const propertyName = this._getPropertyNameByIsNegative(isNegative);\n\n const property = new Property(propertyName, value);\n\n this._masterItem.addProperty(property);\n }\n }\n /**\n * Checks if a recurrenceID is an RDATE or EXDATE\n *\n * @param {Boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {DateTimeValue} recurrenceId Recurrence-Id to check\n * @returns {boolean}\n */\n\n\n hasRecurrenceDate(isNegative = false, recurrenceId) {\n for (let value of this.getRecurrenceDateIterator(isNegative)) {\n if (value instanceof PeriodValue) {\n value = value.start;\n }\n\n if (value.compare(recurrenceId) === 0) {\n return true;\n }\n }\n\n return false;\n }\n /**\n *\n * @param {Boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {DateTimeValue} recurrenceId Recurrence-Id to get\n * @returns {null|DateTimeValue|PeriodValue}\n */\n\n\n getRecurrenceDate(isNegative = false, recurrenceId) {\n for (const value of this.getRecurrenceDateIterator(isNegative)) {\n let valueToCheck = value;\n\n if (valueToCheck instanceof PeriodValue) {\n valueToCheck = valueToCheck.start;\n }\n\n if (valueToCheck.compare(recurrenceId) === 0) {\n return value;\n }\n }\n\n return null;\n }\n /**\n * This deletes a recurrence-date value from this recurrence-set\n *\n * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {DateTimeValue|PeriodValue} value The EXDATE/RDATE to remove\n */\n\n\n removeRecurrenceDate(isNegative = false, value) {\n this._modify();\n\n this.resetCache();\n\n const valueType = this._getValueTypeByValue(value);\n\n for (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n for (const valueToCheck of property.getValueIterator()) {\n if (value === valueToCheck) {\n const allValues = property.value;\n\n if (allValues.length === 1) {\n this.masterItem.deleteProperty(property);\n continue;\n }\n\n const index = allValues.indexOf(value);\n allValues.splice(index, 1);\n this.masterItem.markPropertyAsDirty(isNegative ? 'EXDATE' : 'RDATE');\n }\n }\n }\n }\n /**\n * Clears all recurrence-date information\n *\n * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {String} valueType The type of RDATEs/EXDATEs to remove\n */\n\n\n clearAllRecurrenceDates(isNegative = false, valueType = null) {\n this._modify();\n\n this.resetCache();\n\n for (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n this._masterItem.deleteProperty(property);\n }\n }\n /**\n * Gets the property name for recurrence dates based on the isNegative boolean\n *\n * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @returns {string}\n * @private\n */\n\n\n _getPropertyNameByIsNegative(isNegative) {\n return isNegative ? 'EXDATE' : 'RDATE';\n }\n /**\n * Gets the value type based on the provided value\n *\n * @param {PeriodValue|DateTimeValue} value The value to get type of property from\n * @returns {string}\n * @private\n */\n\n\n _getValueTypeByValue(value) {\n if (value instanceof PeriodValue) {\n return 'PERIOD';\n } else if (value.isDate) {\n return 'DATE';\n } else {\n return 'DATETIME';\n }\n }\n /**\n *\n * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n * @param {String|null} valueType The type of values to get\n * @param {ICAL.Timezone=} timezoneId Filter by timezone\n * @private\n */\n\n\n *_getPropertiesForRecurrenceDate(isNegative, valueType, timezoneId = null) {\n const propertyName = this._getPropertyNameByIsNegative(isNegative);\n\n for (const property of this._masterItem.getPropertyIterator(propertyName)) {\n if (valueType === null) {\n yield property;\n } else if (uc(valueType) === 'PERIOD' && property.getFirstValue() instanceof PeriodValue) {\n yield property;\n } else if (uc(valueType) === 'DATE' && property.getFirstValue().isDate) {\n yield property;\n } else if (uc(valueType) === 'DATETIME' && !property.getFirstValue().isDate) {\n if (timezoneId === null || property.getFirstValue().timezoneId === timezoneId) {\n yield property;\n }\n }\n }\n }\n /**\n * Checks if the entire set of recurrence rules is finite\n *\n * @returns {boolean}\n */\n\n\n isFinite() {\n return this.getRecurrenceRuleList().every(rule => rule.isFinite());\n }\n /**\n * @returns {boolean}\n */\n\n\n isEmptyRecurrenceSet() {\n return this._getRecurExpansionObject().next() === undefined;\n }\n /**\n * Gets the occurrence at the exact given recurrenceId\n *\n * @param {DateTimeValue} recurrenceId RecurrenceId to get\n * @returns {AbstractRecurringComponent|null}\n */\n\n\n getOccurrenceAtExactly(recurrenceId) {\n if (!this.masterItem.isRecurring()) {\n if (this.masterItem.getReferenceRecurrenceId().compare(recurrenceId) === 0) {\n return this.masterItem;\n }\n\n return null;\n }\n\n const iterator = this._getRecurExpansionObject();\n\n const icalRecurrenceId = recurrenceId.toICALJs();\n let next;\n\n while (next = iterator.next()) {\n if (next.compare(icalRecurrenceId) === 0) {\n // It's a match 🔥\n return this._getOccurrenceAtRecurrenceId(DateTimeValue.fromICALJs(next));\n }\n\n if (next.compare(icalRecurrenceId) === 1) {\n // We hit an occurrence in the future, return null\n return null;\n }\n }\n\n return null;\n }\n /**\n * Gets the closest occurrence to the given recurrenceId.\n * That's either the closest in the future, or in case the\n * recurrence-set ends before recurrenceId, the last one\n *\n * This function works solely on the basis of recurrence-ids.\n * It ignores the actual date of recurrence-exceptions.\n * Ideally we should fix it and provide a similar implementation\n * like getAllOccurrencesBetweenIterator, but for now it's the\n * accepted behavior.\n *\n * @param {DateTimeValue} recurrenceId RecurrenceId to get\n * @returns {AbstractRecurringComponent}\n */\n\n\n getClosestOccurrence(recurrenceId) {\n if (!this.masterItem.isRecurring()) {\n return this.masterItem;\n }\n\n const iterator = this._getRecurExpansionObject();\n\n recurrenceId = recurrenceId.toICALJs();\n let previous = null;\n let next;\n\n while (next = iterator.next()) {\n if (next.compare(recurrenceId) === -1) {\n previous = next;\n } else {\n // This is the case when it's either equal or in the future\n const dateTimeValue = DateTimeValue.fromICALJs(next);\n return this._getOccurrenceAtRecurrenceId(dateTimeValue);\n }\n }\n\n const dateTimeValue = DateTimeValue.fromICALJs(previous);\n return this._getOccurrenceAtRecurrenceId(dateTimeValue);\n }\n /**\n * Get all occurrences between start and end\n * Start and End are inclusive\n *\n * @param {DateTimeValue} queriedTimeRangeStart Start of time-range\n * @param {DateTimeValue} queriedTimeRangeEnd End of time-range\n */\n\n\n *getAllOccurrencesBetweenIterator(queriedTimeRangeStart, queriedTimeRangeEnd) {\n if (!this.masterItem.isRecurring()) {\n if (typeof this.masterItem.isInTimeFrame !== 'function') {\n yield this.masterItem;\n }\n\n if (this.masterItem.isInTimeFrame(queriedTimeRangeStart, queriedTimeRangeEnd)) {\n yield this.masterItem;\n }\n\n return;\n }\n\n const iterator = this._getRecurExpansionObject();\n\n const queriedICALJsTimeRangeStart = queriedTimeRangeStart.toICALJs();\n const queriedICALJsTimeRangeEnd = queriedTimeRangeEnd.toICALJs();\n const recurrenceIdKeys = Array.from(this._recurrenceExceptionItems.keys());\n const maximumRecurrenceId = Math.max.apply(Math, recurrenceIdKeys);\n let next;\n\n while (next = iterator.next()) {\n // We have to get the real occurrence to resolve RECURRENCE-IDs\n const dateTimeValue = DateTimeValue.fromICALJs(next);\n\n const occurrence = this._getOccurrenceAtRecurrenceId(dateTimeValue); // Check what type of recurrence object we are dealing with\n // Depending on that, the time to compare to changes\n // If we are dealing events, we have to compare to the end-date\n // If we are dealing with tasks, we will have to compare to the due-date\n // etc.\n // For now we are only implementing events, other components will come later\n\n\n let compareDate = null;\n\n switch (uc(occurrence.name)) {\n case 'VEVENT':\n case 'VTODO':\n compareDate = occurrence.endDate.toICALJs();\n break;\n\n case 'VJOURNAL':\n default:\n compareDate = next;\n break;\n } // If the date we are comparing to is before our time-range,\n // we don't want to yield this event\n\n\n if (compareDate.compare(queriedICALJsTimeRangeStart) === -1) {\n continue;\n } // If we have an object that is:\n // 1. either\n // 1.1 - no recurrence exception\n // or\n // 1.2 - a recurrence-exception that modifies the future\n // and\n // 2. starts after the queried time-range ends, then we stop expanding\n\n\n const startDate = occurrence.startDate.toICALJs();\n\n if ((!occurrence.isRecurrenceException() || occurrence.modifiesFuture()) && startDate.compare(queriedICALJsTimeRangeEnd) === 1) {\n // Just break if there are no recurrence-exceptions\n if (this._recurrenceExceptionItems.size === 0) {\n break;\n } // Keep iterating until our currently checked recurrenceId\n // is bigger than the maximum recurrence-id that we have.\n\n\n if (next.toUnixTime() > maximumRecurrenceId) {\n break;\n } else {\n continue;\n }\n }\n\n if (typeof occurrence.isInTimeFrame !== 'function') {\n yield occurrence;\n }\n\n if (occurrence.isInTimeFrame(queriedTimeRangeStart, queriedTimeRangeEnd)) {\n yield occurrence;\n }\n }\n }\n /**\n * Get all occurrences between start and end\n *\n * @param {DateTimeValue} start Start of time-range\n * @param {DateTimeValue} end End of time-range\n * @returns {(*|null)[]}\n */\n\n\n getAllOccurrencesBetween(start, end) {\n return Array.from(this.getAllOccurrencesBetweenIterator(start, end));\n }\n /**\n * Update the UID of all components in the recurrence set\n *\n * @param {String} newUID The new UID of the calendar-document\n */\n\n\n updateUID(newUID) {\n this._masterItem.updatePropertyWithValue('UID', newUID);\n\n for (const recurrenceExceptionItem of this.getRecurrenceExceptionIterator()) {\n recurrenceExceptionItem.updatePropertyWithValue('UID', newUID);\n }\n }\n /**\n * Updates the recurrence-information accordingly,\n * whenever the start-date of the master-item changes\n *\n * @param {DateTimeValue} newStartDate The new start-date\n * @param {DateTimeValue} oldStartDate The old start-date\n */\n\n\n updateStartDateOfMasterItem(newStartDate, oldStartDate) {\n const difference = newStartDate.subtractDateWithTimezone(oldStartDate); // update EXDATE\n\n for (const exdate of this.getRecurrenceDateIterator(true)) {\n // If this EXDATE matches an RDATE, don't update, because we don't update RDATEs\n if (this.hasRecurrenceDate(false, exdate)) {\n continue;\n } // EXDATE are always either DATE or DATETIME,\n // no need to check for PERIOD\n\n\n exdate.addDuration(difference);\n }\n\n for (const recurrenceException of this.getRecurrenceExceptionIterator()) {\n // We don't edit RDATES, so don't update recurrence-ids if they\n // are based on an RDATE\n if (this.hasRecurrenceDate(false, recurrenceException.recurrenceId)) {\n continue;\n }\n\n this.removeRecurrenceException(recurrenceException);\n recurrenceException.recurrenceId.addDuration(difference);\n this.relateRecurrenceException(recurrenceException);\n } // update UNTIL of recurrence-rules\n\n\n for (const rrule of this.getRecurrenceRuleIterator()) {\n if (rrule.until) {\n rrule.until.addDuration(difference);\n }\n }\n }\n /**\n * Gets an object for the given recurrenceId\n * It does not verify that the given recurrenceId\n * is actually a valid recurrence of this calendar-document\n *\n * @param {DateTimeValue} recurrenceId Recurrence-Id to get\n * @returns {AbstractRecurringComponent}\n * @private\n */\n\n\n _getOccurrenceAtRecurrenceId(recurrenceId) {\n if (this.hasRecurrenceExceptionForId(recurrenceId)) {\n const recurrenceException = this.getRecurrenceException(recurrenceId);\n\n if (!recurrenceException.canCreateRecurrenceExceptions()) {\n return recurrenceException;\n }\n\n return recurrenceException.forkItem(recurrenceId);\n } else if (this.hasRangeRecurrenceExceptionForId(recurrenceId)) {\n const rangeRecurrenceException = this.getRangeRecurrenceExceptionForId(recurrenceId);\n const difference = this.getRangeRecurrenceExceptionDiff(recurrenceId);\n return rangeRecurrenceException.forkItem(recurrenceId, difference);\n } else if (recurrenceId.compare(this._masterItem.startDate) === 0) {\n if (!this._masterItem.canCreateRecurrenceExceptions()) {\n return this._masterItem;\n }\n\n return this._masterItem.forkItem(recurrenceId);\n } else {\n return this._masterItem.forkItem(recurrenceId);\n }\n }\n /**\n * Resets the internal recur-expansion object.\n * This is necessary after each modification of the\n * recurrence-information\n */\n\n\n resetCache() {// TODO - implement me\n }\n /**\n * Gets a new ICAL.RecurExpansion object\n *\n * Inspired by how ICAL.JS RecurExpansion\n * serialises and unserialises its state\n *\n * @returns {ICAL.RecurExpansion}\n * @private\n */\n\n\n _getRecurExpansionObject() {\n if (this._masterItem.startDate === null) {\n throw new RecurringWithoutDtStartError();\n }\n\n const dtstart = this._masterItem.startDate.toICALJs();\n\n let last = dtstart.clone();\n const ruleIterators = [];\n let ruleDateInc;\n const ruleDates = [];\n let ruleDate = null;\n const exDates = [];\n const complete = false;\n\n for (const ruleValue of this.getRecurrenceRuleIterator()) {\n ruleIterators.push(ruleValue.toICALJs().iterator(dtstart));\n ruleIterators[ruleIterators.length - 1].next();\n }\n\n for (let rDateValue of this.getRecurrenceDateIterator()) {\n if (rDateValue instanceof PeriodValue) {\n rDateValue = rDateValue.start;\n }\n\n rDateValue = rDateValue.toICALJs();\n const index = ICAL.helpers.binsearchInsert(ruleDates, rDateValue, (a, b) => a.compare(b));\n ruleDates.splice(index, 0, rDateValue);\n } // Is the first RDATE prior to our current DTSTART?\n\n\n if (ruleDates.length > 0 && ruleDates[0].compare(dtstart) === -1) {\n ruleDateInc = 0;\n last = ruleDates[0].clone();\n } else {\n ruleDateInc = ICAL.helpers.binsearchInsert(ruleDates, dtstart, (a, b) => a.compare(b));\n ruleDate = exDates[ruleDateInc];\n }\n\n for (let exDateValue of this.getRecurrenceDateIterator(true)) {\n exDateValue = exDateValue.toICALJs();\n const index = ICAL.helpers.binsearchInsert(exDates, exDateValue, (a, b) => a.compare(b));\n exDates.splice(index, 0, exDateValue);\n }\n\n const exDateInc = ICAL.helpers.binsearchInsert(exDates, dtstart, (a, b) => a.compare(b));\n const exDate = exDates[exDateInc];\n return new ICAL.RecurExpansion({\n dtstart,\n last,\n ruleIterators,\n ruleDateInc,\n exDateInc,\n ruleDates,\n ruleDate,\n exDates,\n exDate,\n complete\n });\n }\n /**\n * @private\n */\n\n\n _modify() {\n if (this._masterItem.isLocked()) {\n throw new ModificationNotAllowedError();\n }\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class TimezoneComponent\n * @classdesc\n *\n * There are no advertised properties / components for the TimezoneComponent,\n * since we don't care about it.\n * Editing / accessing the timezone information directly is not a use-case\n * All the timezone-handling is done by the underlying ICAL.JS\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.5\n */\n\nclass TimezoneComponent extends AbstractComponent {\n /**\n * Returns a calendar-js Timezone object\n *\n * @returns {Timezone}\n */\n toTimezone() {\n return new Timezone(this.toICALJs());\n }\n\n}\n/**\n * The timezoneId of this timezone-component\n *\n * @name TimezoneComponent#timezoneId\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(TimezoneComponent.prototype, {\n name: 'timezoneId',\n iCalendarName: 'tzid'\n});\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class Timezone\n */\n\nclass Timezone {\n /**\n * Constructor\n *\n * @param {String|ICAL.Timezone|ICAL.Component} timezoneId Id of the timezone\n * @param {String?} ics The iCalendar timezone definition\n */\n constructor(timezoneId, ics) {\n /**\n * Id of the timezone, used before initialising\n *\n * @type {String}\n * @private\n */\n this._timezoneId = null;\n /**\n * ICS representation of the timezone, used before initialising\n *\n * @type {String}\n * @private\n */\n\n this._ics = null;\n /**\n * @type {ICAL.Timezone|null}\n */\n\n this._innerValue = null;\n /**\n *\n * @type {boolean}\n * @private\n */\n\n this._initialized = false; // If the first parameter is already\n // an instance of ICAL.Timezone,\n // skip lazy loading\n\n if (timezoneId instanceof ICAL.Timezone) {\n this._innerValue = timezoneId;\n this._initialized = true;\n } else if (timezoneId instanceof ICAL.Component) {\n this._innerValue = new ICAL.Timezone(timezoneId);\n this._initialized = true;\n } else {\n this._timezoneId = timezoneId;\n this._ics = ics;\n }\n }\n /**\n * Gets the timezone id\n *\n * @returns {String}\n */\n\n\n get timezoneId() {\n if (this._initialized) {\n return this._innerValue.tzid;\n }\n\n return this._timezoneId;\n }\n /**\n * Gets the UTC Offset for a given date in this timezone\n *\n * @param {Number} year Year of the date\n * @param {Number} month Month of the date (1-based)\n * @param {Number} day Day of the date\n * @param {Number} hour Hour of the date\n * @param {Number} minute Minute of the date\n * @param {Number} second Second of the date\n * @returns {Number}\n */\n\n\n offsetForArray(year, month, day, hour, minute, second) {\n this._initialize();\n\n const time = new ICAL.Time({\n year,\n month,\n day,\n hour,\n minute,\n second,\n isDate: false\n });\n return this._innerValue.utcOffset(time);\n }\n /**\n * Converts a timestamp to an array of year, month, day, hour, minute, second.\n *\n * @param {Number} ms Timestamp in milliseconds\n * @returns {Number[]}\n */\n\n\n timestampToArray(ms) {\n this._initialize(); // just create a dummy object because fromUnixTime is not exposed on ICAL.Time\n\n\n const time = ICAL.Time.fromData({\n year: 1970,\n month: 1,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0\n });\n time.fromUnixTime(Math.floor(ms / 1000));\n const local = time.convertToZone(this._innerValue);\n return [local.year, local.month, // THIS is 1-based !\n local.day, local.hour, local.minute, local.second];\n }\n /**\n *\n * @returns {TimezoneComponent}\n */\n\n\n toTimezoneComponent() {\n return TimezoneComponent.fromICALJs(this.toICALJs());\n }\n /**\n * Returns\n *\n * @returns {ICAL.Timezone}\n */\n\n\n toICALTimezone() {\n this._initialize();\n\n return this._innerValue;\n }\n /**\n * Returns the corresponding ICAL.\n *\n * @returns {ICAL.Component}\n */\n\n\n toICALJs() {\n this._initialize();\n\n return this._innerValue.component;\n }\n /**\n * Initialises the inner ICAL.Timezone component\n *\n * @private\n */\n\n\n _initialize() {\n if (!this._initialized) {\n const jCal = ICAL.parse(this._ics);\n const icalComp = new ICAL.Component(jCal);\n this._innerValue = new ICAL.Timezone(icalComp);\n this._initialized = true;\n }\n }\n\n}\nTimezone.utc = new Timezone(ICAL.Timezone.utcTimezone);\nTimezone.floating = new Timezone(ICAL.Timezone.localTimezone);\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class AlarmComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.6\n */\n\nclass AlarmComponent extends AbstractComponent {\n /**\n * Adds a new attendee based on their name and email-address\n *\n * @param {String} name - Name of the attendee\n * @param {String} email - E-Mail address of the attendee\n * @returns {boolean}\n */\n addAttendeeFromNameAndEMail(name, email) {\n const attendeeProperty = AttendeeProperty.fromNameAndEMail(name, email);\n return this.addProperty(attendeeProperty);\n }\n /**\n * Gets the trigger property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.3\n *\n * @returns {TriggerProperty}\n */\n\n\n get trigger() {\n return this.getFirstProperty('TRIGGER');\n }\n /**\n * Sets an absolute alarm\n *\n * @param {DateTimeValue} alarmTime - Absolute time for the trigger\n */\n\n\n setTriggerFromAbsolute(alarmTime) {\n const triggerProperty = TriggerProperty.fromAbsolute(alarmTime);\n this.deleteAllProperties('TRIGGER');\n this.addProperty(triggerProperty);\n }\n /**\n * Sets a relative trigger\n *\n * @param {DurationValue} alarmOffset - Relative time of the trigger, either related to start or end\n * @param {Boolean=} relatedToStart - Related to Start or end?\n */\n\n\n setTriggerFromRelative(alarmOffset, relatedToStart = true) {\n const triggerProperty = TriggerProperty.fromRelativeAndRelated(alarmOffset, relatedToStart);\n this.deleteAllProperties('TRIGGER');\n this.addProperty(triggerProperty);\n }\n\n}\n/**\n * Action to be taken when this Alarm is due\n * Possible values:\n * - AUDIO\n * - DISPLAY\n * - EMAIL\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.1\n *\n * @name AlarmComponent#action\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'action');\n/**\n * Description for this alarm\n * Can only be used in combination with action DISPLAY and EMAIL\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name AlarmComponent#description\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'description');\n/**\n * Summary for this alarm\n * Can only be used in combination with action EMAIL\n * Will be used as the EMAIL's subject\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.12\n *\n * @name AlarmComponent#summary\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'summary');\n/**\n * The duration specifies the delay period between repeated alarms.\n * This property must be specified along with the repeat property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.5\n *\n * @name AlarmComponent#duration\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'duration');\n/**\n * The number of times an alarm should be repeated.\n * This property must be specified along with the duration property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.2\n *\n * @name AlarmComponent#repeat\n * @type {Number}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'repeat');\n/**\n * This attachment points to a sound file, can only be used in combination\n * with ACTION AUDIO\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.1\n *\n * @name AlarmComponent#attachment\n * @type {AttachmentProperty}\n */\n\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, {\n name: 'attachment',\n iCalendarName: 'ATTACH'\n});\n/**\n * Get an iterator over all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Get a list of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#getAttendeeList\n * @function\n * @returns {AttendeeProperty[]}\n */\n\n/**\n * Adds a new attendee to this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#addAttendee\n * @function\n * @param {AttendeeProperty} attendee - The attendee object to add\n */\n\n/**\n * Removes an attendee from this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee - The attendee object to remove\n */\n\n/**\n * Removes all attendees from this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#clearAllAttendees\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AlarmComponent.prototype, 'attendee');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * Gets the constructor for a component name\n * This will only return a constructor for components,\n * that can be nested inside other ones\n *\n * @param {String} compName - Component name to get default constructor for\n * @returns {AlarmComponent|AbstractComponent}\n */\n\nfunction getConstructorForComponentName$1(compName) {\n switch (uc(compName)) {\n case 'VALARM':\n return AlarmComponent;\n\n default:\n return AbstractComponent;\n }\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class AbstractRecurringComponent\n * @classdesc AbstractRecurringComponent is the basis for\n * EventComponent, JournalComponent and TodoComponent.\n *\n * It contains all the logic for recurrence-expansion and\n * recurrence-management plus all management for all\n * properties and all subcomponents that the three\n * components mentioned before have in common\n */\n\nclass AbstractRecurringComponent extends AbstractComponent {\n /**\n * @inheritDoc\n */\n constructor(...args) {\n super(...args);\n /**\n * In case this object is virtual, primary item refers to the master object\n * that this object was forked from.\n *\n * Otherwise primary item is null\n *\n * @type {AbstractRecurringComponent}\n * @private\n */\n\n this._primaryItem = null;\n /**\n * Indicator whether this is a direct fork of a primary item, representing\n * the very same recurrence id\n *\n * @type {boolean}\n * @private\n */\n\n this._isExactForkOfPrimary = false;\n /**\n * The original recurrence-id of this occurrence.\n * Mostly needed for range exceptions with a range\n *\n * @type {DateTimeValue|null}\n * @private\n */\n\n this._originalRecurrenceId = null;\n /**\n * Instance of the recurrence manager.\n * This object is shared among all instances\n * of a recurrence-set\n *\n * @type {RecurrenceManager}\n * @private\n */\n\n this._recurrenceManager = null;\n /**\n * Indicator whether this component was modified\n * In case it was, the last-modified property\n * needs to be updated before saving the event\n *\n * @type {boolean}\n * @private\n */\n\n this._dirty = false;\n /**\n * Indicator whether there have been significant changes\n * In case the changes are considered significant,\n * the sequence needs to be incremented\n *\n * @type {boolean}\n * @private\n */\n\n this._significantChange = false;\n /**\n * Id of this AbstractRecurringComponent\n *\n * @type {String|null}\n * @private\n */\n\n this._cachedId = null;\n }\n /**\n * Gets the primary-item of this recurring item\n *\n * @returns {AbstractRecurringComponent}\n */\n\n\n get primaryItem() {\n return this._primaryItem;\n }\n /**\n * Sets the primary-item of this recurring item\n *\n * @param {AbstractRecurringComponent} primaryItem The new primary-item\n */\n\n\n set primaryItem(primaryItem) {\n this._modify();\n\n this._primaryItem = primaryItem;\n }\n /**\n * Gets whether or not this is a fork of the primary item\n * for the same recurrence-id\n *\n * @returns {boolean}\n */\n\n\n get isExactForkOfPrimary() {\n return this._isExactForkOfPrimary;\n }\n /**\n * Sets the isExactForkOfPrimary indicator, see getter for description\n *\n * @param {boolean} isExactForkOfPrimary Whether or not this is an exact fork\n */\n\n\n set isExactForkOfPrimary(isExactForkOfPrimary) {\n this._isExactForkOfPrimary = isExactForkOfPrimary;\n }\n /**\n * Gets the original recurrence-id\n *\n * @returns {DateTimeValue}\n */\n\n\n get originalRecurrenceId() {\n return this._originalRecurrenceId;\n }\n /**\n * Sets the original recurrence-id\n *\n * @param {DateTimeValue} originalRecurrenceId The new original recurrence-id\n */\n\n\n set originalRecurrenceId(originalRecurrenceId) {\n this._originalRecurrenceId = originalRecurrenceId;\n }\n /**\n * Gets the recurrence-manager of this recurrence-set\n *\n * @returns {RecurrenceManager}\n */\n\n\n get recurrenceManager() {\n return this._recurrenceManager;\n }\n /**\n * Sets the recurrence-manager of this recurrence-set\n *\n * @param {RecurrenceManager} recurrenceManager The new recurrence-manager\n */\n\n\n set recurrenceManager(recurrenceManager) {\n this._recurrenceManager = recurrenceManager;\n }\n /**\n * Gets the master-item of this recurring item\n *\n * @returns {AbstractRecurringComponent}\n */\n\n\n get masterItem() {\n return this.recurrenceManager.masterItem;\n }\n /**\n * Returns whether this item is the master item\n *\n * @returns {boolean}\n */\n\n\n isMasterItem() {\n return this.masterItem === this;\n }\n /**\n * Gets a unique ID for this occurrence of the event\n *\n * Please note that if the same event occurs in multiple calendars,\n * this id will not be unique. Software using this library will have to\n * manually mix in the calendar id into this id\n *\n * @returns {String}\n */\n\n\n get id() {\n if (this._cachedId) {\n return this._cachedId;\n }\n\n if (this.startDate === null) {\n this._cachedId = encodeURIComponent(this.uid);\n return this._cachedId;\n }\n\n this._cachedId = [encodeURIComponent(this.uid), encodeURIComponent(this.getReferenceRecurrenceId().unixTime.toString())].join('###');\n return this._cachedId;\n }\n /**\n * Gets the UID property\n *\n * @returns {String|null}\n */\n\n\n get uid() {\n return this.getFirstPropertyFirstValue('UID');\n }\n /**\n * Sets the UID property and the UID property of all related exceptions\n *\n * @param {String} uid The new UID\n */\n\n\n set uid(uid) {\n this._recurrenceManager.updateUID(uid);\n }\n /**\n * Gets the start date of the event\n *\n * @returns {DateTimeValue}\n */\n\n\n get startDate() {\n return this.getFirstPropertyFirstValue('dtstart');\n }\n /**\n * Sets the start date of the event\n *\n * @param {DateTimeValue} start The new start-date to set\n */\n\n\n set startDate(start) {\n const oldStartDate = this.startDate;\n this.updatePropertyWithValue('dtstart', start);\n\n if (this.isMasterItem()) {\n this._recurrenceManager.updateStartDateOfMasterItem(start, oldStartDate);\n }\n }\n /**\n * Checks whether this item is part of a recurring set\n *\n * @returns {boolean}\n */\n\n\n isPartOfRecurrenceSet() {\n return this.masterItem.isRecurring();\n }\n /**\n * Checks whether this component is recurring\n *\n * @returns {boolean}\n */\n\n\n isRecurring() {\n return this.hasProperty('RRULE') || this.hasProperty('RDATE');\n }\n /**\n * Checks whether this component is a recurrence-exception\n *\n * @returns {boolean}\n */\n\n\n isRecurrenceException() {\n return this.hasProperty('RECURRENCE-ID');\n }\n /**\n * Checks wether this component is a recurrence-exception\n * and whether it's modifying the future\n *\n * @returns {boolean}\n */\n\n\n modifiesFuture() {\n if (!this.isRecurrenceException()) {\n return false;\n }\n\n const property = this.getFirstProperty('RECURRENCE-ID');\n return property.getParameterFirstValue('RANGE') === 'THISANDFUTURE';\n }\n /**\n * Creates an occurrence at the given time\n *\n * This is an internal function for calendar-js, used by the recurrence-manager\n * Do not call from outside\n *\n * @param {DateTimeValue} recurrenceId The recurrence-Id of the forked item\n * @param {DurationValue=} startDiff to be used when The start-diff (used for RECURRENCE-ID;RANGE=THISANDFUTURE)\n * @returns {AbstractRecurringComponent}\n */\n\n\n forkItem(recurrenceId, startDiff = null) {\n const occurrence = this.clone();\n occurrence.recurrenceManager = this.recurrenceManager;\n occurrence.primaryItem = this; // Exact match for master item or recurrence-exception\n\n if (occurrence.getReferenceRecurrenceId().compare(recurrenceId) === 0) {\n occurrence.isExactForkOfPrimary = true;\n }\n\n if (!occurrence.hasProperty('DTSTART')) {\n throw new TypeError('Can\\'t fork item without a DTSTART');\n }\n\n if (occurrence.getFirstPropertyFirstValue('DTSTART').timezoneId !== recurrenceId.timezoneId) {\n const originalTimezone = occurrence.getFirstPropertyFirstValue('DTSTART').getICALTimezone();\n recurrenceId = recurrenceId.getInICALTimezone(originalTimezone);\n }\n\n occurrence.originalRecurrenceId = recurrenceId.clone();\n const dtStartValue = occurrence.getFirstPropertyFirstValue('DTSTART');\n let period = null;\n\n if (this._recurrenceManager.hasRecurrenceDate(false, recurrenceId)) {\n const recurrenceDate = this._recurrenceManager.getRecurrenceDate(false, recurrenceId);\n\n if (recurrenceDate instanceof PeriodValue) {\n period = recurrenceDate;\n }\n }\n\n let duration;\n\n if (occurrence.hasProperty('DTEND')) {\n const dtEndValue = occurrence.getFirstPropertyFirstValue('DTEND');\n duration = dtEndValue.subtractDateWithTimezone(dtStartValue);\n } else if (occurrence.hasProperty('DUE')) {\n const dueValue = occurrence.getFirstPropertyFirstValue('DUE');\n duration = dueValue.subtractDateWithTimezone(dtStartValue);\n }\n\n if (!(occurrence.isRecurrenceException() && occurrence.isExactForkOfPrimary)) {\n occurrence.updatePropertyWithValue('DTSTART', recurrenceId.clone());\n\n if (startDiff) {\n occurrence.startDate.addDuration(startDiff);\n }\n\n if (occurrence.hasProperty('DTEND')) {\n const dtEnd = occurrence.startDate.clone();\n dtEnd.addDuration(duration);\n occurrence.updatePropertyWithValue('DTEND', dtEnd);\n } else if (occurrence.hasProperty('DUE')) {\n const due = occurrence.startDate.clone();\n due.addDuration(duration);\n occurrence.updatePropertyWithValue('DUE', due);\n }\n\n if (period) {\n occurrence.deleteAllProperties('DTEND');\n occurrence.deleteAllProperties('DURATION');\n occurrence.updatePropertyWithValue('DTEND', period.end.clone());\n }\n }\n\n occurrence.resetDirty();\n return occurrence;\n }\n /**\n * Checks whether it's possible to create a recurrence exception for this event\n * It is possible\n *\n * @returns {boolean}\n */\n\n\n canCreateRecurrenceExceptions() {\n let primaryIsRecurring = false;\n\n if (this.primaryItem && this.primaryItem.isRecurring()) {\n primaryIsRecurring = true;\n }\n\n return this.isRecurring() || this.modifiesFuture() || !this.isRecurring() && primaryIsRecurring;\n }\n /**\n * creates a recurrence exception based on this event\n * If the parameter thisAndAllFuture is set to true,\n * it will apply changes to this and all future occurrences\n *\n * @param {boolean} thisAndAllFuture Whether to create an exception for this and all future\n * @returns {AbstractRecurringComponent[]} the AbstractRecurringComponent of the future events.\n * In case you set `thisAndAllFuture` to true, this will be an\n * AbstractRecurringComponent inside a entirely new calendar component\n */\n\n\n createRecurrenceException(thisAndAllFuture = false) {\n if (!this.canCreateRecurrenceExceptions()) {\n throw new Error('Can\\'t create recurrence-exceptions for non-recurring items');\n }\n\n const previousPrimaryItem = this.primaryItem;\n /**\n * The overall support for RANGE=THISANDFUTURE is really bad.\n * Instead, we have to create a new event/journal/task and\n * set an until date on the old one.\n *\n * Also see:\n * - https://github.com/nextcloud/calendar/issues/7#issuecomment-292574813\n * - https://github.com/nextcloud/calendar/issues/7#issuecomment-299169143\n *\n * Right now, this replaces all future occurrence modifications,\n * including recurrence-exceptions, RDATES and EXDATES.\n * This is also how other CUAs handle it, but i would be happy\n * to put that up for discussion.\n *\n * Keeping future RDates + their recurrence-exceptions would be rather easy.\n * Updating recurrence-exceptions, that are based off normal recurrence rules,\n * could be very expensive.\n */\n\n if (thisAndAllFuture) {\n if (this.isExactForkOfPrimary) {\n // master item\n if (this.primaryItem.isMasterItem()) {\n this._overridePrimaryItem();\n\n return [this, this];\n }\n }\n\n this.removeThisOccurrence(true);\n this.recurrenceManager = new RecurrenceManager(this);\n this._originalRecurrenceId = null;\n this.primaryItem = this;\n this.updatePropertyWithValue('UID', v4());\n this._cachedId = null;\n this.addRelation('SIBLING', previousPrimaryItem.uid);\n previousPrimaryItem.addRelation('SIBLING', this.uid); // delete to make sure all parameters are gone\n\n this.deleteAllProperties('RECURRENCE-ID');\n this.deleteAllProperties('RDATE');\n this.deleteAllProperties('EXDATE');\n this.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('SEQUENCE', 0);\n this._significantChange = false;\n this._dirty = false;\n this.root = this.root.constructor.fromEmpty();\n this.root.addComponent(this);\n this.parent = this.root; // this is a completely new event, we should set the RSVP of all attendees to true,\n // so that they receive an invitation to the new event, not only the cancellation of the old one\n\n for (const attendee of this.getAttendeeIterator()) {\n attendee.rsvp = true;\n }\n } else {\n // delete to make sure all parameters are gone\n this.deleteAllProperties('RECURRENCE-ID');\n this.recurrenceId = this.getReferenceRecurrenceId().clone();\n this.root.addComponent(this);\n this.recurrenceManager.relateRecurrenceException(this);\n this.primaryItem = this;\n this.deleteAllProperties('RDATE');\n this.deleteAllProperties('RRULE');\n this.deleteAllProperties('EXDATE');\n this.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('SEQUENCE', 0);\n\n if (this.recurrenceManager.hasRecurrenceDate(false, this.getReferenceRecurrenceId())) {\n const recurDate = this.recurrenceManager.getRecurrenceDate(false, this.getReferenceRecurrenceId());\n\n if (recurDate instanceof PeriodValue) {\n const valueDateTimeRecurDate = recurDate.start;\n this.recurrenceManager.removeRecurrenceDate(false, recurDate);\n this.recurrenceManager.addRecurrenceDate(false, valueDateTimeRecurDate);\n }\n }\n\n this.originalRecurrenceId = null;\n }\n\n return [previousPrimaryItem, this];\n }\n /**\n * Deletes this occurrence from the series of recurring events\n * If the parameter thisAndAllFuture is set to true,\n * it will remove this and all future occurrences\n *\n * @param {Boolean} thisAndAllFuture Whether to create an exception for this and all future\n * @throws EmptyRecurrenceSetError Thrown, when deleting an occurrence results in no more events\n * @returns {Boolean} true if this deleted the last occurrence in set, false if there are occurrences left\n */\n\n\n removeThisOccurrence(thisAndAllFuture = false) {\n if (!this.isPartOfRecurrenceSet()) {\n // When deleting an object, that's not part of a recurring set,\n // the calendar-document would be empty.\n return true;\n }\n\n if (thisAndAllFuture) {\n // To get the UNTIL date, just deduct one second.\n // That's also how macOS does it, so this should be fairly\n // well supported among all clients\n const recurrenceId = this.getReferenceRecurrenceId().clone();\n const until = recurrenceId.getInTimezone(Timezone.utc);\n until.addDuration(DurationValue.fromSeconds(-1));\n\n for (const recurValue of this.recurrenceManager.getRecurrenceRuleIterator()) {\n recurValue.until = until.clone();\n }\n\n for (const recurDate of this.recurrenceManager.getRecurrenceDateIterator()) {\n let valueToCheck = recurDate;\n\n if (recurDate instanceof PeriodValue) {\n valueToCheck = valueToCheck.start;\n }\n\n if (recurrenceId.compare(valueToCheck) <= 0) {\n this.recurrenceManager.removeRecurrenceDate(false, recurDate);\n }\n }\n\n for (const exceptionDate of this.recurrenceManager.getRecurrenceDateIterator(true)) {\n if (recurrenceId.compare(exceptionDate) <= 0) {\n this.recurrenceManager.removeRecurrenceDate(true, exceptionDate);\n }\n }\n\n for (const exception of this.recurrenceManager.getRecurrenceExceptionList()) {\n if (recurrenceId.compare(exception.recurrenceId) <= 0) {\n this.root.deleteComponent(exception);\n this.recurrenceManager.removeRecurrenceException(exception);\n }\n }\n } else {\n // Make sure we don't leave orphaned recurrence-exceptions\n if (this.isRecurrenceException() && !this.modifiesFuture()) {\n this.root.deleteComponent(this);\n this.recurrenceManager.removeRecurrenceException(this);\n } // If this is based on a recurrence-date, simply delete it\n // otherwise add an exception-date\n\n\n if (this.recurrenceManager.hasRecurrenceDate(false, this.getReferenceRecurrenceId())) {\n const recurDate = this.recurrenceManager.getRecurrenceDate(false, this.getReferenceRecurrenceId());\n this.recurrenceManager.removeRecurrenceDate(false, recurDate);\n } else {\n this.recurrenceManager.addRecurrenceDate(true, this.getReferenceRecurrenceId().clone());\n }\n }\n\n return this.recurrenceManager.isEmptyRecurrenceSet();\n }\n /**\n * @inheritDoc\n */\n\n\n clone() {\n const comp = super.clone();\n comp.resetDirty();\n return comp;\n }\n /**\n * Adds a new attendee\n *\n * @param {AttendeeProperty} attendee The attendee property to add\n * @private\n * @returns {boolean}\n */\n\n\n _addAttendee(attendee) {\n // Check for different Attendee objects with the same uri\n for (const a of this.getAttendeeIterator()) {\n if (a.email === attendee.email) {\n return false;\n }\n }\n\n this.addProperty(attendee);\n return true;\n }\n /**\n * Adds a new attendee based on their name and email-address\n *\n * @param {String} name The name of the attendee to add\n * @param {String} email The email-address of the attendee to add\n * @returns {boolean}\n */\n\n\n addAttendeeFromNameAndEMail(name, email) {\n const attendeeProperty = AttendeeProperty.fromNameAndEMail(name, email);\n return this._addAttendee(attendeeProperty);\n }\n /**\n * Adds a new attendee based on their properties\n *\n * @param {String} name The name of the attendee to add\n * @param {String} email The email-address of the attendee to add\n * @param {String} role The role of the attendee to add\n * @param {String} userType The type of attendee to add\n * @param {Boolean} rsvp Whether or not to request a response from the attendee\n * @returns {boolean}\n */\n\n\n addAttendeeFromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp) {\n const attendeeProperty = AttendeeProperty.fromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp, false);\n return this._addAttendee(attendeeProperty);\n }\n /**\n * Sets the organiser property from common-name and email address\n *\n * @param {String} name The name of the organizer\n * @param {String} email The email-address of the organizer\n */\n\n\n setOrganizerFromNameAndEMail(name, email) {\n this.deleteAllProperties('ORGANIZER');\n this.addProperty(AttendeeProperty.fromNameAndEMail(name, email, true));\n }\n /**\n * Adds a new attachment from raw data\n *\n * @param {String} data The data of the attachment\n * @param {String} formatType The mime-type of the attachment\n */\n\n\n addAttachmentFromData(data, formatType = null) {\n this.addProperty(AttachmentProperty.fromData(data, formatType));\n }\n /**\n * Adds a new attachment from a link\n *\n * @param {String} uri The URI of the attachment\n * @param {String} formatType The mime-type of the attachment\n */\n\n\n addAttachmentFromLink(uri, formatType = null) {\n this.addProperty(AttachmentProperty.fromLink(uri, formatType));\n }\n /**\n * Adds a new contact\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.2\n *\n * @param {String} contact The textual contact description to add\n */\n\n\n addContact(contact) {\n this.addProperty(new TextProperty('CONTACT', contact));\n }\n /**\n * Adds a new comment\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.4\n *\n * @param {String} comment The comment to add\n */\n\n\n addComment(comment) {\n this.addProperty(new TextProperty('COMMENT', comment));\n }\n /**\n * Adds a new image from raw data\n *\n * @param {String} data Data of the image to add\n * @param {String=} display What display-type the image is optimized for\n * @param {String=} formatType The mime-type of the image\n */\n\n\n addImageFromData(data, display = null, formatType = null) {\n this.addProperty(ImageProperty.fromData(data, display, formatType));\n }\n /**\n * Adds a new image from a link\n *\n * @param {String} uri The URI of the image to add\n * @param {String=} display What display-type the image is optimized for\n * @param {String=} formatType The mime-type of the image\n */\n\n\n addImageFromLink(uri, display = null, formatType = null) {\n this.addProperty(ImageProperty.fromLink(uri, display, formatType));\n }\n /**\n * Creates a new RELATED-TO property based on a relation-type and id\n * and adds it to this object\n *\n * @param {String} relType The type of relation to add\n * @param {String} relId The id of the related calendar-document\n */\n\n\n addRelation(relType, relId) {\n this.addProperty(RelationProperty.fromRelTypeAndId(relType, relId));\n }\n /**\n * Creates a new REQUEST-STATUS property based on code and message\n * and adds it to this object\n *\n * @param {Number} code The status-code of the request status\n * @param {String} message The message of the request status\n */\n\n\n addRequestStatus(code, message) {\n this.addProperty(RequestStatusProperty.fromCodeAndMessage(code, message));\n }\n /**\n * Adds a new absolute alarm based on action and trigger time\n *\n * @param {String} action The type of alarm Action\n * @param {DateTimeValue} alarmTime The trigger time of the alarm\n * @returns {AlarmComponent}\n */\n\n\n addAbsoluteAlarm(action, alarmTime) {\n const alarmComp = new AlarmComponent('VALARM', [['action', action], TriggerProperty.fromAbsolute(alarmTime)]);\n this.addComponent(alarmComp);\n return alarmComp;\n }\n /**\n * Adds a new relative alarm based on action, trigger time and relativeTo parameter\n *\n * @param {String} action The type of alarm Action\n * @param {DurationValue} alarmOffset The trigger time of the alarm\n * @param {Boolean=} relatedToStart Whether or not the alarm is related to the event's start\n * @returns {AlarmComponent}\n */\n\n\n addRelativeAlarm(action, alarmOffset, relatedToStart = true) {\n const alarmComp = new AlarmComponent('VALARM', [['action', action], TriggerProperty.fromRelativeAndRelated(alarmOffset, relatedToStart)]);\n this.addComponent(alarmComp);\n return alarmComp;\n }\n /**\n * Marks a certain property as edited\n *\n * @param {String} propertyName The name of the property\n */\n\n\n markPropertyAsDirty(propertyName) {\n this.markDirty(); // Properties that must be considered a significant change\n // according to RFC 5546 Section 2.1.4\n\n const props = ['DTSTART', 'DTEND', 'DURATION', 'RRULE', 'RDATE', 'EXDATE', 'STATUS', ...getConfig('property-list-significant-change', [])];\n\n if (props.includes(uc(propertyName))) {\n this.markChangesAsSignificant();\n }\n }\n /**\n * Marks a certain component as edited\n *\n * @param {String} componentName The name of the component\n */\n\n\n markSubComponentAsDirty(componentName) {\n this.markDirty();\n\n if (getConfig('component-list-significant-change', []).includes(componentName)) {\n this.markChangesAsSignificant();\n }\n }\n /**\n * Returns whether or not this component is dirty\n *\n * @returns {boolean}\n */\n\n\n isDirty() {\n return this._dirty || this._significantChange;\n }\n /**\n * Marks this object as dirty\n */\n\n\n markDirty() {\n this._dirty = true;\n }\n /**\n * Marks changes as significant. Can be called by the program using this lib\n */\n\n\n markChangesAsSignificant() {\n this._significantChange = true;\n }\n /**\n * Updates the event after modifications.\n *\n * @returns {boolean} true if last-modified was updated\n */\n\n\n undirtify() {\n if (!this.isDirty()) {\n return false;\n }\n\n if (!this.hasProperty('SEQUENCE')) {\n this.sequence = 0;\n }\n\n this.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true));\n this.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true));\n\n if (this._significantChange) {\n this.sequence++;\n }\n\n this.resetDirty();\n return true;\n }\n /**\n * Resets the dirty indicators without updating DTSTAMP or LAST-MODIFIED\n */\n\n\n resetDirty() {\n this._dirty = false;\n this._significantChange = false;\n }\n /**\n * @inheritDoc\n */\n\n\n updatePropertyWithValue(propertyName, value) {\n super.updatePropertyWithValue(propertyName, value);\n\n if (uc(propertyName) === 'UID') {\n this._cachedId = null;\n }\n\n this.markPropertyAsDirty(propertyName);\n }\n /**\n * @inheritDoc\n */\n\n\n addProperty(property) {\n this.markPropertyAsDirty(property.name);\n property.subscribe(() => this.markPropertyAsDirty(property.name));\n return super.addProperty(property);\n }\n /**\n * @inheritDoc\n */\n\n\n deleteProperty(property) {\n this.markPropertyAsDirty(property.name);\n return super.deleteProperty(property);\n }\n /**\n * @inheritDoc\n */\n\n\n deleteAllProperties(propertyName) {\n this.markPropertyAsDirty(propertyName);\n return super.deleteAllProperties(propertyName);\n }\n /**\n * @inheritDoc\n */\n\n\n addComponent(component) {\n this.markSubComponentAsDirty(component.name);\n component.subscribe(() => this.markSubComponentAsDirty(component.name));\n return super.addComponent(component);\n }\n /**\n * @inheritDoc\n */\n\n\n deleteComponent(component) {\n this.markSubComponentAsDirty(component.name);\n return super.deleteComponent(component);\n }\n /**\n * @inheritDoc\n */\n\n\n deleteAllComponents(componentName) {\n this.markSubComponentAsDirty(componentName);\n return super.deleteAllComponents(componentName);\n }\n /**\n * Gets a recurrence-id that has to be used to refer to this event.\n * This is used for recurrence-management\n *\n * @returns {DateTimeValue}\n */\n\n\n getReferenceRecurrenceId() {\n if (this.originalRecurrenceId) {\n return this.originalRecurrenceId;\n } else if (this.recurrenceId) {\n return this.recurrenceId;\n } else {\n return this.startDate;\n }\n }\n /**\n * Overrides the master item with this one\n *\n * @private\n */\n\n\n _overridePrimaryItem() {\n const oldStartDate = this.primaryItem.startDate;\n\n for (const property of this.primaryItem.getPropertyIterator()) {\n this.primaryItem.deleteProperty(property);\n }\n\n for (const property of this.getPropertyIterator()) {\n this.primaryItem.addProperty(property);\n }\n\n this.recurrenceManager.resetCache();\n\n if (this.startDate.compare(oldStartDate) !== 0) {\n this.recurrenceManager.updateStartDateOfMasterItem(this.startDate, oldStartDate);\n }\n }\n /**\n * @inheritDoc\n */\n\n\n static _getConstructorForComponentName(componentName) {\n return getConstructorForComponentName$1(componentName);\n }\n /**\n * @inheritDoc\n */\n\n\n static fromICALJs(...args) {\n const comp = super.fromICALJs(...args);\n comp.resetDirty();\n return comp;\n }\n\n}\n/**\n * Date-Time stamp of this object.\n * It has different meaning, based on whether or not a method is defined\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.2\n *\n * @name EventComponent#stampTime\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'stampTime',\n iCalendarName: 'DTSTAMP'\n});\n/**\n * Recurrence-ID of this object, used for recurrence-exceptions\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.4\n *\n * @name EventComponent#recurrenceId\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'recurrenceId',\n iCalendarName: 'RECURRENCE-ID'\n});\n/**\n * Special color for this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.9\n *\n * @name EventComponent#color\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'color');\n/**\n * Creation Time of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.1\n *\n * @name EventComponent#creationTime\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'creationTime',\n iCalendarName: 'CREATED'\n});\n/**\n * The time this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.3\n *\n * @name EventComponent#modificationTime\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'modificationTime',\n iCalendarName: 'LAST-MODIFIED'\n});\n/**\n * Organizer of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n *\n * @name EventComponent#organizer\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'organizer');\n/**\n * Revision of this this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.4\n *\n * @name EventComponent#sequence\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'sequence');\n/**\n * Status of this event / journal / task\n * This indicates whether an event is tentative / confirmed / cancelled\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.11\n *\n * @name EventComponent#status\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'status');\n/**\n * URL of a more dynamic rendition of this event / journal / task\n * DO NOT use this to simply point to a website merely related.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.6\n *\n * @name EventComponent#url\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'url');\n/**\n * Title of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.12\n *\n * @name EventComponent#title\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'title',\n iCalendarName: 'SUMMARY'\n});\n/**\n * Access class of this event / journal / task\n * This determines what other users can see when sharing\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.3\n *\n * @name EventComponent#accessClass\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'accessClass',\n iCalendarName: 'class',\n allowedValues: ['PUBLIC', 'PRIVATE', 'CONFIDENTIAL'],\n defaultValue: 'PUBLIC',\n unknownValue: 'PRIVATE'\n});\n/**\n * Returns an iterator over all categories\n * If the parameter lang is given, it will only\n * return an iterator for Categories matching that language\n *\n * @name AbstractRecurringComponent#getCategoryIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all categories\n * If the parameter lang is given, it will only\n * return an iterator for Categories matching that language\n *\n * @name AbstractRecurringComponent#getCategoryList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a new category\n *\n * @name AbstractRecurringComponent#addCategory\n * @function\n * @param {String} category\n * @param {String=} lang\n */\n\n/**\n * Removes a category\n *\n * @name AbstractRecurringComponent#removeCategory\n * @function\n * @param {String} category\n * @param {String=} lang\n */\n\n/**\n * Clear all categories of a given language\n *\n * @name AbstractRecurringComponent#clearAllCategories\n * @function\n */\n\nadvertiseMultiValueStringPropertySeparatedByLang(AbstractRecurringComponent.prototype, {\n name: 'category',\n pluralName: 'categories',\n iCalendarName: 'CATEGORIES'\n});\n/**\n * Returns an iterator over all attendees\n *\n * @name AbstractRecurringComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Gets a list of all attendees\n *\n * @name AbstractRecurringComponent#getAttendeeList\n * @function\n * @returns {AttachmentProperty[]}\n */\n\n/**\n * Removes an attendee from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee\n */\n\n/**\n * Removes all attendees from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAttendees\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'attendee'\n});\n/**\n * Returns an iterator over all attachments\n *\n * @name AbstractRecurringComponent#getAttachmentIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Gets a list of all attachments\n *\n * @name AbstractRecurringComponent#getAttachmentList\n * @function\n * @returns {AttachmentProperty[]}\n */\n\n/**\n * Removes one attachment from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAttachment\n * @function\n * @param {AttachmentProperty} attachment\n */\n\n/**\n * Removes all attachments from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAttachments\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'attachment',\n iCalendarName: 'ATTACH'\n});\n/**\n * Returns an iterator over all relation properties\n *\n * @name AbstractRecurringComponent#getRelationIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all relation properties\n *\n * @name AbstractRecurringComponent#getRelationList\n * @function\n * @returns {RelationProperty[]}\n */\n\n/**\n * Removes a relation from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeRelation\n * @function\n * @param {RelationProperty} relation\n */\n\n/**\n * Removes all relations from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllRelations\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'relation',\n iCalendarName: 'RELATED-TO'\n});\n/**\n * Returns an iterator over all comments in this event / journal / task\n *\n * @name AbstractRecurringComponent#getCommentIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all comments in this event / journal / task\n *\n * @name AbstractRecurringComponent#getCommentList\n * @function\n * @returns {TextProperty[]}\n */\n\n/**\n * Removes a comment from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeComment\n * @function\n * @param {TextProperty} comment\n */\n\n/**\n * Removes all comments from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllComments\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'comment');\n/**\n * Returns an iterator over all contacts referenced in this event / journal / task\n *\n * @name AbstractRecurringComponent#getContactIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all contacts referenced in this event / journal / task\n *\n * @name AbstractRecurringComponent#getContactList\n * @function\n * @returns {TextProperty[]}\n */\n\n/**\n * Removes one contact from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeContact\n * @function\n * @param {TextProperty} contact\n */\n\n/**\n * Removes all contacts from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllContacts\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'contact');\n/**\n * Returns an iterator over all image properties\n *\n * @name AbstractRecurringComponent#getImageIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all image properties\n *\n * @name AbstractRecurringComponent#getImageList\n * @function\n * @returns {ImageProperty[]}\n */\n\n/**\n * Removes one image from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeImage\n * @function\n * @param {ImageProperty} image\n */\n\n/**\n * Removes all images from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllImages\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'image');\n/**\n * Returns an iterator over all request status\n *\n * @name AbstractRecurringComponent#getRequestStatusIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all request status\n *\n * @name AbstractRecurringComponent#getRequestStatusList\n * @function\n * @returns {RequestStatusProperty[]}\n */\n\n/**\n * Removes one request status from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeRequestStatus\n * @function\n * @param {RequestStatusProperty} requestStatus\n */\n\n/**\n * Removes all request status from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllRequestStatus\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n name: 'requestStatus',\n pluralName: 'requestStatus',\n iCalendarName: 'REQUEST-STATUS'\n});\n/**\n * Returns an iterator of all alarms\n *\n * @name AbstractRecurringComponent#getAlarmIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all alarms\n *\n * @name AbstractRecurringComponent#getAlarmList\n * @function\n * @returns {AlarmComponent[]}\n */\n\n/**\n * Removes an alarm from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAlarm\n * @function\n * @param {AlarmComponent} alarm\n */\n\n/**\n * Removes all alarms from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAlarms\n * @function\n */\n\nadvertiseComponent(AbstractRecurringComponent.prototype, 'alarm');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * Gets kind of birthday event\n * returns \"BDAY\", \"DEATHDATE\", \"ANNIVERSARY\"\n * or null if this is not a birthday event\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @returns {null|string}\n */\nfunction getTypeOfBirthdayEvent(eventComponent) {\n return eventComponent.getFirstPropertyFirstValue('X-NEXTCLOUD-BC-FIELD-TYPE');\n}\n/**\n * Gets icon for the birthday type\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @returns {string|null}\n */\n\nfunction getIconForBirthday(eventComponent) {\n const birthdayType = getTypeOfBirthdayEvent(eventComponent);\n\n switch (birthdayType) {\n case 'BDAY':\n return '🎂';\n\n case 'DEATHDATE':\n return '⚰️';\n\n case 'ANNIVERSARY':\n return '💍';\n\n default:\n return null;\n }\n}\n/**\n * Returns the age of the birthday person or null of no birth-year given\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @param {number} yearOfOccurrence The year to calculate the age for\n * @returns {null|number}\n */\n\nfunction getAgeOfBirthday(eventComponent, yearOfOccurrence) {\n if (!eventComponent.hasProperty('X-NEXTCLOUD-BC-YEAR')) {\n return null;\n }\n\n const yearOfBirth = eventComponent.getFirstPropertyFirstValue('X-NEXTCLOUD-BC-YEAR');\n return parseInt(yearOfOccurrence, 10) - parseInt(yearOfBirth, 10);\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class EventComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.1\n */\n\nclass EventComponent extends AbstractRecurringComponent {\n /**\n * Returns whether this event is an all-day event\n *\n * @returns {boolean}\n */\n isAllDay() {\n return this.startDate.isDate && this.endDate.isDate;\n }\n /**\n * Checks whether it's possible to switch from date-time to date or vise-versa\n *\n * @returns {boolean}\n */\n\n\n canModifyAllDay() {\n return !this.recurrenceManager.masterItem.isRecurring();\n }\n /**\n * Gets the calculated end-date of the event\n *\n * Quote from RFC 5545 3.6.1:\n * The \"DTSTART\" property for a \"VEVENT\" specifies the inclusive\n * start of the event. For recurring events, it also specifies the\n * very first instance in the recurrence set. The \"DTEND\" property\n * for a \"VEVENT\" calendar component specifies the non-inclusive end\n * of the event. For cases where a \"VEVENT\" calendar component\n * specifies a \"DTSTART\" property with a DATE value type but no\n * \"DTEND\" nor \"DURATION\" property, the event's duration is taken to\n * be one day. For cases where a \"VEVENT\" calendar component\n * specifies a \"DTSTART\" property with a DATE-TIME value type but no\n * \"DTEND\" property, the event ends on the same calendar date and\n * time of day specified by the \"DTSTART\" property.\n *\n * @returns {DateTimeValue}\n */\n\n\n get endDate() {\n if (this.hasProperty('dtend')) {\n return this.getFirstPropertyFirstValue('dtend');\n }\n\n const dtend = this.startDate.clone();\n\n if (this.hasProperty('duration')) {\n dtend.addDuration(this.getFirstPropertyFirstValue('duration'));\n } else if (this.startDate.isDate) {\n dtend.addDuration(DurationValue.fromSeconds(60 * 60 * 24));\n } // There is nothing to do when this event is not allday\n\n\n return dtend;\n }\n /**\n * Sets the end time of the event\n *\n * @param {DateTimeValue} end The end of the event\n */\n\n\n set endDate(end) {\n this.deleteAllProperties('duration');\n this.updatePropertyWithValue('dtend', end);\n }\n /**\n * Gets the calculated duration of the event\n *\n * @returns {DurationValue}\n */\n\n\n get duration() {\n if (this.hasProperty('duration')) {\n return this.getFirstPropertyFirstValue('duration');\n }\n\n return this.startDate.subtractDateWithTimezone(this.endDate);\n }\n /**\n * Sets the calculated duration of the event\n *\n * @param {DurationValue} duration The duration of the event\n */\n\n\n set duration(duration) {\n this.deleteAllProperties('dtend');\n this.updatePropertyWithValue('duration', duration);\n }\n /**\n * Sets the geographical position based on latitude and longitude\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n *\n * @param {Number} lat - latitude\n * @param {Number} long - longitude\n */\n\n\n setGeographicalPositionFromLatitudeAndLongitude(lat, long) {\n this.deleteAllProperties('GEO');\n this.addProperty(GeoProperty.fromPosition(lat, long));\n }\n /**\n * Adds a new conference property based on URI, label and features\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @param {String} uri The URI of the conference system\n * @param {String=} label The label for the conference system\n * @param {String[]=} features The features of the conference system\n */\n\n\n addConference(uri, label = null, features = null) {\n this._modify();\n\n this.addProperty(ConferenceProperty.fromURILabelAndFeatures(uri, label, features));\n }\n /**\n * Adds a duration to the start of the event\n *\n * @param {DurationValue} duration The duration to add\n */\n\n\n addDurationToStart(duration) {\n this.startDate.addDuration(duration);\n }\n /**\n * Adds a duration to the end of the event\n *\n * @param {DurationValue} duration The duration to add\n */\n\n\n addDurationToEnd(duration) {\n const endDate = this.endDate;\n endDate.addDuration(duration);\n this.endDate = endDate;\n }\n /**\n * Shifts the entire event by the given duration\n *\n * @param {DurationValue} delta The duration to shift event by\n * @param {Boolean} allDay Whether the updated event should be all-day or not\n * @param {Timezone} defaultTimezone The default timezone if moving from all-day to timed event\n * @param {DurationValue} defaultAllDayDuration The default all-day duration if moving from timed to all-day\n * @param {DurationValue} defaultTimedDuration The default timed duration if moving from all-day to timed\n */\n\n\n shiftByDuration(delta, allDay, defaultTimezone, defaultAllDayDuration, defaultTimedDuration) {\n const currentAllDay = this.isAllDay();\n\n if (currentAllDay !== allDay && !this.canModifyAllDay()) {\n throw new TypeError('Can\\'t modify all-day of this event');\n }\n\n this.startDate.isDate = allDay;\n this.startDate.addDuration(delta); // If this event was moved from the all-day area into the time-grid,\n // then we have to add a timezone and the default duration\n\n if (currentAllDay && !allDay) {\n this.startDate.replaceTimezone(defaultTimezone);\n this.endDate = this.startDate.clone();\n this.endDate.addDuration(defaultTimedDuration);\n } // If this event was moved from the time-grid into the all-day area,\n // then we have to change the default duration\n\n\n if (!currentAllDay && allDay) {\n this.endDate = this.startDate.clone();\n this.endDate.addDuration(defaultAllDayDuration);\n } // If this event was only moved inside the time-grid or only inside\n // the all-day area, then we only have to adjust the end-date\n\n\n if (currentAllDay === allDay) {\n const endDate = this.endDate;\n endDate.addDuration(delta);\n this.endDate = endDate;\n }\n }\n /**\n * Checks if this is a birthday event\n *\n * @returns {boolean}\n */\n\n\n isBirthdayEvent() {\n return getTypeOfBirthdayEvent(this) === 'BDAY';\n }\n /**\n * Gets the icon to the birthday event\n *\n * @returns {string}\n */\n\n\n getIconForBirthdayEvent() {\n return getIconForBirthday(this);\n }\n /**\n * Calculates the age of the birthday\n *\n * @returns {number}\n */\n\n\n getAgeForBirthdayEvent() {\n return getAgeOfBirthday(this, this.startDate.year);\n }\n /**\n * Serializes the entire series to ICS\n *\n * @returns {string}\n */\n\n\n toICSEntireSeries() {\n return this.root.toICS();\n }\n /**\n * Serializes exactly this recurrence to ICS\n * It removes all recurrence information\n *\n * @returns {string}\n */\n\n\n toICSThisOccurrence() {\n const clone = this.clone();\n clone.deleteAllProperties('RRULE');\n clone.deleteAllProperties('EXRULE');\n clone.deleteAllProperties('RDATE');\n clone.deleteAllProperties('EXDATE');\n clone.deleteAllProperties('RECURRENCE-ID');\n clone.root = clone.root.constructor.fromEmpty();\n clone.parent = clone.root;\n clone.root.addComponent(clone);\n return clone.root.toICS();\n }\n /**\n * Checks if this event is in a given time-frame\n *\n * @param {DateTimeValue} start Start of time-range to check\n * @param {DateTimeValue} end End of time-range to check\n * @returns {boolean}\n */\n\n\n isInTimeFrame(start, end) {\n return start.compare(this.endDate) <= 0 && end.compare(this.startDate) >= 0;\n }\n\n}\n/**\n * Time-transparency of this event.\n * If set to TRANSPARENT, this event will be ignored for FREE/BUSY calculations.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.7\n *\n * @name EventComponent#timeTransparency\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n name: 'timeTransparency',\n iCalendarName: 'TRANSP',\n allowedValues: ['OPAQUE', 'TRANSPARENT'],\n defaultValue: 'OPAQUE'\n});\n/**\n * Description of this event.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name EventComponent#description\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, 'description');\n/**\n * Geographical position of this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n *\n * @name EventComponent#geographicalPosition\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n name: 'geographicalPosition',\n iCalendarName: 'GEO'\n});\n/**\n * Location that this event takes place in\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.7\n *\n * @name EventComponent#location\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, 'location');\n/**\n * Priority of this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.9\n *\n * @name EventComponent#priority\n * @type Number\n */\n\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n name: 'priority',\n allowedValues: Array(9).keys(),\n defaultValue: 0,\n unknownValue: 0\n});\n/**\n * Returns an iterator over all resources\n * If the parameter lang is given, it will only\n * return an iterator for Resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#getResourceIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all resources\n * If the parameter lang is given, it will only\n * return an iterator for resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#getResourceList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#addResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#removeResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes all resources from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#clearAllResources\n * @function\n * @param {String=} lang\n */\n\nadvertiseMultiValueStringPropertySeparatedByLang(EventComponent.prototype, {\n name: 'resource',\n iCalendarName: 'RESOURCES'\n});\n/**\n * Gets an iterator over all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#getConferenceIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Gets a list of all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#getConferenceList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a conference from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#removeConference\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all conferences from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#clearAllConferences\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(EventComponent.prototype, 'conference');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class FreeBusyComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.4\n */\n\nclass FreeBusyComponent extends AbstractComponent {\n /**\n * Gets the start-date of the FreeBusy component\n *\n * @returns {DateTimeValue}\n */\n get startDate() {\n return this.getFirstPropertyFirstValue('DTSTART');\n }\n /**\n * Sets the start-date of the FreeBusy component\n *\n * @param {DateTimeValue} startDate The start of the queried time-range\n */\n\n\n set startDate(startDate) {\n this._modify();\n\n this.updatePropertyWithValue('DTSTART', startDate.getInTimezone(Timezone.utc));\n }\n /**\n * Gets the end-date of the FreeBusy component\n *\n * @returns {DateTimeValue}\n */\n\n\n get endDate() {\n return this.getFirstPropertyFirstValue('DTEND');\n }\n /**\n * Sets the start-date of the FreeBusy component\n *\n * @param {DateTimeValue} endDate The end of the queried time-range\n */\n\n\n set endDate(endDate) {\n this._modify();\n\n this.updatePropertyWithValue('DTEND', endDate.getInTimezone(Timezone.utc));\n }\n /**\n * Gets an iterator over all FreeBusyProperties\n */\n\n\n *getFreeBusyIterator() {\n yield* this.getPropertyIterator('FREEBUSY');\n }\n /**\n * Adds a new attendee based on their name and email-address\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @param {String} name The name of the attendee to add\n * @param {String} email The email-address of the attendee to add\n */\n\n\n addAttendeeFromNameAndEMail(name, email) {\n this._modify();\n\n this.addProperty(AttendeeProperty.fromNameAndEMail(name, email));\n }\n /**\n * Sets the organiser property from common-name and email address\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n *\n * @param {String} name The name of the organizer\n * @param {String} email The email-address of the organizer\n */\n\n\n setOrganizerFromNameAndEMail(name, email) {\n this._modify();\n\n this.deleteAllProperties('ORGANIZER');\n this.addProperty(AttendeeProperty.fromNameAndEMail(name, email, true));\n }\n\n}\n/**\n * The organizer of this FreeBusy component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n *\n * @name FreeBusyComponent#organizer\n * @type {AttendeeProperty}\n */\n\nadvertiseSingleOccurrenceProperty(FreeBusyComponent.prototype, 'organizer');\n/**\n * The UID of this FreeBusy component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.7\n *\n * @name FreeBusyComponent#organizer\n * @type {AttendeeProperty}\n */\n\nadvertiseSingleOccurrenceProperty(FreeBusyComponent.prototype, 'uid');\n/**\n * Returns an iterator of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#getAttendeeList\n * @function\n * @returns {AttendeeProperty[]}\n */\n\n/**\n * Removes an attendee\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee\n */\n\n/**\n * Removes all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#clearAllAttendees\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(FreeBusyComponent.prototype, 'attendee');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class JournalComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.3\n */\n\nclass JournalComponent extends AbstractRecurringComponent {\n /**\n * Adds a new description property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @param {String} description The description text\n */\n addDescription(description) {\n this.addProperty(new TextProperty('DESCRIPTION', description));\n }\n\n}\n/**\n * Gets an iterator over all description properties\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#getDescriptionIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Gets a list of all description properties\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#getDescriptionList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a description from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#removeDescription\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all descriptions from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#clearAllDescriptions\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(JournalComponent.prototype, 'description');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ToDoComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.2\n */\n\nclass ToDoComponent extends AbstractRecurringComponent {\n /**\n * Returns whether this event is an all-day event\n *\n * @returns {boolean}\n */\n isAllDay() {\n const propertiesToCheck = ['DTSTART', 'DUE'];\n\n for (const propertyToCheck of propertiesToCheck) {\n if (this.hasProperty(propertyToCheck)) {\n return this.getFirstPropertyFirstValue(propertyToCheck).isDate;\n }\n } // If a task is not associated with any date, it is defined to\n // occur on any successive date until it is completed.\n // We are treating it as all-day in that case.\n\n\n return true;\n }\n /**\n * Checks whether it's possible to switch from date-time to date or vise-versa\n *\n * @returns {boolean}\n */\n\n\n canModifyAllDay() {\n if (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n return false;\n }\n\n return !this.recurrenceManager.masterItem.isRecurring();\n }\n /**\n * Gets the calculated end-date of the task\n *\n * If there is a due-date, we will just return that.\n * If there is a start-date and a duration, we will\n * calculate the end-date based on that.\n *\n * If there is neither a due-date nor a combination\n * of start-date and duration, we just return null\n *\n * @returns {DateTimeValue|null}\n */\n\n\n get endDate() {\n if (this.hasProperty('due')) {\n return this.getFirstPropertyFirstValue('due');\n }\n\n if (!this.hasProperty('dtstart') || !this.hasProperty('duration')) {\n return null;\n }\n\n const endDate = this.startDate.clone();\n endDate.addDuration(this.getFirstPropertyFirstValue('duration'));\n return endDate;\n }\n /**\n * Shifts the entire task by the given duration\n *\n * @param {DurationValue} delta The duration to shift event by\n * @param {Boolean} allDay Whether the updated event should be all-day or not\n * @param {Timezone} defaultTimezone The default timezone if moving from all-day to timed event\n * @param {DurationValue} defaultAllDayDuration The default all-day duration if moving from timed to all-day\n * @param {DurationValue} defaultTimedDuration The default timed duration if moving from all-day to timed\n */\n\n\n shiftByDuration(delta, allDay, defaultTimezone, defaultAllDayDuration, defaultTimedDuration) {\n const currentAllDay = this.isAllDay();\n\n if (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n throw new TypeError('This task does not have a start-date nor due-date');\n }\n\n if (currentAllDay !== allDay && !this.canModifyAllDay()) {\n throw new TypeError('Can\\'t modify all-day of this todo');\n } // If this task has a start-date, update it\n // This is especially important, if you shift\n // the task by a negative duration, because\n // dtstart always has to be prior to the due date\n\n\n if (this.hasProperty('dtstart')) {\n this.startDate.isDate = allDay;\n this.startDate.addDuration(delta);\n\n if (currentAllDay && !allDay) {\n this.startDate.replaceTimezone(defaultTimezone);\n }\n }\n\n if (this.hasProperty('due')) {\n this.dueTime.isDate = allDay;\n this.dueTime.addDuration(delta);\n\n if (currentAllDay && !allDay) {\n this.dueTime.replaceTimezone(defaultTimezone);\n }\n }\n }\n /**\n * Checks if this event is in a given time-frame\n *\n * @param {DateTimeValue} start Start of time-range to check\n * @param {DateTimeValue} end End of time-range to check\n * @returns {boolean}\n */\n\n\n isInTimeFrame(start, end) {\n if (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n return true;\n }\n\n if (!this.hasProperty('dtstart') && this.hasProperty('due')) {\n return start.compare(this.endDate) <= 0;\n }\n\n return start.compare(this.endDate) <= 0 && end.compare(this.startDate) >= 0;\n }\n /**\n * Gets the geographical position property\n *\n * @returns {GeoProperty}\n */\n\n\n get geographicalPosition() {\n return this.getFirstProperty('GEO');\n }\n /**\n * Sets the geographical position based on latitude and longitude\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n *\n * @param {Number} lat - latitude\n * @param {Number} long - longitude\n */\n\n\n setGeographicalPositionFromLatitudeAndLongitude(lat, long) {\n this.deleteAllProperties('GEO');\n this.addProperty(GeoProperty.fromPosition(lat, long));\n }\n /**\n * Adds a new conference property based on URI, label and features\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @param {String} uri The URI of the conference\n * @param {String=} label The label of the conference\n * @param {String[]=} features Supported features of conference-system\n */\n\n\n addConference(uri, label = null, features = null) {\n this.addProperty(ConferenceProperty.fromURILabelAndFeatures(uri, label, features));\n }\n\n}\n/**\n * The time when a task was completed\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.1\n *\n * @name ToDoComponent#completedTime\n * @type {DateTimeValue}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n name: 'completedTime',\n iCalendarName: 'COMPLETED'\n});\n/**\n * The time when a task is due\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.3\n *\n * @name ToDoComponent#dueTime\n * @type {DateTimeValue}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n name: 'dueTime',\n iCalendarName: 'DUE'\n});\n/**\n * The time when a task was completed\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.5\n *\n * @name ToDoComponent#duration\n * @type {DurationValue}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n name: 'duration'\n});\n/**\n * The percentage a task was already fulfilled\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.8\n *\n * @name ToDoComponent#percent\n * @type {Number}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n name: 'percent',\n iCalendarName: 'PERCENT-COMPLETE'\n});\n/**\n * Description of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name ToDoComponent#description\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, 'description');\n/**\n * Location of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.7\n *\n * @name ToDoComponent#location\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, 'location');\n/**\n * Priority of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.9\n *\n * @name ToDoComponent#priority\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n name: 'priority',\n allowedValues: Array.from(Array(10).keys()),\n defaultValue: 0,\n unknownValue: 0\n});\n/**\n * Returns an iterator over all resources\n * If the parameter lang is given, it will only\n * return an iterator for Resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#getResourceIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator}\n */\n\n/**\n * Returns a list of all resources\n * If the parameter lang is given, it will only\n * return an iterator for resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#getResourceList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#addResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#removeResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes all resources from this task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#clearAllResources\n * @function\n * @param {String=} lang\n */\n\nadvertiseMultiValueStringPropertySeparatedByLang(ToDoComponent.prototype, {\n name: 'resource',\n iCalendarName: 'RESOURCES'\n});\n/**\n * Gets an iterator over all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#getConferenceIterator\n * @function\n * @returns {IterableIterator}\n */\n\n/**\n * Gets a list of all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#getConferenceList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a conference from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#removeConference\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all conferences from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#clearAllConferences\n * @function\n */\n\nadvertiseMultipleOccurrenceProperty(ToDoComponent.prototype, 'conference');\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * Gets the constructor for a component name\n * This will only return a constructor for components,\n * that can be used in the root of a calendar-document\n *\n * @param {String} compName Name of the component to get constructor for\n * @returns {AbstractComponent|ToDoComponent|JournalComponent|FreeBusyComponent|TimezoneComponent|EventComponent}\n */\n\nfunction getConstructorForComponentName(compName) {\n switch (uc(compName)) {\n case 'VEVENT':\n return EventComponent;\n\n case 'VFREEBUSY':\n return FreeBusyComponent;\n\n case 'VJOURNAL':\n return JournalComponent;\n\n case 'VTIMEZONE':\n return TimezoneComponent;\n\n case 'VTODO':\n return ToDoComponent;\n\n default:\n return AbstractComponent;\n }\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * This class represents one VCALENDAR block\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.4\n */\n\nclass CalendarComponent extends AbstractComponent {\n /**\n * Constructor\n *\n * @inheritDoc\n */\n constructor(name = 'VCALENDAR', properties = [], components = []) {\n super(name, properties, components);\n this.root = this;\n this.parent = null;\n }\n /**\n * Gets an iterator over all VTIMEZONE components\n */\n\n\n *getTimezoneIterator() {\n yield* this.getComponentIterator('vtimezone');\n }\n /**\n * Gets an iterator over all VObject components\n */\n\n\n *getVObjectIterator() {\n yield* this.getEventIterator();\n yield* this.getJournalIterator();\n yield* this.getTodoIterator();\n }\n /**\n * Gets an iterator over all VEVENT components\n */\n\n\n *getEventIterator() {\n yield* this.getComponentIterator('vevent');\n }\n /**\n * Gets an iterator over all VFREEBUSY components\n */\n\n\n *getFreebusyIterator() {\n yield* this.getComponentIterator('vfreebusy');\n }\n /**\n * Gets an iterator over all VJOURNAL components\n */\n\n\n *getJournalIterator() {\n yield* this.getComponentIterator('vjournal');\n }\n /**\n * Gets an iterator over all VTODO components\n */\n\n\n *getTodoIterator() {\n yield* this.getComponentIterator('vtodo');\n }\n /**\n * @inheritDoc\n */\n\n\n static _getConstructorForComponentName(componentName) {\n return getConstructorForComponentName(componentName);\n }\n /**\n * Converts this calendar component into text/calendar\n *\n * @param {boolean} cleanUpTimezones Whether or not to clean up timezone data\n * @returns {string}\n */\n\n\n toICS(cleanUpTimezones = true) {\n for (const vObject of this.getVObjectIterator()) {\n vObject.undirtify();\n }\n\n const icalRoot = this.toICALJs();\n\n if (cleanUpTimezones) {\n ICAL.helpers.updateTimezones(icalRoot);\n }\n\n return icalRoot.toString();\n }\n /**\n * Creates a new empty calendar-component\n *\n * @param {[String][]=} additionalProps Additional props to add to empty calendar-document\n * @returns {CalendarComponent}\n */\n\n\n static fromEmpty(additionalProps = []) {\n return new this('VCALENDAR', [['prodid', getConfig('PRODID', '-//IDN georgehrke.com//calendar-js//EN')], ['calscale', 'GREGORIAN'], ['version', '2.0']].concat(additionalProps));\n }\n /**\n * Creates a new calendar-component with a method\n *\n * @param {string} method The method for the calendar-document\n * @returns {CalendarComponent}\n */\n\n\n static fromMethod(method) {\n return this.fromEmpty([['method', method]]);\n }\n /**\n * @inheritDoc\n */\n\n\n static fromICALJs(icalValue) {\n const comp = super.fromICALJs(icalValue);\n comp.root = comp;\n return comp;\n }\n\n}\n/**\n * ProductId representing the software that created this calendar-document\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.3\n *\n * @name CalendarComponent#productId\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n name: 'productId',\n iCalendarName: 'PRODID'\n});\n/**\n * iCalendar version of this calendar-document\n * minver and maxver parameters are not supported, since they\n * are virtually used by no calendaring-software\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.4\n *\n * @name CalendarComponent#version\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n name: 'version'\n});\n/**\n * Calendar-scale used in this calendar-document\n * The default and only supported calendar-scale is GREGORIAN.\n * There is an iCalendar-extension about non-gregorian RRULES,\n * but that is not supported by calendar-js at the moment\n * @see https://tools.ietf.org/html/rfc7529\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.1\n *\n * @name CalendarComponent#calendarScale\n * @type {String}\n * @default \"GREGORIAN\"\n */\n\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n name: 'calendarScale',\n iCalendarName: 'CALSCALE',\n defaultValue: 'GREGORIAN'\n});\n/**\n * Method of this calendar-document when being used in an iTIP message\n * Please see https://tools.ietf.org/html/rfc5546#section-3.2 for more information\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.2\n *\n * @name CalendarComponent#method\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n name: 'method'\n});\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @class AbstractRepairStep\n * @classdesc A repair step is used to fix calendar-data before it is parsed\n */\nclass AbstractRepairStep {\n /**\n * @constructor\n */\n constructor() {\n if (new.target === AbstractRepairStep) {\n throw new TypeError('Cannot instantiate abstract class AbstractRepairStep');\n }\n }\n /**\n * @param {String} input String representation of the data to repair\n */\n\n\n repair(input) {\n throw new TypeError('Abstract method not implemented by subclass');\n }\n /**\n * @returns {number}\n */\n\n\n static priority() {\n return 0;\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ICalendarAddMissingUIDRepairStep\n */\n\nclass ICalendarAddMissingUIDRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/^BEGIN:(VEVENT|VTODO|VJOURNAL)$(((?!^END:(VEVENT|VTODO|VJOURNAL)$)(?!^UID.*$)(.|\\n))*)^END:(VEVENT|VTODO|VJOURNAL)$\\n/gm, (match, vobjectName, vObjectBlock) => {\n return 'BEGIN:' + vobjectName + '\\r\\n' + 'UID:' + v4() + vObjectBlock + 'END:' + vobjectName + '\\r\\n';\n });\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ICalendarAddMissingValueDateDoubleColonRepairStep\n */\n\nclass ICalendarAddMissingValueDateDoubleColonRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/^(DTSTART|DTEND)(.*):([0-9]{8})T(::)$/gm, (match, propName, parameters, date) => {\n return propName + ';VALUE=DATE:' + date;\n });\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ICalendarAddMissingValueDateRepairStep\n */\n\nclass ICalendarAddMissingValueDateRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/^(DTSTART|DTEND)(((?!VALUE=DATE).)*):([0-9]{8})$/gm, (match, propName, parameters, _, date) => {\n return propName + parameters + ';VALUE=DATE:' + date;\n });\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ICalendarEmptyTriggerRepairStep\n * @classdesc This repair step fixes malformed TRIGGER properties\n */\n\nclass ICalendarEmptyTriggerRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/^TRIGGER:P$/gm, 'TRIGGER:P0D').replace(/^TRIGGER:-P$/gm, 'TRIGGER:P0D');\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass ICalendarIllegalCreatedRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/^CREATED:00001231T000000Z$/gm, 'CREATED:19700101T000000Z');\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ICalendarMultipleVCalendarBlocksRepairStep\n * @classdesc This repair step merges multiple BEGIN:VCALENDAR...END:VCALENDAR blocks\n */\n\nclass ICalendarMultipleVCalendarBlocksRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n let containsProdId = false;\n let containsVersion = false;\n let containsCalscale = false;\n const includedTimezones = new Set();\n return ics.replace(/^END:VCALENDAR$(((?!^BEGIN:)(.|\\n))*)^BEGIN:VCALENDAR$\\n/gm, '').replace(/^PRODID:(.*)$\\n/gm, match => {\n if (containsProdId) {\n return '';\n }\n\n containsProdId = true;\n return match;\n }).replace(/^VERSION:(.*)$\\n/gm, match => {\n if (containsVersion) {\n return '';\n }\n\n containsVersion = true;\n return match;\n }).replace(/^CALSCALE:(.*)$\\n/gm, match => {\n if (containsCalscale) {\n return '';\n }\n\n containsCalscale = true;\n return match;\n }).replace(/^BEGIN:VTIMEZONE$(((?!^END:VTIMEZONE$)(.|\\n))*)^END:VTIMEZONE$\\n/gm, match => {\n const tzidMatcher = match.match(/^TZID:(.*)$/gm); // If this Timezone definition contains no TZID for some reason,\n // just remove it, because we can't use it anyway\n\n if (tzidMatcher === null) {\n return '';\n }\n\n const tzid = uc(tzidMatcher[0].substr(5));\n\n if (includedTimezones.has(tzid)) {\n // If we already included this timezone, just skip\n return '';\n }\n\n includedTimezones.add(tzid);\n return match;\n });\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ICalendarRemoveXNCGroupIdRepairStep\n * @classdesc This repair step removes the X-NC-GroupID parameter used in previous versions of Nextcloud\n */\n\nclass ICalendarRemoveXNCGroupIdRepairStep extends AbstractRepairStep {\n /**\n * Please see the corresponding test file for an example of broken calendar-data\n *\n * @inheritDoc\n */\n repair(ics) {\n return ics.replace(/(^.*)(;X-NC-GROUP-ID=\\d+)(:.*$)/gm, '$1$3');\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * Get an iterator over all repair steps for iCalendar documents\n */\n\nfunction* getRepairSteps() {\n yield ICalendarAddMissingUIDRepairStep;\n yield ICalendarAddMissingValueDateDoubleColonRepairStep;\n yield ICalendarAddMissingValueDateRepairStep;\n yield ICalendarEmptyTriggerRepairStep;\n yield ICalendarIllegalCreatedRepairStep;\n yield ICalendarMultipleVCalendarBlocksRepairStep;\n yield ICalendarRemoveXNCGroupIdRepairStep;\n}\n\nvar version = \"2.2019c\";\nvar aliases = {\n\t\"AUS Central Standard Time\": {\n\t\taliasTo: \"Australia/Darwin\"\n\t},\n\t\"AUS Eastern Standard Time\": {\n\t\taliasTo: \"Australia/Sydney\"\n\t},\n\t\"Afghanistan Standard Time\": {\n\t\taliasTo: \"Asia/Kabul\"\n\t},\n\t\"Africa/Asmera\": {\n\t\taliasTo: \"Africa/Asmara\"\n\t},\n\t\"Africa/Timbuktu\": {\n\t\taliasTo: \"Africa/Bamako\"\n\t},\n\t\"Alaskan Standard Time\": {\n\t\taliasTo: \"America/Anchorage\"\n\t},\n\t\"America/Argentina/ComodRivadavia\": {\n\t\taliasTo: \"America/Argentina/Catamarca\"\n\t},\n\t\"America/Buenos_Aires\": {\n\t\taliasTo: \"America/Argentina/Buenos_Aires\"\n\t},\n\t\"America/Louisville\": {\n\t\taliasTo: \"America/Kentucky/Louisville\"\n\t},\n\t\"America/Montreal\": {\n\t\taliasTo: \"America/Toronto\"\n\t},\n\t\"America/Santa_Isabel\": {\n\t\taliasTo: \"America/Tijuana\"\n\t},\n\t\"Arab Standard Time\": {\n\t\taliasTo: \"Asia/Riyadh\"\n\t},\n\t\"Arabian Standard Time\": {\n\t\taliasTo: \"Asia/Dubai\"\n\t},\n\t\"Arabic Standard Time\": {\n\t\taliasTo: \"Asia/Baghdad\"\n\t},\n\t\"Argentina Standard Time\": {\n\t\taliasTo: \"America/Argentina/Buenos_Aires\"\n\t},\n\t\"Asia/Calcutta\": {\n\t\taliasTo: \"Asia/Kolkata\"\n\t},\n\t\"Asia/Katmandu\": {\n\t\taliasTo: \"Asia/Kathmandu\"\n\t},\n\t\"Asia/Rangoon\": {\n\t\taliasTo: \"Asia/Yangon\"\n\t},\n\t\"Asia/Saigon\": {\n\t\taliasTo: \"Asia/Ho_Chi_Minh\"\n\t},\n\t\"Atlantic Standard Time\": {\n\t\taliasTo: \"America/Halifax\"\n\t},\n\t\"Atlantic/Faeroe\": {\n\t\taliasTo: \"Atlantic/Faroe\"\n\t},\n\t\"Atlantic/Jan_Mayen\": {\n\t\taliasTo: \"Europe/Oslo\"\n\t},\n\t\"Azerbaijan Standard Time\": {\n\t\taliasTo: \"Asia/Baku\"\n\t},\n\t\"Azores Standard Time\": {\n\t\taliasTo: \"Atlantic/Azores\"\n\t},\n\t\"Bahia Standard Time\": {\n\t\taliasTo: \"America/Bahia\"\n\t},\n\t\"Bangladesh Standard Time\": {\n\t\taliasTo: \"Asia/Dhaka\"\n\t},\n\t\"Belarus Standard Time\": {\n\t\taliasTo: \"Europe/Minsk\"\n\t},\n\t\"Canada Central Standard Time\": {\n\t\taliasTo: \"America/Regina\"\n\t},\n\t\"Cape Verde Standard Time\": {\n\t\taliasTo: \"Atlantic/Cape_Verde\"\n\t},\n\t\"Caucasus Standard Time\": {\n\t\taliasTo: \"Asia/Yerevan\"\n\t},\n\t\"Cen. Australia Standard Time\": {\n\t\taliasTo: \"Australia/Adelaide\"\n\t},\n\t\"Central America Standard Time\": {\n\t\taliasTo: \"America/Guatemala\"\n\t},\n\t\"Central Asia Standard Time\": {\n\t\taliasTo: \"Asia/Almaty\"\n\t},\n\t\"Central Brazilian Standard Time\": {\n\t\taliasTo: \"America/Cuiaba\"\n\t},\n\t\"Central Europe Standard Time\": {\n\t\taliasTo: \"Europe/Budapest\"\n\t},\n\t\"Central European Standard Time\": {\n\t\taliasTo: \"Europe/Warsaw\"\n\t},\n\t\"Central Pacific Standard Time\": {\n\t\taliasTo: \"Pacific/Guadalcanal\"\n\t},\n\t\"Central Standard Time\": {\n\t\taliasTo: \"America/Chicago\"\n\t},\n\t\"Central Standard Time (Mexico)\": {\n\t\taliasTo: \"America/Mexico_City\"\n\t},\n\t\"China Standard Time\": {\n\t\taliasTo: \"Asia/Shanghai\"\n\t},\n\t\"E. Africa Standard Time\": {\n\t\taliasTo: \"Africa/Nairobi\"\n\t},\n\t\"E. Australia Standard Time\": {\n\t\taliasTo: \"Australia/Brisbane\"\n\t},\n\t\"E. South America Standard Time\": {\n\t\taliasTo: \"America/Sao_Paulo\"\n\t},\n\t\"Eastern Standard Time\": {\n\t\taliasTo: \"America/New_York\"\n\t},\n\t\"Egypt Standard Time\": {\n\t\taliasTo: \"Africa/Cairo\"\n\t},\n\t\"Ekaterinburg Standard Time\": {\n\t\taliasTo: \"Asia/Yekaterinburg\"\n\t},\n\t\"Etc/GMT\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Etc/GMT+0\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Etc/UCT\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Etc/UTC\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Etc/Unversal\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Etc/Zulu\": {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Europe/Belfast\": {\n\t\taliasTo: \"Europe/London\"\n\t},\n\t\"FLE Standard Time\": {\n\t\taliasTo: \"Europe/Kiev\"\n\t},\n\t\"Fiji Standard Time\": {\n\t\taliasTo: \"Pacific/Fiji\"\n\t},\n\tGMT: {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"GMT Standard Time\": {\n\t\taliasTo: \"Europe/London\"\n\t},\n\t\"GMT+0\": {\n\t\taliasTo: \"UTC\"\n\t},\n\tGMT0: {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"GTB Standard Time\": {\n\t\taliasTo: \"Europe/Bucharest\"\n\t},\n\t\"Georgian Standard Time\": {\n\t\taliasTo: \"Asia/Tbilisi\"\n\t},\n\t\"Greenland Standard Time\": {\n\t\taliasTo: \"America/Godthab\"\n\t},\n\tGreenwich: {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Greenwich Standard Time\": {\n\t\taliasTo: \"Atlantic/Reykjavik\"\n\t},\n\t\"Hawaiian Standard Time\": {\n\t\taliasTo: \"Pacific/Honolulu\"\n\t},\n\t\"India Standard Time\": {\n\t\taliasTo: \"Asia/Calcutta\"\n\t},\n\t\"Iran Standard Time\": {\n\t\taliasTo: \"Asia/Tehran\"\n\t},\n\t\"Israel Standard Time\": {\n\t\taliasTo: \"Asia/Jerusalem\"\n\t},\n\t\"Jordan Standard Time\": {\n\t\taliasTo: \"Asia/Amman\"\n\t},\n\t\"Kaliningrad Standard Time\": {\n\t\taliasTo: \"Europe/Kaliningrad\"\n\t},\n\t\"Korea Standard Time\": {\n\t\taliasTo: \"Asia/Seoul\"\n\t},\n\t\"Libya Standard Time\": {\n\t\taliasTo: \"Africa/Tripoli\"\n\t},\n\t\"Line Islands Standard Time\": {\n\t\taliasTo: \"Pacific/Kiritimati\"\n\t},\n\t\"Magadan Standard Time\": {\n\t\taliasTo: \"Asia/Magadan\"\n\t},\n\t\"Mauritius Standard Time\": {\n\t\taliasTo: \"Indian/Mauritius\"\n\t},\n\t\"Middle East Standard Time\": {\n\t\taliasTo: \"Asia/Beirut\"\n\t},\n\t\"Montevideo Standard Time\": {\n\t\taliasTo: \"America/Montevideo\"\n\t},\n\t\"Morocco Standard Time\": {\n\t\taliasTo: \"Africa/Casablanca\"\n\t},\n\t\"Mountain Standard Time\": {\n\t\taliasTo: \"America/Denver\"\n\t},\n\t\"Mountain Standard Time (Mexico)\": {\n\t\taliasTo: \"America/Chihuahua\"\n\t},\n\t\"Myanmar Standard Time\": {\n\t\taliasTo: \"Asia/Rangoon\"\n\t},\n\t\"N. Central Asia Standard Time\": {\n\t\taliasTo: \"Asia/Novosibirsk\"\n\t},\n\t\"Namibia Standard Time\": {\n\t\taliasTo: \"Africa/Windhoek\"\n\t},\n\t\"Nepal Standard Time\": {\n\t\taliasTo: \"Asia/Katmandu\"\n\t},\n\t\"New Zealand Standard Time\": {\n\t\taliasTo: \"Pacific/Auckland\"\n\t},\n\t\"Newfoundland Standard Time\": {\n\t\taliasTo: \"America/St_Johns\"\n\t},\n\t\"North Asia East Standard Time\": {\n\t\taliasTo: \"Asia/Irkutsk\"\n\t},\n\t\"North Asia Standard Time\": {\n\t\taliasTo: \"Asia/Krasnoyarsk\"\n\t},\n\t\"Pacific SA Standard Time\": {\n\t\taliasTo: \"America/Santiago\"\n\t},\n\t\"Pacific Standard Time\": {\n\t\taliasTo: \"America/Los_Angeles\"\n\t},\n\t\"Pacific Standard Time (Mexico)\": {\n\t\taliasTo: \"America/Santa_Isabel\"\n\t},\n\t\"Pacific/Johnston\": {\n\t\taliasTo: \"Pacific/Honolulu\"\n\t},\n\t\"Pakistan Standard Time\": {\n\t\taliasTo: \"Asia/Karachi\"\n\t},\n\t\"Paraguay Standard Time\": {\n\t\taliasTo: \"America/Asuncion\"\n\t},\n\t\"Romance Standard Time\": {\n\t\taliasTo: \"Europe/Paris\"\n\t},\n\t\"Russia Time Zone 10\": {\n\t\taliasTo: \"Asia/Srednekolymsk\"\n\t},\n\t\"Russia Time Zone 11\": {\n\t\taliasTo: \"Asia/Kamchatka\"\n\t},\n\t\"Russia Time Zone 3\": {\n\t\taliasTo: \"Europe/Samara\"\n\t},\n\t\"Russian Standard Time\": {\n\t\taliasTo: \"Europe/Moscow\"\n\t},\n\t\"SA Eastern Standard Time\": {\n\t\taliasTo: \"America/Cayenne\"\n\t},\n\t\"SA Pacific Standard Time\": {\n\t\taliasTo: \"America/Bogota\"\n\t},\n\t\"SA Western Standard Time\": {\n\t\taliasTo: \"America/La_Paz\"\n\t},\n\t\"SE Asia Standard Time\": {\n\t\taliasTo: \"Asia/Bangkok\"\n\t},\n\t\"Samoa Standard Time\": {\n\t\taliasTo: \"Pacific/Apia\"\n\t},\n\t\"Singapore Standard Time\": {\n\t\taliasTo: \"Asia/Singapore\"\n\t},\n\t\"South Africa Standard Time\": {\n\t\taliasTo: \"Africa/Johannesburg\"\n\t},\n\t\"Sri Lanka Standard Time\": {\n\t\taliasTo: \"Asia/Colombo\"\n\t},\n\t\"Syria Standard Time\": {\n\t\taliasTo: \"Asia/Damascus\"\n\t},\n\t\"Taipei Standard Time\": {\n\t\taliasTo: \"Asia/Taipei\"\n\t},\n\t\"Tasmania Standard Time\": {\n\t\taliasTo: \"Australia/Hobart\"\n\t},\n\t\"Tokyo Standard Time\": {\n\t\taliasTo: \"Asia/Tokyo\"\n\t},\n\t\"Tonga Standard Time\": {\n\t\taliasTo: \"Pacific/Tongatapu\"\n\t},\n\t\"Turkey Standard Time\": {\n\t\taliasTo: \"Europe/Istanbul\"\n\t},\n\tUCT: {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"US Eastern Standard Time\": {\n\t\taliasTo: \"America/Indiana/Indianapolis\"\n\t},\n\t\"US Mountain Standard Time\": {\n\t\taliasTo: \"America/Phoenix\"\n\t},\n\t\"US/Central\": {\n\t\taliasTo: \"America/Chicago\"\n\t},\n\t\"US/Eastern\": {\n\t\taliasTo: \"America/New_York\"\n\t},\n\t\"US/Mountain\": {\n\t\taliasTo: \"America/Denver\"\n\t},\n\t\"US/Pacific\": {\n\t\taliasTo: \"America/Los_Angeles\"\n\t},\n\t\"US/Pacific-New\": {\n\t\taliasTo: \"America/Los_Angeles\"\n\t},\n\t\"Ulaanbaatar Standard Time\": {\n\t\taliasTo: \"Asia/Ulaanbaatar\"\n\t},\n\tUniversal: {\n\t\taliasTo: \"UTC\"\n\t},\n\t\"Venezuela Standard Time\": {\n\t\taliasTo: \"America/Caracas\"\n\t},\n\t\"Vladivostok Standard Time\": {\n\t\taliasTo: \"Asia/Vladivostok\"\n\t},\n\t\"W. Australia Standard Time\": {\n\t\taliasTo: \"Australia/Perth\"\n\t},\n\t\"W. Central Africa Standard Time\": {\n\t\taliasTo: \"Africa/Lagos\"\n\t},\n\t\"W. Europe Standard Time\": {\n\t\taliasTo: \"Europe/Berlin\"\n\t},\n\t\"West Asia Standard Time\": {\n\t\taliasTo: \"Asia/Tashkent\"\n\t},\n\t\"West Pacific Standard Time\": {\n\t\taliasTo: \"Pacific/Port_Moresby\"\n\t},\n\t\"Yakutsk Standard Time\": {\n\t\taliasTo: \"Asia/Yakutsk\"\n\t},\n\tZ: {\n\t\taliasTo: \"UTC\"\n\t},\n\tZulu: {\n\t\taliasTo: \"UTC\"\n\t},\n\tutc: {\n\t\taliasTo: \"UTC\"\n\t}\n};\nvar zones = {\n\t\"Africa/Abidjan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0051900\",\n\t\tlongitude: \"-0040200\"\n\t},\n\t\"Africa/Accra\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0053300\",\n\t\tlongitude: \"+0001300\"\n\t},\n\t\"Africa/Addis_Ababa\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0090200\",\n\t\tlongitude: \"+0384200\"\n\t},\n\t\"Africa/Algiers\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0364700\",\n\t\tlongitude: \"+0030300\"\n\t},\n\t\"Africa/Asmara\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0152000\",\n\t\tlongitude: \"+0385300\"\n\t},\n\t\"Africa/Bamako\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0123900\",\n\t\tlongitude: \"-0080000\"\n\t},\n\t\"Africa/Bangui\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0042200\",\n\t\tlongitude: \"+0183500\"\n\t},\n\t\"Africa/Banjul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0132800\",\n\t\tlongitude: \"-0163900\"\n\t},\n\t\"Africa/Bissau\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0115100\",\n\t\tlongitude: \"-0153500\"\n\t},\n\t\"Africa/Blantyre\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0154700\",\n\t\tlongitude: \"+0350000\"\n\t},\n\t\"Africa/Brazzaville\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0041600\",\n\t\tlongitude: \"+0151700\"\n\t},\n\t\"Africa/Bujumbura\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0032300\",\n\t\tlongitude: \"+0292200\"\n\t},\n\t\"Africa/Cairo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0300300\",\n\t\tlongitude: \"+0311500\"\n\t},\n\t\"Africa/Casablanca\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20180325T020000\\r\\nRDATE:20180325T020000\\r\\nRDATE:20180617T020000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:20180513T030000\\r\\nRDATE:20180513T030000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20190609T020000\\r\\nRDATE:20190609T020000\\r\\nRDATE:20200524T020000\\r\\nRDATE:20210516T020000\\r\\nRDATE:20220508T020000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20181028T030000\\r\\nRDATE:20181028T030000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:20190505T030000\\r\\nRDATE:20190505T030000\\r\\nRDATE:20200419T030000\\r\\nRDATE:20210411T030000\\r\\nRDATE:20220327T030000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0333900\",\n\t\tlongitude: \"-0073500\"\n\t},\n\t\"Africa/Ceuta\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0355300\",\n\t\tlongitude: \"-0051900\"\n\t},\n\t\"Africa/Conakry\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0093100\",\n\t\tlongitude: \"-0134300\"\n\t},\n\t\"Africa/Dakar\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0144000\",\n\t\tlongitude: \"-0172600\"\n\t},\n\t\"Africa/Dar_es_Salaam\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0064800\",\n\t\tlongitude: \"+0391700\"\n\t},\n\t\"Africa/Djibouti\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0113600\",\n\t\tlongitude: \"+0430900\"\n\t},\n\t\"Africa/Douala\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0040300\",\n\t\tlongitude: \"+0094200\"\n\t},\n\t\"Africa/El_Aaiun\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20180325T020000\\r\\nRDATE:20180325T020000\\r\\nRDATE:20180617T020000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:20180513T030000\\r\\nRDATE:20180513T030000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20181028T030000\\r\\nRDATE:20181028T030000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:20190505T030000\\r\\nRDATE:20190505T030000\\r\\nRDATE:20200419T030000\\r\\nRDATE:20210411T030000\\r\\nRDATE:20220327T030000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:+01\\r\\nDTSTART:20190609T020000\\r\\nRDATE:20190609T020000\\r\\nRDATE:20200524T020000\\r\\nRDATE:20210516T020000\\r\\nRDATE:20220508T020000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0270900\",\n\t\tlongitude: \"-0131200\"\n\t},\n\t\"Africa/Freetown\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0083000\",\n\t\tlongitude: \"-0131500\"\n\t},\n\t\"Africa/Gaborone\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0243900\",\n\t\tlongitude: \"+0255500\"\n\t},\n\t\"Africa/Harare\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0175000\",\n\t\tlongitude: \"+0310300\"\n\t},\n\t\"Africa/Johannesburg\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:SAST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0261500\",\n\t\tlongitude: \"+0280000\"\n\t},\n\t\"Africa/Juba\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0045100\",\n\t\tlongitude: \"+0313700\"\n\t},\n\t\"Africa/Kampala\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0001900\",\n\t\tlongitude: \"+0322500\"\n\t},\n\t\"Africa/Khartoum\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0153600\",\n\t\tlongitude: \"+0323200\"\n\t},\n\t\"Africa/Kigali\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0015700\",\n\t\tlongitude: \"+0300400\"\n\t},\n\t\"Africa/Kinshasa\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0041800\",\n\t\tlongitude: \"+0151800\"\n\t},\n\t\"Africa/Lagos\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0062700\",\n\t\tlongitude: \"+0032400\"\n\t},\n\t\"Africa/Libreville\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0002300\",\n\t\tlongitude: \"+0092700\"\n\t},\n\t\"Africa/Lome\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0060800\",\n\t\tlongitude: \"+0011300\"\n\t},\n\t\"Africa/Luanda\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0084800\",\n\t\tlongitude: \"+0131400\"\n\t},\n\t\"Africa/Lubumbashi\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0114000\",\n\t\tlongitude: \"+0272800\"\n\t},\n\t\"Africa/Lusaka\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0152500\",\n\t\tlongitude: \"+0281700\"\n\t},\n\t\"Africa/Malabo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0034500\",\n\t\tlongitude: \"+0084700\"\n\t},\n\t\"Africa/Maputo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0255800\",\n\t\tlongitude: \"+0323500\"\n\t},\n\t\"Africa/Maseru\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:SAST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0292800\",\n\t\tlongitude: \"+0273000\"\n\t},\n\t\"Africa/Mbabane\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:SAST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0261800\",\n\t\tlongitude: \"+0310600\"\n\t},\n\t\"Africa/Mogadishu\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0020400\",\n\t\tlongitude: \"+0452200\"\n\t},\n\t\"Africa/Monrovia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0061800\",\n\t\tlongitude: \"-0104700\"\n\t},\n\t\"Africa/Nairobi\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0011700\",\n\t\tlongitude: \"+0364900\"\n\t},\n\t\"Africa/Ndjamena\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0120700\",\n\t\tlongitude: \"+0150300\"\n\t},\n\t\"Africa/Niamey\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0133100\",\n\t\tlongitude: \"+0020700\"\n\t},\n\t\"Africa/Nouakchott\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0180600\",\n\t\tlongitude: \"-0155700\"\n\t},\n\t\"Africa/Ouagadougou\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0122200\",\n\t\tlongitude: \"-0013100\"\n\t},\n\t\"Africa/Porto-Novo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0062900\",\n\t\tlongitude: \"+0023700\"\n\t},\n\t\"Africa/Sao_Tome\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WAT\\r\\nDTSTART:20180101T010000\\r\\nRDATE:20180101T010000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:20190101T020000\\r\\nRDATE:20190101T020000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0002000\",\n\t\tlongitude: \"+0064400\"\n\t},\n\t\"Africa/Tripoli\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0325400\",\n\t\tlongitude: \"+0131100\"\n\t},\n\t\"Africa/Tunis\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0364800\",\n\t\tlongitude: \"+0101100\"\n\t},\n\t\"Africa/Windhoek\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0223400\",\n\t\tlongitude: \"+0170600\"\n\t},\n\t\"America/Adak\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:HDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:HST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0515248\",\n\t\tlongitude: \"-1763929\"\n\t},\n\t\"America/Anchorage\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0611305\",\n\t\tlongitude: \"-1495401\"\n\t},\n\t\"America/Anguilla\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0181200\",\n\t\tlongitude: \"-0630400\"\n\t},\n\t\"America/Antigua\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0170300\",\n\t\tlongitude: \"-0614800\"\n\t},\n\t\"America/Araguaina\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0071200\",\n\t\tlongitude: \"-0481200\"\n\t},\n\t\"America/Argentina/Buenos_Aires\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0343600\",\n\t\tlongitude: \"-0582700\"\n\t},\n\t\"America/Argentina/Catamarca\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0282800\",\n\t\tlongitude: \"-0654700\"\n\t},\n\t\"America/Argentina/Cordoba\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0312400\",\n\t\tlongitude: \"-0641100\"\n\t},\n\t\"America/Argentina/Jujuy\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0241100\",\n\t\tlongitude: \"-0651800\"\n\t},\n\t\"America/Argentina/La_Rioja\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0292600\",\n\t\tlongitude: \"-0665100\"\n\t},\n\t\"America/Argentina/Mendoza\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0325300\",\n\t\tlongitude: \"-0684900\"\n\t},\n\t\"America/Argentina/Rio_Gallegos\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0513800\",\n\t\tlongitude: \"-0691300\"\n\t},\n\t\"America/Argentina/Salta\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0244700\",\n\t\tlongitude: \"-0652500\"\n\t},\n\t\"America/Argentina/San_Juan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0313200\",\n\t\tlongitude: \"-0683100\"\n\t},\n\t\"America/Argentina/San_Luis\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0331900\",\n\t\tlongitude: \"-0662100\"\n\t},\n\t\"America/Argentina/Tucuman\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0264900\",\n\t\tlongitude: \"-0651300\"\n\t},\n\t\"America/Argentina/Ushuaia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0544800\",\n\t\tlongitude: \"-0681800\"\n\t},\n\t\"America/Aruba\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0123000\",\n\t\tlongitude: \"-0695800\"\n\t},\n\t\"America/Asuncion\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19701004T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700322T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=4SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0251600\",\n\t\tlongitude: \"-0574000\"\n\t},\n\t\"America/Atikokan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0484531\",\n\t\tlongitude: \"-0913718\"\n\t},\n\t\"America/Bahia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0125900\",\n\t\tlongitude: \"-0383100\"\n\t},\n\t\"America/Bahia_Banderas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0204800\",\n\t\tlongitude: \"-1051500\"\n\t},\n\t\"America/Barbados\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0130600\",\n\t\tlongitude: \"-0593700\"\n\t},\n\t\"America/Belem\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0012700\",\n\t\tlongitude: \"-0482900\"\n\t},\n\t\"America/Belize\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0173000\",\n\t\tlongitude: \"-0881200\"\n\t},\n\t\"America/Blanc-Sablon\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0512500\",\n\t\tlongitude: \"-0570700\"\n\t},\n\t\"America/Boa_Vista\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0024900\",\n\t\tlongitude: \"-0604000\"\n\t},\n\t\"America/Bogota\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0043600\",\n\t\tlongitude: \"-0740500\"\n\t},\n\t\"America/Boise\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0433649\",\n\t\tlongitude: \"-1161209\"\n\t},\n\t\"America/Cambridge_Bay\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0690650\",\n\t\tlongitude: \"-1050310\"\n\t},\n\t\"America/Campo_Grande\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20181104T000000\\r\\nRDATE:20181104T000000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:20180218T000000\\r\\nRDATE:20180218T000000\\r\\nRDATE:20190217T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0202700\",\n\t\tlongitude: \"-0543700\"\n\t},\n\t\"America/Cancun\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0210500\",\n\t\tlongitude: \"-0864600\"\n\t},\n\t\"America/Caracas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0103000\",\n\t\tlongitude: \"-0665600\"\n\t},\n\t\"America/Cayenne\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0045600\",\n\t\tlongitude: \"-0522000\"\n\t},\n\t\"America/Cayman\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0191800\",\n\t\tlongitude: \"-0812300\"\n\t},\n\t\"America/Chicago\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0415100\",\n\t\tlongitude: \"-0873900\"\n\t},\n\t\"America/Chihuahua\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0283800\",\n\t\tlongitude: \"-1060500\"\n\t},\n\t\"America/Costa_Rica\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0095600\",\n\t\tlongitude: \"-0840500\"\n\t},\n\t\"America/Creston\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0490600\",\n\t\tlongitude: \"-1163100\"\n\t},\n\t\"America/Cuiaba\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20181104T000000\\r\\nRDATE:20181104T000000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:20180218T000000\\r\\nRDATE:20180218T000000\\r\\nRDATE:20190217T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0153500\",\n\t\tlongitude: \"-0560500\"\n\t},\n\t\"America/Curacao\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0121100\",\n\t\tlongitude: \"-0690000\"\n\t},\n\t\"America/Danmarkshavn\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0764600\",\n\t\tlongitude: \"-0184000\"\n\t},\n\t\"America/Dawson\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0640400\",\n\t\tlongitude: \"-1392500\"\n\t},\n\t\"America/Dawson_Creek\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0594600\",\n\t\tlongitude: \"-1201400\"\n\t},\n\t\"America/Denver\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0394421\",\n\t\tlongitude: \"-1045903\"\n\t},\n\t\"America/Detroit\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0421953\",\n\t\tlongitude: \"-0830245\"\n\t},\n\t\"America/Dominica\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0151800\",\n\t\tlongitude: \"-0612400\"\n\t},\n\t\"America/Edmonton\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0533300\",\n\t\tlongitude: \"-1132800\"\n\t},\n\t\"America/Eirunepe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0064000\",\n\t\tlongitude: \"-0695200\"\n\t},\n\t\"America/El_Salvador\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0134200\",\n\t\tlongitude: \"-0891200\"\n\t},\n\t\"America/Fort_Nelson\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0584800\",\n\t\tlongitude: \"-1224200\"\n\t},\n\t\"America/Fortaleza\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0034300\",\n\t\tlongitude: \"-0383000\"\n\t},\n\t\"America/Glace_Bay\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0461200\",\n\t\tlongitude: \"-0595700\"\n\t},\n\t\"America/Godthab\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700328T220000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19701024T230000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0641100\",\n\t\tlongitude: \"-0514400\"\n\t},\n\t\"America/Goose_Bay\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0532000\",\n\t\tlongitude: \"-0602500\"\n\t},\n\t\"America/Grand_Turk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:20181104T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:20190310T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:20180311T020000\\r\\nRDATE:20180311T020000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0212800\",\n\t\tlongitude: \"-0710800\"\n\t},\n\t\"America/Grenada\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0120300\",\n\t\tlongitude: \"-0614500\"\n\t},\n\t\"America/Guadeloupe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0161400\",\n\t\tlongitude: \"-0613200\"\n\t},\n\t\"America/Guatemala\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0143800\",\n\t\tlongitude: \"-0903100\"\n\t},\n\t\"America/Guayaquil\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0021000\",\n\t\tlongitude: \"-0795000\"\n\t},\n\t\"America/Guyana\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0064800\",\n\t\tlongitude: \"-0581000\"\n\t},\n\t\"America/Halifax\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0443900\",\n\t\tlongitude: \"-0633600\"\n\t},\n\t\"America/Havana\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0230800\",\n\t\tlongitude: \"-0822200\"\n\t},\n\t\"America/Hermosillo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0290400\",\n\t\tlongitude: \"-1105800\"\n\t},\n\t\"America/Indiana/Indianapolis\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0394606\",\n\t\tlongitude: \"-0860929\"\n\t},\n\t\"America/Indiana/Knox\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0411745\",\n\t\tlongitude: \"-0863730\"\n\t},\n\t\"America/Indiana/Marengo\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0382232\",\n\t\tlongitude: \"-0862041\"\n\t},\n\t\"America/Indiana/Petersburg\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0382931\",\n\t\tlongitude: \"-0871643\"\n\t},\n\t\"America/Indiana/Tell_City\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0375711\",\n\t\tlongitude: \"-0864541\"\n\t},\n\t\"America/Indiana/Vevay\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0384452\",\n\t\tlongitude: \"-0850402\"\n\t},\n\t\"America/Indiana/Vincennes\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0384038\",\n\t\tlongitude: \"-0873143\"\n\t},\n\t\"America/Indiana/Winamac\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0410305\",\n\t\tlongitude: \"-0863611\"\n\t},\n\t\"America/Inuvik\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0682059\",\n\t\tlongitude: \"-1334300\"\n\t},\n\t\"America/Iqaluit\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0634400\",\n\t\tlongitude: \"-0682800\"\n\t},\n\t\"America/Jamaica\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0175805\",\n\t\tlongitude: \"-0764736\"\n\t},\n\t\"America/Juneau\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0581807\",\n\t\tlongitude: \"-1342511\"\n\t},\n\t\"America/Kentucky/Louisville\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0381515\",\n\t\tlongitude: \"-0854534\"\n\t},\n\t\"America/Kentucky/Monticello\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0364947\",\n\t\tlongitude: \"-0845057\"\n\t},\n\t\"America/Kralendijk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0120903\",\n\t\tlongitude: \"-0681636\"\n\t},\n\t\"America/La_Paz\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0163000\",\n\t\tlongitude: \"-0680900\"\n\t},\n\t\"America/Lima\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0120300\",\n\t\tlongitude: \"-0770300\"\n\t},\n\t\"America/Los_Angeles\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0340308\",\n\t\tlongitude: \"-1181434\"\n\t},\n\t\"America/Lower_Princes\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0180305\",\n\t\tlongitude: \"-0630250\"\n\t},\n\t\"America/Maceio\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0094000\",\n\t\tlongitude: \"-0354300\"\n\t},\n\t\"America/Managua\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0120900\",\n\t\tlongitude: \"-0861700\"\n\t},\n\t\"America/Manaus\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0030800\",\n\t\tlongitude: \"-0600100\"\n\t},\n\t\"America/Marigot\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0180400\",\n\t\tlongitude: \"-0630500\"\n\t},\n\t\"America/Martinique\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0143600\",\n\t\tlongitude: \"-0610500\"\n\t},\n\t\"America/Matamoros\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0255000\",\n\t\tlongitude: \"-0973000\"\n\t},\n\t\"America/Mazatlan\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0231300\",\n\t\tlongitude: \"-1062500\"\n\t},\n\t\"America/Menominee\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0450628\",\n\t\tlongitude: \"-0873651\"\n\t},\n\t\"America/Merida\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0205800\",\n\t\tlongitude: \"-0893700\"\n\t},\n\t\"America/Metlakatla\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:20191103T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:20181104T020000\\r\\nRDATE:20181104T020000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:20190120T020000\\r\\nRDATE:20190120T020000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0550737\",\n\t\tlongitude: \"-1313435\"\n\t},\n\t\"America/Mexico_City\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0192400\",\n\t\tlongitude: \"-0990900\"\n\t},\n\t\"America/Miquelon\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0470300\",\n\t\tlongitude: \"-0562000\"\n\t},\n\t\"America/Moncton\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0460600\",\n\t\tlongitude: \"-0644700\"\n\t},\n\t\"America/Monterrey\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0254000\",\n\t\tlongitude: \"-1001900\"\n\t},\n\t\"America/Montevideo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0345433\",\n\t\tlongitude: \"-0561245\"\n\t},\n\t\"America/Montserrat\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0164300\",\n\t\tlongitude: \"-0621300\"\n\t},\n\t\"America/Nassau\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0250500\",\n\t\tlongitude: \"-0772100\"\n\t},\n\t\"America/New_York\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0404251\",\n\t\tlongitude: \"-0740023\"\n\t},\n\t\"America/Nipigon\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0490100\",\n\t\tlongitude: \"-0881600\"\n\t},\n\t\"America/Nome\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0643004\",\n\t\tlongitude: \"-1652423\"\n\t},\n\t\"America/Noronha\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0035100\",\n\t\tlongitude: \"-0322500\"\n\t},\n\t\"America/North_Dakota/Beulah\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0471551\",\n\t\tlongitude: \"-1014640\"\n\t},\n\t\"America/North_Dakota/Center\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0470659\",\n\t\tlongitude: \"-1011757\"\n\t},\n\t\"America/North_Dakota/New_Salem\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0465042\",\n\t\tlongitude: \"-1012439\"\n\t},\n\t\"America/Ojinaga\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0293400\",\n\t\tlongitude: \"-1042500\"\n\t},\n\t\"America/Panama\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0085800\",\n\t\tlongitude: \"-0793200\"\n\t},\n\t\"America/Pangnirtung\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0660800\",\n\t\tlongitude: \"-0654400\"\n\t},\n\t\"America/Paramaribo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0055000\",\n\t\tlongitude: \"-0551000\"\n\t},\n\t\"America/Phoenix\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0332654\",\n\t\tlongitude: \"-1120424\"\n\t},\n\t\"America/Port-au-Prince\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0183200\",\n\t\tlongitude: \"-0722000\"\n\t},\n\t\"America/Port_of_Spain\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0103900\",\n\t\tlongitude: \"-0613100\"\n\t},\n\t\"America/Porto_Velho\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0084600\",\n\t\tlongitude: \"-0635400\"\n\t},\n\t\"America/Puerto_Rico\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0182806\",\n\t\tlongitude: \"-0660622\"\n\t},\n\t\"America/Punta_Arenas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0530900\",\n\t\tlongitude: \"-0705500\"\n\t},\n\t\"America/Rainy_River\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0484300\",\n\t\tlongitude: \"-0943400\"\n\t},\n\t\"America/Rankin_Inlet\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0624900\",\n\t\tlongitude: \"-0920459\"\n\t},\n\t\"America/Recife\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0080300\",\n\t\tlongitude: \"-0345400\"\n\t},\n\t\"America/Regina\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0502400\",\n\t\tlongitude: \"-1043900\"\n\t},\n\t\"America/Resolute\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0744144\",\n\t\tlongitude: \"-0944945\"\n\t},\n\t\"America/Rio_Branco\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0095800\",\n\t\tlongitude: \"-0674800\"\n\t},\n\t\"America/Santarem\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0022600\",\n\t\tlongitude: \"-0545200\"\n\t},\n\t\"America/Santiago\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:20190407T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20190908T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20180812T000000\\r\\nRDATE:20180812T000000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:-04\\r\\nDTSTART:20180513T000000\\r\\nRDATE:20180513T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0332700\",\n\t\tlongitude: \"-0704000\"\n\t},\n\t\"America/Santo_Domingo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0182800\",\n\t\tlongitude: \"-0695400\"\n\t},\n\t\"America/Sao_Paulo\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:20181104T000000\\r\\nRDATE:20181104T000000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:20180218T000000\\r\\nRDATE:20180218T000000\\r\\nRDATE:20190217T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700101T000000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0233200\",\n\t\tlongitude: \"-0463700\"\n\t},\n\t\"America/Scoresbysund\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19701025T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0702900\",\n\t\tlongitude: \"-0215800\"\n\t},\n\t\"America/Sitka\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0571035\",\n\t\tlongitude: \"-1351807\"\n\t},\n\t\"America/St_Barthelemy\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0175300\",\n\t\tlongitude: \"-0625100\"\n\t},\n\t\"America/St_Johns\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0230\\r\\nTZOFFSETTO:-0330\\r\\nTZNAME:NST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0330\\r\\nTZOFFSETTO:-0230\\r\\nTZNAME:NDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0473400\",\n\t\tlongitude: \"-0524300\"\n\t},\n\t\"America/St_Kitts\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0171800\",\n\t\tlongitude: \"-0624300\"\n\t},\n\t\"America/St_Lucia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0140100\",\n\t\tlongitude: \"-0610000\"\n\t},\n\t\"America/St_Thomas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0182100\",\n\t\tlongitude: \"-0645600\"\n\t},\n\t\"America/St_Vincent\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0130900\",\n\t\tlongitude: \"-0611400\"\n\t},\n\t\"America/Swift_Current\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0501700\",\n\t\tlongitude: \"-1075000\"\n\t},\n\t\"America/Tegucigalpa\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0140600\",\n\t\tlongitude: \"-0871300\"\n\t},\n\t\"America/Thule\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0763400\",\n\t\tlongitude: \"-0684700\"\n\t},\n\t\"America/Thunder_Bay\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0482300\",\n\t\tlongitude: \"-0891500\"\n\t},\n\t\"America/Tijuana\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0323200\",\n\t\tlongitude: \"-1170100\"\n\t},\n\t\"America/Toronto\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:EDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:EST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0433900\",\n\t\tlongitude: \"-0792300\"\n\t},\n\t\"America/Tortola\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0182700\",\n\t\tlongitude: \"-0643700\"\n\t},\n\t\"America/Vancouver\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0491600\",\n\t\tlongitude: \"-1230700\"\n\t},\n\t\"America/Whitehorse\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:PDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:PST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0604300\",\n\t\tlongitude: \"-1350300\"\n\t},\n\t\"America/Winnipeg\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:CDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:CST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0495300\",\n\t\tlongitude: \"-0970900\"\n\t},\n\t\"America/Yakutat\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:AKDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:AKST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0593249\",\n\t\tlongitude: \"-1394338\"\n\t},\n\t\"America/Yellowknife\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0700\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:MDT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0700\\r\\nTZNAME:MST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0622700\",\n\t\tlongitude: \"-1142100\"\n\t},\n\t\"Antarctica/Casey\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:20180311T040000\\r\\nRDATE:20180311T040000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0661700\",\n\t\tlongitude: \"+1103100\"\n\t},\n\t\"Antarctica/Davis\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0683500\",\n\t\tlongitude: \"+0775800\"\n\t},\n\t\"Antarctica/DumontDUrville\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0664000\",\n\t\tlongitude: \"+1400100\"\n\t},\n\t\"Antarctica/Macquarie\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0543000\",\n\t\tlongitude: \"+1585700\"\n\t},\n\t\"Antarctica/Mawson\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0673600\",\n\t\tlongitude: \"+0625300\"\n\t},\n\t\"Antarctica/McMurdo\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:NZDT\\r\\nDTSTART:19700927T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:NZST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0775000\",\n\t\tlongitude: \"+1663600\"\n\t},\n\t\"Antarctica/Palmer\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0644800\",\n\t\tlongitude: \"-0640600\"\n\t},\n\t\"Antarctica/Rothera\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0673400\",\n\t\tlongitude: \"-0680800\"\n\t},\n\t\"Antarctica/Syowa\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0690022\",\n\t\tlongitude: \"+0393524\"\n\t},\n\t\"Antarctica/Troll\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:+02\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0720041\",\n\t\tlongitude: \"+0023206\"\n\t},\n\t\"Antarctica/Vostok\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0782400\",\n\t\tlongitude: \"+1065400\"\n\t},\n\t\"Arctic/Longyearbyen\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0780000\",\n\t\tlongitude: \"+0160000\"\n\t},\n\t\"Asia/Aden\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0124500\",\n\t\tlongitude: \"+0451200\"\n\t},\n\t\"Asia/Almaty\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0431500\",\n\t\tlongitude: \"+0765700\"\n\t},\n\t\"Asia/Amman\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700326T235959\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1TH\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701030T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0315700\",\n\t\tlongitude: \"+0355600\"\n\t},\n\t\"Asia/Anadyr\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0644500\",\n\t\tlongitude: \"+1772900\"\n\t},\n\t\"Asia/Aqtau\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0443100\",\n\t\tlongitude: \"+0501600\"\n\t},\n\t\"Asia/Aqtobe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0501700\",\n\t\tlongitude: \"+0571000\"\n\t},\n\t\"Asia/Ashgabat\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0375700\",\n\t\tlongitude: \"+0582300\"\n\t},\n\t\"Asia/Atyrau\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0470700\",\n\t\tlongitude: \"+0515600\"\n\t},\n\t\"Asia/Baghdad\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0332100\",\n\t\tlongitude: \"+0442500\"\n\t},\n\t\"Asia/Bahrain\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0262300\",\n\t\tlongitude: \"+0503500\"\n\t},\n\t\"Asia/Baku\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0402300\",\n\t\tlongitude: \"+0495100\"\n\t},\n\t\"Asia/Bangkok\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0134500\",\n\t\tlongitude: \"+1003100\"\n\t},\n\t\"Asia/Barnaul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0532200\",\n\t\tlongitude: \"+0834500\"\n\t},\n\t\"Asia/Beirut\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0335300\",\n\t\tlongitude: \"+0353000\"\n\t},\n\t\"Asia/Bishkek\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0425400\",\n\t\tlongitude: \"+0743600\"\n\t},\n\t\"Asia/Brunei\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0045600\",\n\t\tlongitude: \"+1145500\"\n\t},\n\t\"Asia/Chita\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0520300\",\n\t\tlongitude: \"+1132800\"\n\t},\n\t\"Asia/Choibalsan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0480400\",\n\t\tlongitude: \"+1143000\"\n\t},\n\t\"Asia/Colombo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0530\\r\\nTZOFFSETTO:+0530\\r\\nTZNAME:+0530\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0065600\",\n\t\tlongitude: \"+0795100\"\n\t},\n\t\"Asia/Damascus\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701030T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700327T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0333000\",\n\t\tlongitude: \"+0361800\"\n\t},\n\t\"Asia/Dhaka\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0234300\",\n\t\tlongitude: \"+0902500\"\n\t},\n\t\"Asia/Dili\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0083300\",\n\t\tlongitude: \"+1253500\"\n\t},\n\t\"Asia/Dubai\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0251800\",\n\t\tlongitude: \"+0551800\"\n\t},\n\t\"Asia/Dushanbe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0383500\",\n\t\tlongitude: \"+0684800\"\n\t},\n\t\"Asia/Famagusta\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20180325T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0350700\",\n\t\tlongitude: \"+0335700\"\n\t},\n\t\"Asia/Gaza\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701031T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20190329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20180324T010000\\r\\nRDATE:20180324T010000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0313000\",\n\t\tlongitude: \"+0342800\"\n\t},\n\t\"Asia/Hebron\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701031T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20190329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:20180324T010000\\r\\nRDATE:20180324T010000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0313200\",\n\t\tlongitude: \"+0350542\"\n\t},\n\t\"Asia/Ho_Chi_Minh\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0104500\",\n\t\tlongitude: \"+1064000\"\n\t},\n\t\"Asia/Hong_Kong\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:HKT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0221700\",\n\t\tlongitude: \"+1140900\"\n\t},\n\t\"Asia/Hovd\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0480100\",\n\t\tlongitude: \"+0913900\"\n\t},\n\t\"Asia/Irkutsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0521600\",\n\t\tlongitude: \"+1042000\"\n\t},\n\t\"Asia/Istanbul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0410100\",\n\t\tlongitude: \"+0285800\"\n\t},\n\t\"Asia/Jakarta\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:WIB\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0061000\",\n\t\tlongitude: \"+1064800\"\n\t},\n\t\"Asia/Jayapura\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:WIT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0023200\",\n\t\tlongitude: \"+1404200\"\n\t},\n\t\"Asia/Jerusalem\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:IDT\\r\\nDTSTART:19700327T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=23,24,25,26,27,28,29;BYDAY=FR\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:IST\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0314650\",\n\t\tlongitude: \"+0351326\"\n\t},\n\t\"Asia/Kabul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0430\\r\\nTZOFFSETTO:+0430\\r\\nTZNAME:+0430\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0343100\",\n\t\tlongitude: \"+0691200\"\n\t},\n\t\"Asia/Kamchatka\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0530100\",\n\t\tlongitude: \"+1583900\"\n\t},\n\t\"Asia/Karachi\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:PKT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0245200\",\n\t\tlongitude: \"+0670300\"\n\t},\n\t\"Asia/Kathmandu\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0545\\r\\nTZOFFSETTO:+0545\\r\\nTZNAME:+0545\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0274300\",\n\t\tlongitude: \"+0851900\"\n\t},\n\t\"Asia/Khandyga\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0623923\",\n\t\tlongitude: \"+1353314\"\n\t},\n\t\"Asia/Kolkata\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0530\\r\\nTZOFFSETTO:+0530\\r\\nTZNAME:IST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0223200\",\n\t\tlongitude: \"+0882200\"\n\t},\n\t\"Asia/Krasnoyarsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0560100\",\n\t\tlongitude: \"+0925000\"\n\t},\n\t\"Asia/Kuala_Lumpur\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0031000\",\n\t\tlongitude: \"+1014200\"\n\t},\n\t\"Asia/Kuching\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0013300\",\n\t\tlongitude: \"+1102000\"\n\t},\n\t\"Asia/Kuwait\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0292000\",\n\t\tlongitude: \"+0475900\"\n\t},\n\t\"Asia/Macau\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0221150\",\n\t\tlongitude: \"+1133230\"\n\t},\n\t\"Asia/Magadan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0593400\",\n\t\tlongitude: \"+1504800\"\n\t},\n\t\"Asia/Makassar\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:WITA\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0050700\",\n\t\tlongitude: \"+1192400\"\n\t},\n\t\"Asia/Manila\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:PST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0143500\",\n\t\tlongitude: \"+1210000\"\n\t},\n\t\"Asia/Muscat\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0233600\",\n\t\tlongitude: \"+0583500\"\n\t},\n\t\"Asia/Nicosia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0351000\",\n\t\tlongitude: \"+0332200\"\n\t},\n\t\"Asia/Novokuznetsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0534500\",\n\t\tlongitude: \"+0870700\"\n\t},\n\t\"Asia/Novosibirsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0550200\",\n\t\tlongitude: \"+0825500\"\n\t},\n\t\"Asia/Omsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0550000\",\n\t\tlongitude: \"+0732400\"\n\t},\n\t\"Asia/Oral\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0511300\",\n\t\tlongitude: \"+0512100\"\n\t},\n\t\"Asia/Phnom_Penh\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0113300\",\n\t\tlongitude: \"+1045500\"\n\t},\n\t\"Asia/Pontianak\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:WIB\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0000200\",\n\t\tlongitude: \"+1092000\"\n\t},\n\t\"Asia/Pyongyang\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0830\\r\\nTZNAME:KST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0830\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:KST\\r\\nDTSTART:20180504T233000\\r\\nRDATE:20180504T233000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0390100\",\n\t\tlongitude: \"+1254500\"\n\t},\n\t\"Asia/Qatar\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0251700\",\n\t\tlongitude: \"+0513200\"\n\t},\n\t\"Asia/Qostanay\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0531200\",\n\t\tlongitude: \"+0633700\"\n\t},\n\t\"Asia/Qyzylorda\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:20181221T000000\\r\\nRDATE:20181221T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0444800\",\n\t\tlongitude: \"+0652800\"\n\t},\n\t\"Asia/Riyadh\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0243800\",\n\t\tlongitude: \"+0464300\"\n\t},\n\t\"Asia/Sakhalin\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0465800\",\n\t\tlongitude: \"+1424200\"\n\t},\n\t\"Asia/Samarkand\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0394000\",\n\t\tlongitude: \"+0664800\"\n\t},\n\t\"Asia/Seoul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:KST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0373300\",\n\t\tlongitude: \"+1265800\"\n\t},\n\t\"Asia/Shanghai\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0311400\",\n\t\tlongitude: \"+1212800\"\n\t},\n\t\"Asia/Singapore\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0011700\",\n\t\tlongitude: \"+1035100\"\n\t},\n\t\"Asia/Srednekolymsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0672800\",\n\t\tlongitude: \"+1534300\"\n\t},\n\t\"Asia/Taipei\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:CST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0250300\",\n\t\tlongitude: \"+1213000\"\n\t},\n\t\"Asia/Tashkent\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0412000\",\n\t\tlongitude: \"+0691800\"\n\t},\n\t\"Asia/Tbilisi\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0414300\",\n\t\tlongitude: \"+0444900\"\n\t},\n\t\"Asia/Tehran\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0330\\r\\nTZNAME:+0330\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0330\\r\\nTZOFFSETTO:+0430\\r\\nTZNAME:+0430\\r\\nDTSTART:20180321T235959\\r\\nRDATE:20180321T235959\\r\\nRDATE:20190321T235959\\r\\nRDATE:20200320T235959\\r\\nRDATE:20210321T235959\\r\\nRDATE:20220321T235959\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0430\\r\\nTZOFFSETTO:+0330\\r\\nTZNAME:+0330\\r\\nDTSTART:20180921T235959\\r\\nRDATE:20180921T235959\\r\\nRDATE:20190921T235959\\r\\nRDATE:20200920T235959\\r\\nRDATE:20210921T235959\\r\\nRDATE:20220921T235959\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0354000\",\n\t\tlongitude: \"+0512600\"\n\t},\n\t\"Asia/Thimphu\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0272800\",\n\t\tlongitude: \"+0893900\"\n\t},\n\t\"Asia/Tokyo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:JST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0353916\",\n\t\tlongitude: \"+1394441\"\n\t},\n\t\"Asia/Tomsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0563000\",\n\t\tlongitude: \"+0845800\"\n\t},\n\t\"Asia/Ulaanbaatar\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:+08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0475500\",\n\t\tlongitude: \"+1065300\"\n\t},\n\t\"Asia/Urumqi\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0434800\",\n\t\tlongitude: \"+0873500\"\n\t},\n\t\"Asia/Ust-Nera\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0643337\",\n\t\tlongitude: \"+1431336\"\n\t},\n\t\"Asia/Vientiane\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0175800\",\n\t\tlongitude: \"+1023600\"\n\t},\n\t\"Asia/Vladivostok\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0431000\",\n\t\tlongitude: \"+1315600\"\n\t},\n\t\"Asia/Yakutsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0620000\",\n\t\tlongitude: \"+1294000\"\n\t},\n\t\"Asia/Yangon\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0630\\r\\nTZOFFSETTO:+0630\\r\\nTZNAME:+0630\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0164700\",\n\t\tlongitude: \"+0961000\"\n\t},\n\t\"Asia/Yekaterinburg\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0565100\",\n\t\tlongitude: \"+0603600\"\n\t},\n\t\"Asia/Yerevan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0401100\",\n\t\tlongitude: \"+0443000\"\n\t},\n\t\"Atlantic/Azores\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:+00\\r\\nDTSTART:19700329T000000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19701025T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0374400\",\n\t\tlongitude: \"-0254000\"\n\t},\n\t\"Atlantic/Bermuda\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0400\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:ADT\\r\\nDTSTART:19700308T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0400\\r\\nTZNAME:AST\\r\\nDTSTART:19701101T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0321700\",\n\t\tlongitude: \"-0644600\"\n\t},\n\t\"Atlantic/Canary\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0280600\",\n\t\tlongitude: \"-0152400\"\n\t},\n\t\"Atlantic/Cape_Verde\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0100\\r\\nTZOFFSETTO:-0100\\r\\nTZNAME:-01\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0145500\",\n\t\tlongitude: \"-0233100\"\n\t},\n\t\"Atlantic/Faroe\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0620100\",\n\t\tlongitude: \"-0064600\"\n\t},\n\t\"Atlantic/Madeira\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0323800\",\n\t\tlongitude: \"-0165400\"\n\t},\n\t\"Atlantic/Reykjavik\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0640900\",\n\t\tlongitude: \"-0215100\"\n\t},\n\t\"Atlantic/South_Georgia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0200\\r\\nTZOFFSETTO:-0200\\r\\nTZNAME:-02\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0541600\",\n\t\tlongitude: \"-0363200\"\n\t},\n\t\"Atlantic/St_Helena\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0155500\",\n\t\tlongitude: \"-0054200\"\n\t},\n\t\"Atlantic/Stanley\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0300\\r\\nTZOFFSETTO:-0300\\r\\nTZNAME:-03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0514200\",\n\t\tlongitude: \"-0575100\"\n\t},\n\t\"Australia/Adelaide\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:ACDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0345500\",\n\t\tlongitude: \"+1383500\"\n\t},\n\t\"Australia/Brisbane\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0272800\",\n\t\tlongitude: \"+1530200\"\n\t},\n\t\"Australia/Broken_Hill\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:ACDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0315700\",\n\t\tlongitude: \"+1412700\"\n\t},\n\t\"Australia/Currie\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0395600\",\n\t\tlongitude: \"+1435200\"\n\t},\n\t\"Australia/Darwin\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0930\\r\\nTZOFFSETTO:+0930\\r\\nTZNAME:ACST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0122800\",\n\t\tlongitude: \"+1305000\"\n\t},\n\t\"Australia/Eucla\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0845\\r\\nTZOFFSETTO:+0845\\r\\nTZNAME:+0845\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0314300\",\n\t\tlongitude: \"+1285200\"\n\t},\n\t\"Australia/Hobart\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0425300\",\n\t\tlongitude: \"+1471900\"\n\t},\n\t\"Australia/Lindeman\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0201600\",\n\t\tlongitude: \"+1490000\"\n\t},\n\t\"Australia/Lord_Howe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1030\\r\\nTZNAME:+1030\\r\\nDTSTART:19700405T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1030\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0313300\",\n\t\tlongitude: \"+1590500\"\n\t},\n\t\"Australia/Melbourne\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0374900\",\n\t\tlongitude: \"+1445800\"\n\t},\n\t\"Australia/Perth\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0800\\r\\nTZOFFSETTO:+0800\\r\\nTZNAME:AWST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0315700\",\n\t\tlongitude: \"+1155100\"\n\t},\n\t\"Australia/Sydney\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:AEST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:AEDT\\r\\nDTSTART:19701004T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0335200\",\n\t\tlongitude: \"+1511300\"\n\t},\n\t\"Europe/Amsterdam\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0522200\",\n\t\tlongitude: \"+0045400\"\n\t},\n\t\"Europe/Andorra\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0423000\",\n\t\tlongitude: \"+0013100\"\n\t},\n\t\"Europe/Astrakhan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0462100\",\n\t\tlongitude: \"+0480300\"\n\t},\n\t\"Europe/Athens\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0375800\",\n\t\tlongitude: \"+0234300\"\n\t},\n\t\"Europe/Belgrade\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0445000\",\n\t\tlongitude: \"+0203000\"\n\t},\n\t\"Europe/Berlin\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0523000\",\n\t\tlongitude: \"+0132200\"\n\t},\n\t\"Europe/Bratislava\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0480900\",\n\t\tlongitude: \"+0170700\"\n\t},\n\t\"Europe/Brussels\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0505000\",\n\t\tlongitude: \"+0042000\"\n\t},\n\t\"Europe/Bucharest\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0442600\",\n\t\tlongitude: \"+0260600\"\n\t},\n\t\"Europe/Budapest\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0473000\",\n\t\tlongitude: \"+0190500\"\n\t},\n\t\"Europe/Busingen\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0474200\",\n\t\tlongitude: \"+0084100\"\n\t},\n\t\"Europe/Chisinau\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0470000\",\n\t\tlongitude: \"+0285000\"\n\t},\n\t\"Europe/Copenhagen\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0554000\",\n\t\tlongitude: \"+0123500\"\n\t},\n\t\"Europe/Dublin\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:IST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0532000\",\n\t\tlongitude: \"-0061500\"\n\t},\n\t\"Europe/Gibraltar\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0360800\",\n\t\tlongitude: \"-0052100\"\n\t},\n\t\"Europe/Guernsey\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0492717\",\n\t\tlongitude: \"-0023210\"\n\t},\n\t\"Europe/Helsinki\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0601000\",\n\t\tlongitude: \"+0245800\"\n\t},\n\t\"Europe/Isle_of_Man\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0540900\",\n\t\tlongitude: \"-0042800\"\n\t},\n\t\"Europe/Istanbul\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0410100\",\n\t\tlongitude: \"+0285800\"\n\t},\n\t\"Europe/Jersey\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0491101\",\n\t\tlongitude: \"-0020624\"\n\t},\n\t\"Europe/Kaliningrad\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0544300\",\n\t\tlongitude: \"+0203000\"\n\t},\n\t\"Europe/Kiev\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0502600\",\n\t\tlongitude: \"+0303100\"\n\t},\n\t\"Europe/Kirov\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0583600\",\n\t\tlongitude: \"+0493900\"\n\t},\n\t\"Europe/Lisbon\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:WET\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:WEST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0384300\",\n\t\tlongitude: \"-0090800\"\n\t},\n\t\"Europe/Ljubljana\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0460300\",\n\t\tlongitude: \"+0143100\"\n\t},\n\t\"Europe/London\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0000\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:BST\\r\\nDTSTART:19700329T010000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0000\\r\\nTZNAME:GMT\\r\\nDTSTART:19701025T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0513030\",\n\t\tlongitude: \"+0000731\"\n\t},\n\t\"Europe/Luxembourg\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0493600\",\n\t\tlongitude: \"+0060900\"\n\t},\n\t\"Europe/Madrid\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0402400\",\n\t\tlongitude: \"-0034100\"\n\t},\n\t\"Europe/Malta\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0355400\",\n\t\tlongitude: \"+0143100\"\n\t},\n\t\"Europe/Mariehamn\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0600600\",\n\t\tlongitude: \"+0195700\"\n\t},\n\t\"Europe/Minsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0535400\",\n\t\tlongitude: \"+0273400\"\n\t},\n\t\"Europe/Monaco\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0434200\",\n\t\tlongitude: \"+0072300\"\n\t},\n\t\"Europe/Moscow\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:MSK\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0554521\",\n\t\tlongitude: \"+0373704\"\n\t},\n\t\"Europe/Nicosia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"+0351000\",\n\t\tlongitude: \"+0332200\"\n\t},\n\t\"Europe/Oslo\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0595500\",\n\t\tlongitude: \"+0104500\"\n\t},\n\t\"Europe/Paris\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0485200\",\n\t\tlongitude: \"+0022000\"\n\t},\n\t\"Europe/Podgorica\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0422600\",\n\t\tlongitude: \"+0191600\"\n\t},\n\t\"Europe/Prague\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0500500\",\n\t\tlongitude: \"+0142600\"\n\t},\n\t\"Europe/Riga\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0565700\",\n\t\tlongitude: \"+0240600\"\n\t},\n\t\"Europe/Rome\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0415400\",\n\t\tlongitude: \"+0122900\"\n\t},\n\t\"Europe/Samara\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0531200\",\n\t\tlongitude: \"+0500900\"\n\t},\n\t\"Europe/San_Marino\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0435500\",\n\t\tlongitude: \"+0122800\"\n\t},\n\t\"Europe/Sarajevo\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0435200\",\n\t\tlongitude: \"+0182500\"\n\t},\n\t\"Europe/Saratov\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0513400\",\n\t\tlongitude: \"+0460200\"\n\t},\n\t\"Europe/Simferopol\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:MSK\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0445700\",\n\t\tlongitude: \"+0340600\"\n\t},\n\t\"Europe/Skopje\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0415900\",\n\t\tlongitude: \"+0212600\"\n\t},\n\t\"Europe/Sofia\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0424100\",\n\t\tlongitude: \"+0231900\"\n\t},\n\t\"Europe/Stockholm\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0592000\",\n\t\tlongitude: \"+0180300\"\n\t},\n\t\"Europe/Tallinn\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0592500\",\n\t\tlongitude: \"+0244500\"\n\t},\n\t\"Europe/Tirane\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0412000\",\n\t\tlongitude: \"+0195000\"\n\t},\n\t\"Europe/Ulyanovsk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0542000\",\n\t\tlongitude: \"+0482400\"\n\t},\n\t\"Europe/Uzhgorod\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0483700\",\n\t\tlongitude: \"+0221800\"\n\t},\n\t\"Europe/Vaduz\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0470900\",\n\t\tlongitude: \"+0093100\"\n\t},\n\t\"Europe/Vatican\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0415408\",\n\t\tlongitude: \"+0122711\"\n\t},\n\t\"Europe/Vienna\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0481300\",\n\t\tlongitude: \"+0162000\"\n\t},\n\t\"Europe/Vilnius\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0544100\",\n\t\tlongitude: \"+0251900\"\n\t},\n\t\"Europe/Volgograd\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:20181028T020000\\r\\nRDATE:20181028T020000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:+03\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0484400\",\n\t\tlongitude: \"+0442500\"\n\t},\n\t\"Europe/Warsaw\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0521500\",\n\t\tlongitude: \"+0210000\"\n\t},\n\t\"Europe/Zagreb\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0454800\",\n\t\tlongitude: \"+0155800\"\n\t},\n\t\"Europe/Zaporozhye\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EEST\\r\\nDTSTART:19700329T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:EET\\r\\nDTSTART:19701025T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0475000\",\n\t\tlongitude: \"+0351000\"\n\t},\n\t\"Europe/Zurich\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+0100\\r\\nTZOFFSETTO:+0200\\r\\nTZNAME:CEST\\r\\nDTSTART:19700329T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0200\\r\\nTZOFFSETTO:+0100\\r\\nTZNAME:CET\\r\\nDTSTART:19701025T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0472300\",\n\t\tlongitude: \"+0083200\"\n\t},\n\t\"Indian/Antananarivo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0185500\",\n\t\tlongitude: \"+0473100\"\n\t},\n\t\"Indian/Chagos\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0600\\r\\nTZOFFSETTO:+0600\\r\\nTZNAME:+06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0072000\",\n\t\tlongitude: \"+0722500\"\n\t},\n\t\"Indian/Christmas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0700\\r\\nTZOFFSETTO:+0700\\r\\nTZNAME:+07\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0102500\",\n\t\tlongitude: \"+1054300\"\n\t},\n\t\"Indian/Cocos\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0630\\r\\nTZOFFSETTO:+0630\\r\\nTZNAME:+0630\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0121000\",\n\t\tlongitude: \"+0965500\"\n\t},\n\t\"Indian/Comoro\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0114100\",\n\t\tlongitude: \"+0431600\"\n\t},\n\t\"Indian/Kerguelen\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0492110\",\n\t\tlongitude: \"+0701303\"\n\t},\n\t\"Indian/Mahe\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0044000\",\n\t\tlongitude: \"+0552800\"\n\t},\n\t\"Indian/Maldives\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0500\\r\\nTZOFFSETTO:+0500\\r\\nTZNAME:+05\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0041000\",\n\t\tlongitude: \"+0733000\"\n\t},\n\t\"Indian/Mauritius\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0201000\",\n\t\tlongitude: \"+0573000\"\n\t},\n\t\"Indian/Mayotte\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0300\\r\\nTZOFFSETTO:+0300\\r\\nTZNAME:EAT\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0124700\",\n\t\tlongitude: \"+0451400\"\n\t},\n\t\"Indian/Reunion\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0400\\r\\nTZOFFSETTO:+0400\\r\\nTZNAME:+04\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0205200\",\n\t\tlongitude: \"+0552800\"\n\t},\n\t\"Pacific/Apia\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1400\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700405T040000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1400\\r\\nTZNAME:+14\\r\\nDTSTART:19700927T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0135000\",\n\t\tlongitude: \"-1714400\"\n\t},\n\t\"Pacific/Auckland\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:NZDT\\r\\nDTSTART:19700927T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:NZST\\r\\nDTSTART:19700405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0365200\",\n\t\tlongitude: \"+1744600\"\n\t},\n\t\"Pacific/Bougainville\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0061300\",\n\t\tlongitude: \"+1553400\"\n\t},\n\t\"Pacific/Chatham\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1245\\r\\nTZOFFSETTO:+1345\\r\\nTZNAME:+1345\\r\\nDTSTART:19700927T024500\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1345\\r\\nTZOFFSETTO:+1245\\r\\nTZNAME:+1245\\r\\nDTSTART:19700405T034500\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0435700\",\n\t\tlongitude: \"-1763300\"\n\t},\n\t\"Pacific/Chuuk\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0072500\",\n\t\tlongitude: \"+1514700\"\n\t},\n\t\"Pacific/Easter\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:20190406T220000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SA\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:20190907T220000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SA\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0500\\r\\nTZNAME:-05\\r\\nDTSTART:20180811T220000\\r\\nRDATE:20180811T220000\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0500\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:20180512T220000\\r\\nRDATE:20180512T220000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0270900\",\n\t\tlongitude: \"-1092600\"\n\t},\n\t\"Pacific/Efate\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0174000\",\n\t\tlongitude: \"+1682500\"\n\t},\n\t\"Pacific/Enderbury\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0030800\",\n\t\tlongitude: \"-1710500\"\n\t},\n\t\"Pacific/Fakaofo\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0092200\",\n\t\tlongitude: \"-1711400\"\n\t},\n\t\"Pacific/Fiji\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700118T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=1;BYMONTHDAY=12,13,14,15,16,17,18;BYDAY=SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:20191110T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=2SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:20181104T020000\\r\\nRDATE:20181104T020000\\r\\nEND:DAYLIGHT\"\n\t\t],\n\t\tlatitude: \"-0180800\",\n\t\tlongitude: \"+1782500\"\n\t},\n\t\"Pacific/Funafuti\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0083100\",\n\t\tlongitude: \"+1791300\"\n\t},\n\t\"Pacific/Galapagos\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0600\\r\\nTZOFFSETTO:-0600\\r\\nTZNAME:-06\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0005400\",\n\t\tlongitude: \"-0893600\"\n\t},\n\t\"Pacific/Gambier\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0900\\r\\nTZOFFSETTO:-0900\\r\\nTZNAME:-09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0230800\",\n\t\tlongitude: \"-1345700\"\n\t},\n\t\"Pacific/Guadalcanal\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0093200\",\n\t\tlongitude: \"+1601200\"\n\t},\n\t\"Pacific/Guam\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:ChST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0132800\",\n\t\tlongitude: \"+1444500\"\n\t},\n\t\"Pacific/Honolulu\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:HST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0211825\",\n\t\tlongitude: \"-1575130\"\n\t},\n\t\"Pacific/Kiritimati\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1400\\r\\nTZOFFSETTO:+1400\\r\\nTZNAME:+14\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0015200\",\n\t\tlongitude: \"-1572000\"\n\t},\n\t\"Pacific/Kosrae\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0051900\",\n\t\tlongitude: \"+1625900\"\n\t},\n\t\"Pacific/Kwajalein\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0090500\",\n\t\tlongitude: \"+1672000\"\n\t},\n\t\"Pacific/Majuro\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0070900\",\n\t\tlongitude: \"+1711200\"\n\t},\n\t\"Pacific/Marquesas\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0930\\r\\nTZOFFSETTO:-0930\\r\\nTZNAME:-0930\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0090000\",\n\t\tlongitude: \"-1393000\"\n\t},\n\t\"Pacific/Midway\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:SST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0281300\",\n\t\tlongitude: \"-1772200\"\n\t},\n\t\"Pacific/Nauru\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0003100\",\n\t\tlongitude: \"+1665500\"\n\t},\n\t\"Pacific/Niue\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:-11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0190100\",\n\t\tlongitude: \"-1695500\"\n\t},\n\t\"Pacific/Norfolk\": {\n\t\tics: [\n\t\t\t\"BEGIN:DAYLIGHT\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:20191006T020000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\r\\nEND:DAYLIGHT\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:20200405T030000\\r\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1130\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\",\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:20190701T000000\\r\\nRDATE:20190701T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0290300\",\n\t\tlongitude: \"+1675800\"\n\t},\n\t\"Pacific/Noumea\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0221600\",\n\t\tlongitude: \"+1662700\"\n\t},\n\t\"Pacific/Pago_Pago\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1100\\r\\nTZOFFSETTO:-1100\\r\\nTZNAME:SST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0141600\",\n\t\tlongitude: \"-1704200\"\n\t},\n\t\"Pacific/Palau\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+0900\\r\\nTZOFFSETTO:+0900\\r\\nTZNAME:+09\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0072000\",\n\t\tlongitude: \"+1342900\"\n\t},\n\t\"Pacific/Pitcairn\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-0800\\r\\nTZOFFSETTO:-0800\\r\\nTZNAME:-08\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0250400\",\n\t\tlongitude: \"-1300500\"\n\t},\n\t\"Pacific/Pohnpei\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1100\\r\\nTZOFFSETTO:+1100\\r\\nTZNAME:+11\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0065800\",\n\t\tlongitude: \"+1581300\"\n\t},\n\t\"Pacific/Port_Moresby\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:+10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0093000\",\n\t\tlongitude: \"+1471000\"\n\t},\n\t\"Pacific/Rarotonga\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:-10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0211400\",\n\t\tlongitude: \"-1594600\"\n\t},\n\t\"Pacific/Saipan\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1000\\r\\nTZOFFSETTO:+1000\\r\\nTZNAME:ChST\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0151200\",\n\t\tlongitude: \"+1454500\"\n\t},\n\t\"Pacific/Tahiti\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:-1000\\r\\nTZOFFSETTO:-1000\\r\\nTZNAME:-10\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0173200\",\n\t\tlongitude: \"-1493400\"\n\t},\n\t\"Pacific/Tarawa\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0012500\",\n\t\tlongitude: \"+1730000\"\n\t},\n\t\"Pacific/Tongatapu\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1300\\r\\nTZOFFSETTO:+1300\\r\\nTZNAME:+13\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0211000\",\n\t\tlongitude: \"-1751000\"\n\t},\n\t\"Pacific/Wake\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"+0191700\",\n\t\tlongitude: \"+1663700\"\n\t},\n\t\"Pacific/Wallis\": {\n\t\tics: [\n\t\t\t\"BEGIN:STANDARD\\r\\nTZOFFSETFROM:+1200\\r\\nTZOFFSETTO:+1200\\r\\nTZNAME:+12\\r\\nDTSTART:19700101T000000\\r\\nEND:STANDARD\"\n\t\t],\n\t\tlatitude: \"-0131800\",\n\t\tlongitude: \"-1761000\"\n\t}\n};\nvar tzData = {\n\tversion: version,\n\taliases: aliases,\n\tzones: zones\n};\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class TimezoneManager\n */\n\nclass TimezoneManager {\n /**\n * Constructor\n */\n constructor() {\n /**\n * Map of aliases\n * Alias name => timezoneId\n *\n * @type {Map}\n */\n this._aliases = new Map();\n /**\n * Map of Timezones\n * timezoneId => Timezone\n *\n * @type {Map}\n * @private\n */\n\n this._timezones = new Map();\n }\n /**\n * Gets a timezone for the given id\n *\n * @param {String} timezoneId The id of the timezone\n * @returns {Timezone|null}\n */\n\n\n getTimezoneForId(timezoneId) {\n return this._getTimezoneForIdRec(timezoneId, 0);\n }\n\n _getTimezoneForIdRec(timezoneId, level) {\n if (this._timezones.has(timezoneId)) {\n return this._timezones.get(timezoneId);\n }\n\n if (level >= 20) {\n // too much recursion\n console.error('TimezoneManager.getTimezoneForIdRec() exceeds recursion limits');\n return null;\n }\n\n if (this._aliases.has(timezoneId)) {\n const resolvedTimezoneId = this._aliases.get(timezoneId); // can be a recursive alias:\n\n\n return this._getTimezoneForIdRec(resolvedTimezoneId, level + 1);\n }\n\n return null;\n }\n /**\n * Checks if there is a timezone for the given id stored in this manager\n *\n * @param {String} timezoneId The id of the timezone\n * @returns {boolean}\n */\n\n\n hasTimezoneForId(timezoneId) {\n return this._timezones.has(timezoneId) || this._aliases.has(timezoneId);\n }\n /**\n * Checks if the given timezone id is an alias\n *\n * @param {String} timezoneId The id of the timezone\n * @returns {boolean}\n */\n\n\n isAlias(timezoneId) {\n return !this._timezones.has(timezoneId) && this._aliases.has(timezoneId);\n }\n /**\n * Lists all timezones\n *\n * @param {Boolean=} includeAliases Whether or not to include aliases\n * @returns {String[]}\n */\n\n\n listAllTimezones(includeAliases = false) {\n const timezones = Array.from(this._timezones.keys());\n\n if (includeAliases) {\n return timezones.concat(Array.from(this._aliases.keys()));\n }\n\n return timezones;\n }\n /**\n * Registers a timezone\n *\n * @param {Timezone} timezone The timezone-object to register\n */\n\n\n registerTimezone(timezone) {\n this._timezones.set(timezone.timezoneId, timezone);\n }\n\n registerDefaultTimezones() {\n console.debug(`@nextcloud/calendar-js app is using version ${tzData.version} of the timezone database`);\n\n for (const tzid in tzData.zones) {\n if (Object.prototype.hasOwnProperty.call(tzData.zones, [tzid])) {\n const ics = ['BEGIN:VTIMEZONE', 'TZID:' + tzid, ...tzData.zones[tzid].ics, 'END:VTIMEZONE'].join('\\r\\n');\n this.registerTimezoneFromICS(tzid, ics);\n }\n }\n\n for (const tzid in tzData.aliases) {\n if (Object.prototype.hasOwnProperty.call(tzData.aliases, [tzid])) {\n this.registerAlias(tzid, tzData.aliases[tzid].aliasTo);\n }\n }\n }\n /**\n * Registers a timezone based on ics data\n *\n * @param {String} timezoneId The id of the timezone\n * @param {String} ics The iCalendar timezone definition\n */\n\n\n registerTimezoneFromICS(timezoneId, ics) {\n const timezone = new Timezone(timezoneId, ics);\n this.registerTimezone(timezone);\n }\n /**\n * Registers a new timezone-alias\n *\n * @param {String} aliasName The timezone-id of the alias\n * @param {String} timezoneId The timezone-id to resolve the alias to\n */\n\n\n registerAlias(aliasName, timezoneId) {\n this._aliases.set(aliasName, timezoneId);\n }\n /**\n * Unregisters a timezone\n *\n * @param {String} timezoneId Unregisters a timezone by Id\n */\n\n\n unregisterTimezones(timezoneId) {\n this._timezones.delete(timezoneId);\n }\n /**\n * Unregisters a timezone-alias\n *\n * @param {String} aliasName The alias to unregister\n */\n\n\n unregisterAlias(aliasName) {\n this._aliases.delete(aliasName);\n }\n /**\n * Clear all timezones\n \t */\n\n\n clearAllTimezones() {\n this._aliases = new Map();\n this._timezones = new Map();\n timezoneManager.registerTimezone(Timezone.utc);\n timezoneManager.registerTimezone(Timezone.floating);\n timezoneManager.registerAlias('GMT', Timezone.utc.timezoneId);\n timezoneManager.registerAlias('Z', Timezone.utc.timezoneId);\n }\n\n}\nconst timezoneManager = new TimezoneManager();\ntimezoneManager.clearAllTimezones();\n/**\n * Gets the default instance of the timezone manager\n *\n * @returns {TimezoneManager}\n */\n\nfunction getTimezoneManager() {\n return timezoneManager;\n}\n/**\n *\n * @param {String} tzName Name of the timezone to check\n * @returns {boolean}\n */\n\nfunction isOlsonTimezone(tzName) {\n const hasSlash = tzName.indexOf('/') !== -1;\n const hasSpace = tzName.indexOf(' ') !== -1;\n const startsWithETC = tzName.startsWith('Etc');\n const startsWithUS = tzName.startsWith('US/');\n return hasSlash && !hasSpace && !startsWithETC && !startsWithUS;\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ICalendarParser\n * @classdesc\n */\n\nclass ICalendarParser extends AbstractParser {\n /**\n * @inheritDoc\n */\n constructor(...args) {\n super(...args);\n /**\n * The raw text/calendar data\n *\n * @type {String}\n * @protected\n */\n\n this._rawData = null;\n /**\n * The CalendarComponent representing the raw data\n *\n * @type {CalendarComponent}\n * @protected\n */\n\n this._calendarComponent = null;\n /**\n * A flag whether this calendar-data contains vevents\n *\n * @type {boolean}\n * @private\n */\n\n this._containsVEvents = false;\n /**\n * A flag whether this calendar-data contains vjournals\n *\n * @type {boolean}\n * @private\n */\n\n this._containsVJournals = false;\n /**\n * A flag whether this calendar-data contains vtodos\n *\n * @type {boolean}\n * @private\n */\n\n this._containsVTodos = false;\n /**\n * A flag whether this calendar-data contains vfreebusy\n *\n * @type {boolean}\n * @private\n */\n\n this._containsVFreeBusy = false;\n /**\n * A map containing all VObjects.\n * The key of this map is the UID\n * The value an array of all VObjects with that particular UID\n *\n * @type {Map}\n * @private\n */\n\n this._items = new Map();\n /**\n * Items that are no recurrence-exceptions\n * The key of this map is the UID\n *\n * @type {Map}\n * @private\n */\n\n this._masterItems = new Map();\n /**\n * Items that are recurrence exceptions\n *\n * @type {Map}\n * @private\n */\n\n this._recurrenceExceptionItems = new Map();\n /**\n * Some recurrence-exceptions come without a master item\n * In that case we need to forge a master item\n *\n * @type {Map}\n * @private\n */\n\n this._forgedMasterItems = new Map();\n /**\n * A list of timezone-components found in the calendar-data\n *\n * @type {Map}\n * @private\n */\n\n this._timezones = new Map();\n /**\n * A set of required timezones for each UID\n *\n * @type {Map>}\n * @private\n */\n\n this._requiredTimezones = new Map();\n /**\n * Instance of the default timezone-manager\n *\n * @type {TimezoneManager}\n * @private\n */\n\n this._defaultTimezoneManager = getTimezoneManager();\n }\n /**\n * Parses the actual calendar-data\n *\n * @param {String} ics The icalendar data to parse\n */\n\n\n parse(ics) {\n this._rawData = ics;\n\n this._applyRepairSteps(); // If a timezone is not inside our TimezoneManager at the time of parsing\n // the internal zone will be marked as floating inside ICAL.Time\n // so before we start any actual parsing, we need to extract all timezones\n // and add them to the TimezoneManager\n\n\n this._extractTimezones();\n\n this._registerTimezones();\n\n this._createCalendarComponent();\n\n if (this._getOption('extractGlobalProperties', false)) {\n this._extractProperties();\n }\n\n this._processVObjects();\n\n if (this._getOption('processFreeBusy', false)) {\n this._processVFreeBusy();\n }\n }\n /**\n * @inheritDoc\n */\n\n\n *getItemIterator() {\n for (const itemList of this._items.values()) {\n const calendarComp = CalendarComponent.fromEmpty();\n\n if (this._getOption('includeTimezones', false)) {\n this._addRequiredTimezonesToCalendarComp(calendarComp, itemList[0].uid);\n } // Preserve the original product id, just in case we need special handling for certain clients later on ...\n\n\n if (this._calendarComponent.hasProperty('PRODID')) {\n calendarComp.deleteAllProperties('PRODID');\n calendarComp.addProperty(this._calendarComponent.getFirstProperty('PRODID').clone());\n }\n\n if (this._getOption('preserveMethod', false)) {\n if (this._calendarComponent.hasProperty('METHOD')) {\n calendarComp.deleteAllProperties('METHOD');\n calendarComp.addProperty(this._calendarComponent.getFirstProperty('METHOD').clone());\n }\n }\n\n for (const item of itemList) {\n calendarComp.addComponent(item);\n }\n\n yield calendarComp;\n }\n }\n /**\n * @inheritDoc\n */\n\n\n containsVEvents() {\n return this._containsVEvents;\n }\n /**\n * @inheritDoc\n */\n\n\n containsVJournals() {\n return this._containsVJournals;\n }\n /**\n * @inheritDoc\n */\n\n\n containsVTodos() {\n return this._containsVTodos;\n }\n /**\n * @inheritDoc\n */\n\n\n containsVFreeBusy() {\n return this._containsVFreeBusy;\n }\n /**\n * @inheritDoc\n */\n\n\n getItemCount() {\n return Array.from(this._items.keys()).length;\n }\n /**\n * Applies all registered repair steps\n *\n * @private\n */\n\n\n _applyRepairSteps() {\n for (const RepairStep of getRepairSteps()) {\n const step = new RepairStep();\n this._rawData = step.repair(this._rawData);\n }\n }\n /**\n * Creates a calendar component based upon the repaired data\n *\n * @private\n */\n\n\n _createCalendarComponent() {\n const jCal = ICAL.parse(this._rawData);\n const icalComp = new ICAL.Component(jCal);\n this._calendarComponent = CalendarComponent.fromICALJs(icalComp);\n }\n /**\n * extracts properties\n *\n * @protected\n */\n\n\n _extractProperties() {\n this._extractPropertyAndPutResultIntoVariable(['name', 'x-wr-calname'], '_name');\n\n this._extractPropertyAndPutResultIntoVariable(['color', 'x-apple-calendar-color'], '_color');\n\n this._extractPropertyAndPutResultIntoVariable(['source'], '_sourceURL');\n\n this._extractPropertyAndPutResultIntoVariable(['refresh-interval', 'x-published-ttl'], '_refreshInterval');\n\n this._extractPropertyAndPutResultIntoVariable(['x-wr-timezone'], '_calendarTimezone');\n }\n /**\n * Extract a property and writes it into a class property\n * names must be an array, it will use the value of the fist\n * propertyname it can find\n *\n * @param {String[]} names The names of the properties to check\n * @param {String} variableName The variable name to save it under\n * @private\n */\n\n\n _extractPropertyAndPutResultIntoVariable(names, variableName) {\n for (const name of names) {\n if (this._calendarComponent.hasProperty(name)) {\n this[variableName] = this._calendarComponent.getFirstPropertyFirstValue(name);\n return;\n }\n }\n }\n /**\n * Extracts timezones from the calendar component\n *\n * @protected\n */\n\n\n _extractTimezones() {\n const matches = this._rawData.match(/^BEGIN:VTIMEZONE$(((?!^END:VTIMEZONE$)(.|\\n))*)^END:VTIMEZONE$\\n/gm);\n\n if (!matches) {\n return;\n }\n\n for (const match of matches) {\n const tzidMatcher = match.match(/^TZID:(.*)$/gm);\n\n if (!tzidMatcher) {\n continue;\n }\n\n const tzid = tzidMatcher[0].substr(5);\n const timezone = new Timezone(tzid, match);\n\n this._timezones.set(tzid, timezone);\n }\n }\n /**\n * Registers unknown timezones into our timezone-manager\n *\n * @protected\n */\n\n\n _registerTimezones() {\n for (const [tzid, timezone] of this._timezones) {\n if (!this._defaultTimezoneManager.hasTimezoneForId(tzid)) {\n this._defaultTimezoneManager.registerTimezone(timezone);\n }\n }\n }\n /**\n * Processes the parsed vobjects\n *\n * @protected\n */\n\n\n _processVObjects() {\n for (const vObject of this._calendarComponent.getVObjectIterator()) {\n this._addItem(vObject);\n\n this._markCompTypeAsSeen(vObject.name);\n\n if (vObject.isRecurrenceException()) {\n this._addRecurrenceException(vObject);\n } else {\n vObject.recurrenceManager = new RecurrenceManager(vObject);\n\n this._masterItems.set(vObject.uid, vObject);\n }\n\n for (const propertyToCheck of vObject.getPropertyIterator()) {\n for (const value of propertyToCheck.getValueIterator()) {\n if (value instanceof DateTimeValue && value.timezoneId) {\n this._addRequiredTimezone(vObject.uid, value.timezoneId);\n }\n }\n } // TRIGGER is supposed to be stored in UTC only,\n // but not all clients stick to this\n\n\n for (const alarm of vObject.getAlarmIterator()) {\n for (const propertyToCheck of alarm.getPropertyIterator()) {\n for (const value of propertyToCheck.getValueIterator()) {\n if (value instanceof DateTimeValue && value.timezoneId) {\n this._addRequiredTimezone(vObject.uid, value.timezoneId);\n }\n }\n }\n }\n\n if (this._getOption('removeRSVPForAttendees', false)) {\n for (const attendee of vObject.getAttendeeIterator()) {\n attendee.deleteParameter('RSVP');\n }\n }\n }\n\n for (const recurrenceExceptionList of this._recurrenceExceptionItems.values()) {\n for (const recurrenceException of recurrenceExceptionList) {\n // Check if there is a master item for this recurrence exception\n // otherwise we have to forge one\n if (!this._masterItems.has(recurrenceException.uid)) {\n const constructor = getConstructorForComponentName(recurrenceException.name);\n const forgedMaster = new constructor(recurrenceException.name, [['UID', recurrenceException.uid], ['DTSTAMP', recurrenceException.stampTime.clone()], ['DTSTART', recurrenceException.recurrenceId.clone()]]);\n forgedMaster.recurrenceManager = new RecurrenceManager(forgedMaster);\n\n this._forgedMasterItems.set(recurrenceException.uid, forgedMaster);\n\n this._masterItems.set(recurrenceException.uid, forgedMaster);\n\n this._addItem(forgedMaster);\n } else {\n const master = this._masterItems.get(recurrenceException.uid); // This should usually not be the case,\n // only if the calendar-data is seriously broken.\n // Let's try to handle it anyway by adding it to\n // forgedMasterItems, we will simply add RDATEs\n // in the next step to make it recur\n\n\n if (!master.isRecurring()) {\n this._forgedMasterItems.set(master.uid, master);\n }\n }\n\n if (this._forgedMasterItems.has(recurrenceException.uid)) {\n const forgedMaster = this._forgedMasterItems.get(recurrenceException.uid);\n\n forgedMaster.recurrenceManager.addRecurrenceDate(false, recurrenceException.recurrenceId.clone());\n }\n\n const masterItem = this._masterItems.get(recurrenceException.uid);\n\n masterItem.recurrenceManager.relateRecurrenceException(recurrenceException);\n }\n }\n }\n /**\n * Process FreeBusy components\n *\n * @private\n */\n\n\n _processVFreeBusy() {\n for (const vObject of this._calendarComponent.getFreebusyIterator()) {\n this._addItem(vObject);\n\n this._markCompTypeAsSeen(vObject.name);\n\n for (const propertyToCheck of vObject.getPropertyIterator()) {\n for (const value of propertyToCheck.getValueIterator()) {\n if (value instanceof DateTimeValue && value.timezoneId) {\n this._addRequiredTimezone(vObject.uid, value.timezoneId);\n }\n }\n }\n }\n }\n /**\n *\n * @param {AbstractRecurringComponent} item The recurrence-item to register\n * @private\n */\n\n\n _addRecurrenceException(item) {\n if (this._recurrenceExceptionItems.has(item.uid)) {\n const arr = this._recurrenceExceptionItems.get(item.uid);\n\n arr.push(item);\n } else {\n this._recurrenceExceptionItems.set(item.uid, [item]);\n }\n }\n /**\n *\n * @param {AbstractRecurringComponent} item The item to register\n * @private\n */\n\n\n _addItem(item) {\n if (this._items.has(item.uid)) {\n const arr = this._items.get(item.uid);\n\n arr.push(item);\n } else {\n this._items.set(item.uid, [item]);\n }\n }\n /**\n *\n * @param {String} uid The uid of the calendar-object\n * @param {String} timezoneId The timezoneId required by the object\n * @private\n */\n\n\n _addRequiredTimezone(uid, timezoneId) {\n if (timezoneId === 'UTC' || timezoneId === 'floating' || timezoneId === 'GMT' || timezoneId === 'Z') {\n return;\n }\n\n if (this._requiredTimezones.has(uid)) {\n this._requiredTimezones.get(uid).add(timezoneId);\n } else {\n const set = new Set([timezoneId]);\n\n this._requiredTimezones.set(uid, set);\n }\n }\n /**\n *\n * @param {CalendarComponent} calendarComp The calendar-component to add timezones to\n * @param {String} uid The UID of the calendar-object\n * @private\n */\n\n\n _addRequiredTimezonesToCalendarComp(calendarComp, uid) {\n if (!this._requiredTimezones.has(uid)) {\n return;\n }\n\n for (const requiredTimezone of this._requiredTimezones.get(uid)) {\n if (!this._defaultTimezoneManager.hasTimezoneForId(requiredTimezone)) {\n return;\n }\n\n const timezone = this._defaultTimezoneManager.getTimezoneForId(requiredTimezone); // Is this an alias?\n\n\n if (timezone.timezoneId !== requiredTimezone) {\n this._replaceTimezoneWithAnotherOne(calendarComp, requiredTimezone, timezone.timezoneId);\n }\n\n const timezoneComponent = timezone.toTimezoneComponent();\n calendarComp.addComponent(timezoneComponent);\n }\n }\n /**\n * Replaces all occurrences of searchTimezone with replaceTimezone\n *\n * @param {CalendarComponent} calendarComponent The calendar-component to replace a timezone in\n * @param {String} searchTimezone The timezone to replace\n * @param {String} replaceTimezone The replacement timezone\n * @private\n */\n\n\n _replaceTimezoneWithAnotherOne(calendarComponent, searchTimezone, replaceTimezone) {\n for (const vObject of this._calendarComponent.getVObjectIterator()) {\n for (const propertyToCheck of vObject.getPropertyIterator()) {\n for (const value of propertyToCheck.getValueIterator()) {\n if (!(value instanceof DateTimeValue)) {\n continue;\n }\n\n if (value.timezoneId === searchTimezone) {\n value.silentlyReplaceTimezone(replaceTimezone);\n }\n }\n } // TRIGGER is supposed to be stored in UTC only,\n // but not all clients stick to this\n\n\n for (const alarm of vObject.getAlarmIterator()) {\n for (const propertyToCheck of alarm.getPropertyIterator()) {\n for (const value of propertyToCheck.getValueIterator()) {\n if (!(value instanceof DateTimeValue)) {\n continue;\n }\n\n if (value.timezoneId === searchTimezone) {\n value.silentlyReplaceTimezone(replaceTimezone);\n }\n }\n }\n }\n }\n }\n /**\n * Marks a certain component type as seen.\n * This is used for\n * containsVEvents()\n * containsVJournals()\n * containsVTodos()\n *\n * @param {String} compName The name of the visited component\n * @private\n */\n\n\n _markCompTypeAsSeen(compName) {\n switch (uc(compName)) {\n case 'VEVENT':\n this._containsVEvents = true;\n break;\n\n case 'VJOURNAL':\n this._containsVJournals = true;\n break;\n\n case 'VTODO':\n this._containsVTodos = true;\n break;\n\n case 'VFREEBUSY':\n this._containsVFreeBusy = true;\n break;\n }\n }\n /**\n * @inheritDoc\n */\n\n\n static getMimeTypes() {\n return ['text/calendar'];\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n/**\n * @class ParserManager\n * @classdesc\n */\n\nclass ParserManager {\n /**\n * Constructor\n */\n constructor() {\n /**\n * List of supported parsers\n *\n * @type {Function[]}\n */\n this._parsers = [];\n }\n /**\n * Get a list of all supported file-types\n *\n * @returns {String[]}\n */\n\n\n getAllSupportedFileTypes() {\n return this._parsers.reduce((allFileTypes, parser) => allFileTypes.concat(parser.getMimeTypes()), []);\n }\n /**\n * Get an instance of a parser for one specific file-type\n *\n * @param {String} fileType The mime-type to get a parser for\n * @param {Object=} options Options destructuring object\n * @param {Boolean=} options.extractGlobalProperties Whether or not to preserve properties from the VCALENDAR component (defaults to false)\n * @param {Boolean=} options.removeRSVPForAttendees Whether or not to remove RSVP from attendees (defaults to false)\n * @param {Boolean=} options.includeTimezones Whether or not to include timezones (defaults to false)\n * @param {Boolean=} options.preserveMethod Whether or not to preserve the iCalendar method (defaults to false)\n * @param {Boolean=} options.processFreeBusy Whether or not to process VFreeBusy components (defaults to false)\n *\n * @returns {AbstractParser}\n */\n\n\n getParserForFileType(fileType, options) {\n const Parser = this._parsers.find(parser => parser.getMimeTypes().includes(fileType));\n\n if (!Parser) {\n throw new TypeError('Unknown file-type.');\n }\n\n return new Parser(options);\n }\n /**\n * Registers a parser\n *\n * @param {Function} parser The parser to register\n */\n\n\n registerParser(parser) {\n this._parsers.push(parser);\n }\n\n}\n/**\n * Gets an instance of the ParserManager with all default parsers\n *\n * @returns {ParserManager}\n */\n\nfunction getParserManager() {\n const parserManager = new ParserManager(); // We only support iCalendar for now.\n // JSON calendar and CSV will be supported soon,\n // but require some more work\n\n parserManager.registerParser(ICalendarParser); // parserManager.registerParser(JCalendarParser)\n // parserManager.registerParser(CSVParser)\n\n return parserManager;\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n * @class TimezoneAdapter\n * @classdesc Connecting ICAL.TimezoneService with our TimezoneManager\n */\nclass TimezoneAdapter {\n /**\n * Constructor\n *\n * @param {TimezoneManager} timezoneManager The timezone-manager to wrap\n */\n constructor(timezoneManager) {\n /**\n * TimezoneManager object\n *\n * @type {TimezoneManager}\n * @private\n */\n this._timezoneManager = timezoneManager;\n }\n /**\n * @param {string} timezoneId The id of the timezone\n * @returns {boolean}\n */\n\n\n has(timezoneId) {\n return this._timezoneManager.hasTimezoneForId(timezoneId);\n }\n /**\n * @param {String} timezoneId The id of the timezone\n * @returns {ICAL.Timezone|undefined}\n */\n\n\n get(timezoneId) {\n const timezone = this._timezoneManager.getTimezoneForId(timezoneId);\n\n if (!timezone) {\n return undefined;\n }\n\n return timezone.toICALTimezone();\n }\n /**\n * @throws TypeError\n */\n\n\n register() {\n throw new TypeError('Not allowed to register new timezone');\n }\n /**\n * @throws TypeError\n */\n\n\n remove() {\n throw new TypeError('Not allowed to remove timezone');\n }\n /**\n * @throws TypeError\n */\n\n\n reset() {\n throw new TypeError('Not allowed to reset TimezoneService');\n }\n\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nclass IllegalValueError extends Error {}\n\n/**\n * @copyright Copyright (c) 2021 Christoph Wurst\n *\n * @author Christoph Wurst \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\n/**\n *\n * @param {string[]} timezoneList List of Olsen timezones\n * @param {Array} additionalTimezones List of additional timezones\n * @param {String} globalTimezoneName The localized name of the \"Global\" timezones\n * @returns {[]}\n */\nfunction getSortedTimezoneList(timezoneList = [], additionalTimezones = [], globalTimezoneName = 'Global') {\n const sortedByContinent = {};\n const sortedList = [];\n\n for (const timezoneId of timezoneList) {\n const components = timezoneId.split('/');\n let [continent, name] = [components.shift(), components.join('/')];\n\n if (!name) {\n name = continent;\n continent = globalTimezoneName;\n }\n\n sortedByContinent[continent] = sortedByContinent[continent] || {\n continent,\n regions: []\n };\n sortedByContinent[continent].regions.push({\n label: getReadableTimezoneName(name),\n cities: [],\n timezoneId\n });\n }\n\n for (const additionalTimezone of additionalTimezones) {\n const {\n continent,\n label,\n timezoneId\n } = additionalTimezone;\n sortedByContinent[continent] = sortedByContinent[continent] || {\n continent,\n regions: []\n };\n sortedByContinent[continent].regions.push({\n label,\n cities: [],\n timezoneId\n });\n }\n\n for (const continent in sortedByContinent) {\n if (!Object.prototype.hasOwnProperty.call(sortedByContinent, continent)) {\n continue;\n }\n\n sortedByContinent[continent].regions.sort((a, b) => {\n if (a.label < b.label) {\n return -1;\n }\n\n return 1;\n });\n sortedList.push(sortedByContinent[continent]);\n } // Sort continents by name\n\n\n sortedList.sort((a, b) => {\n if (a.continent < b.continent) {\n return -1;\n }\n\n return 1;\n });\n return sortedList;\n}\n/**\n * Get human-readable name for timezoneId\n *\n * @param {string} timezoneId TimezoneId to turn human-readable\n * @returns {string}\n */\n\nfunction getReadableTimezoneName(timezoneId) {\n return timezoneId.split('_').join(' ').replace('St ', 'St. ').split('/').join(' - ');\n}\n\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke \n *\n * @author Richard Steinmetz \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nif (!(ICAL.TimezoneService instanceof TimezoneAdapter)) {\n ICAL.TimezoneService = new TimezoneAdapter(getTimezoneManager());\n}\n/**\n * parses a single ICS and returns an iterator over all occurrences\n * in a given timeframe\n *\n * @param {String} ics The calendar-data to parse\n * @param {DateTimeValue} start The start of the queried time-range\n * @param {DateTimeValue} end The end of the queried time-range\n */\n\n\nfunction* parseICSAndGetAllOccurrencesBetween(ics, start, end) {\n const parserManager = getParserManager();\n const icsParser = parserManager.getParserForFileType('text/calendar');\n icsParser.parse(ics);\n const objectIterator = icsParser.getItemIterator();\n const calendarComp = objectIterator.next().value;\n\n if (calendarComp === undefined) {\n return;\n }\n\n const vObjectIterator = calendarComp.getVObjectIterator();\n const firstVObject = vObjectIterator.next().value;\n\n if (firstVObject === undefined) {\n return;\n }\n\n yield* firstVObject.recurrenceManager.getAllOccurrencesBetweenIterator(start, end);\n}\n/**\n * Creates a new event\n *\n * @param {DateTimeValue} start Start-time of the new event\n * @param {DateTimeValue} end End-time of the new event\n * @returns {CalendarComponent}\n */\n\nfunction createEvent(start, end) {\n const calendar = CalendarComponent.fromEmpty();\n const eventComponent = new EventComponent('VEVENT');\n eventComponent.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true));\n eventComponent.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true));\n eventComponent.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true));\n eventComponent.updatePropertyWithValue('SEQUENCE', 0);\n eventComponent.updatePropertyWithValue('UID', v4());\n eventComponent.updatePropertyWithValue('DTSTART', start);\n eventComponent.updatePropertyWithValue('DTEND', end);\n calendar.addComponent(eventComponent);\n eventComponent.recurrenceManager = new RecurrenceManager(eventComponent);\n return calendar;\n}\n/**\n * Creates a FreeBusy Request to be used on the scheduling outbox\n *\n * @param {DateTimeValue} start The start of the queried time-range\n * @param {DateTimeValue} end The end of the queried time-range\n * @param {AttendeeProperty} organizer The organizer querying information\n * @param {AttendeeProperty[]}attendees The list of attendees to query information for\n * @returns {CalendarComponent}\n */\n\nfunction createFreeBusyRequest(start, end, organizer, attendees) {\n const calendar = CalendarComponent.fromMethod('REQUEST');\n const freeBusyComponent = new FreeBusyComponent('VFREEBUSY');\n freeBusyComponent.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true));\n freeBusyComponent.updatePropertyWithValue('UID', v4());\n freeBusyComponent.updatePropertyWithValue('DTSTART', start.clone().getInUTC());\n freeBusyComponent.updatePropertyWithValue('DTEND', end.clone().getInUTC());\n freeBusyComponent.addProperty(organizer.clone());\n\n for (const attendee of attendees) {\n const clonedAttendee = attendee.clone();\n clonedAttendee.deleteParameter('ROLE');\n clonedAttendee.deleteParameter('CUTYPE');\n clonedAttendee.deleteParameter('RSVP');\n clonedAttendee.deleteParameter('PARTSTAT');\n clonedAttendee.deleteParameter('REQUEST-STATUS');\n clonedAttendee.deleteParameter('LANGUAGE');\n freeBusyComponent.addProperty(clonedAttendee);\n }\n\n calendar.addComponent(freeBusyComponent);\n return calendar;\n}\n\nexport { AbstractComponent, AbstractParser, AbstractRecurringComponent, AbstractValue, AlarmComponent, AttachmentProperty, AttendeeProperty, BinaryValue, CalendarComponent, ConferenceProperty, DateTimeValue, DurationValue, EventComponent, ExpectedICalJSError, FreeBusyComponent, FreeBusyProperty, GeoProperty, ICalendarParser, IllegalValueError, ImageProperty, JournalComponent, ModificationNotAllowedError, Parameter, ParserManager, PeriodValue, Property, RecurValue, RecurrenceManager, RecurringWithoutDtStartError, RelationProperty, RequestStatusProperty, TextProperty, Timezone, TimezoneAdapter, TimezoneComponent, TimezoneManager, ToDoComponent, TriggerProperty, UTCOffsetValue, UnknownICALTypeError, createEvent, createFreeBusyRequest, getConstructorForICALType, getConstructorForPropertyName, getParserManager, getReadableTimezoneName, getSortedTimezoneList, getTimezoneManager, isOlsonTimezone, parseICSAndGetAllOccurrencesBetween, setConfig };\n//# sourceMappingURL=index.esm.js.map\n","/*! For license information please see ActionButton.js.LICENSE.txt */\n!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"NextcloudVue\",[],n):\"object\"==typeof exports?exports.NextcloudVue=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionButton\"]=n())}(self,(function(){return function(){var t={5938:function(t,n,e){\"use strict\";var o=e(9156);n.Z={name:\"ActionButton\",mixins:[o.Z],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}}},723:function(t,n,e){\"use strict\";var o=e(2734),i=e.n(o);n.Z={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i().util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},9156:function(t,n,e){\"use strict\";var o=e(723),i=e(6021);n.Z={mixins:[o.Z],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var n=(0,i.Z)(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},6021:function(t,n){\"use strict\";n.Z=function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}}},7087:function(t,n,e){\"use strict\";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.id,\".material-design-icon[data-v-ef50c406]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-ef50c406]{background-color:var(--color-background-hover)}.action--disabled[data-v-ef50c406]{pointer-events:none;opacity:.5}.action--disabled[data-v-ef50c406]:hover,.action--disabled[data-v-ef50c406]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-ef50c406]{opacity:1 !important}.action-button[data-v-ef50c406]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-ef50c406]:hover,.action-button[data-v-ef50c406]:focus{opacity:1}.action-button>span[data-v-ef50c406]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-ef50c406]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-ef50c406] .material-design-icon{width:44px;height:44px;opacity:1}.action-button[data-v-ef50c406] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button p[data-v-ef50c406]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-ef50c406]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-ef50c406]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CACrB,gCAOD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,4EA2BE,SC9Ba,CDGf,qCA+BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,sDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,iFAkDG,qBAAsB,CAlDzB,kCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAAgD,CAEhD,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.Z=a},3645:function(t){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var r=0;rt.length)&&(n=t.length);for(var e=0,o=new Array(n);e0?\" \".concat(e.layer):\"\",\" {\")),o+=e.css,i&&(o+=\"}\"),e.media&&(o+=\"}\"),e.supports&&(o+=\"}\");var r=e.sourceMap;r&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\" */\")),n.styleTagTransform(o,t,n.options)}(n,t,e)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)}}}},4589:function(t){\"use strict\";t.exports=function(t,n){if(n.styleSheet)n.styleSheet.cssText=t;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(t))}}},491:function(t,n,e){\"use strict\";var o=e(8940),i=e(4403),r=(e(7911),e(1900)),a=e(3184),s=e.n(a),c=(0,r.Z)(i.Z,o.s,o.x,!1,null,\"ef50c406\",null);\"function\"==typeof s()&&s()(c),n.Z=c.exports},4403:function(t,n,e){\"use strict\";var o=e(5938);n.Z=o.Z},7911:function(t,n,e){\"use strict\";e(1756)},3184:function(){},8940:function(t,n,e){\"use strict\";e.d(n,{s:function(){return o},x:function(){return i}});var o=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"button\",{staticClass:\"action-button\",class:{focusable:t.isFocusable},attrs:{\"aria-label\":t.ariaLabel,type:\"button\"},on:{click:t.onClick}},[t._t(\"icon\",(function(){return[e(\"span\",{staticClass:\"action-button__icon\",class:[t.isIconUrl?\"action-button__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}})]})),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-button__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-button__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])},i=[]},1900:function(t,n,e){\"use strict\";function o(t,n,e,o,i,r,a,s){var c,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),r&&(l._scopeId=\"data-v-\"+r),a?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=c):i&&(c=s?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,n){return c.call(n),u(t,n)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}e.d(n,{Z:function(){return o}})},2734:function(t){\"use strict\";t.exports=require(\"vue\")}},n={};function e(o){var i=n[o];if(void 0!==i)return i.exports;var r=n[o]={id:o,exports:{}};return t[o](r,r.exports,e),r.exports}e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,{a:n}),n},e.d=function(t,n){for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})};var o={};return function(){\"use strict\";e.r(o);var t=e(491);o.default=t.Z}(),o}()}));\n//# sourceMappingURL=ActionButton.js.map","/*! For license information please see Actions.js.LICENSE.txt */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"NextcloudVue\",[],t):\"object\"==typeof exports?exports.NextcloudVue=t():(e.NextcloudVue=e.NextcloudVue||{},e.NextcloudVue[\"Components/Actions\"]=t())}(self,(function(){return function(){var e={858:function(e,t,n){\"use strict\";var a=n(3251),i=n.n(a),o=n(8104),r=n(9040),s=n(1205),l=n(932),c=n(8099);function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},singleActionTitle:function(){return this.forceTitle?this.menuTitle:\"\"},isDisabled:function(){var e,t;return this.disabled||1===this.actions.length&&(null===(e=this.firstAction)||void 0===e||null===(t=e.$props)||void 0===t?void 0:t.disabled)},firstActionVNode:function(){return this.actions[0]},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var e=this.firstActionVNode.componentOptions.tag;if(\"ActionLink\"===e)return m(m({is:\"a\",href:this.firstAction.href,target:this.firstAction.target,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionRouter\"===e)return m(m({is:\"router-link\",to:this.firstAction.to,exact:this.firstAction.exact,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionButton\"===e)return m(m({is:\"button\",\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props)}return null},firstActionEvent:function(){var e,t,n;return null===(e=this.firstActionVNode)||void 0===e||null===(t=e.componentOptions)||void 0===t||null===(n=t.listeners)||void 0===n?void 0:n.click},firstActionEventBinding:function(){return this.firstActionEvent?\"click\":null},firstActionIconSlot:function(){var e,t;return null===(e=this.firstAction)||void 0===e||null===(t=e.$slots)||void 0===t?void 0:t.icon},firstActionClass:function(){return((this.firstActionVNode&&this.firstActionVNode.data.staticClass)+\" \"+(this.firstActionVNode&&this.firstActionVNode.data.class)).trim()},iconSlotIsPopulated:function(){return!!this.$slots.icon}},watch:{open:function(e){e!==this.opened&&(this.opened=e)},children:function(){this.firstAction=this.children[0]?this.children[0]:{}}},beforeMount:function(){this.initActions()},beforeUpdate:function(){this.initActions()},methods:{openMenu:function(e){this.opened||(this.opened=!0,this.$emit(\"update:open\",!0),this.$emit(\"open\"))},closeMenu:function(e){this.opened&&(this.opened=!1,this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.focus())},onOpen:function(e){var t=this;this.$nextTick((function(){t.focusFirstAction(e)}))},onMouseFocusAction:function(e){if(document.activeElement!==e.target){var t=e.target.closest(\"li\");if(t){var n=t.querySelector(p);if(n){var a=(i=this.$refs.menu.querySelectorAll(p),function(e){if(Array.isArray(e))return u(e)}(i)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(i)||function(e,t){if(e){if(\"string\"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}(i)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()).indexOf(n);a>-1&&(this.focusIndex=a,this.focusAction())}}}var i},removeCurrentActive:function(){var e=this.$refs.menu.querySelector(\"li.active\");e&&e.classList.remove(\"active\")},focusAction:function(){var e=this.$refs.menu.querySelectorAll(p)[this.focusIndex];if(e){this.removeCurrentActive();var t=e.closest(\"li.action\");e.focus(),t&&t.classList.add(\"active\")}},focusPreviousAction:function(e){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(e){if(this.opened){var t=this.$refs.menu.querySelectorAll(p).length-1;this.focusIndex===t?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=0,this.focusAction())},focusLastAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=this.$el.querySelectorAll(p).length-1,this.focusAction())},preventIfEvent:function(e){e&&(e.preventDefault(),e.stopPropagation())},execFirstAction:function(e){this.firstActionEvent&&this.firstActionEvent(e)},initActions:function(){this.actions=(this.$slots.default||[]).filter((function(e){return!!e&&!!e.componentOptions}))},onFocus:function(e){this.$emit(\"focus\",e)},onBlur:function(e){this.$emit(\"blur\",e)}}}},5041:function(e,t){\"use strict\";t.Z={name:\"VNodes\",functional:!0,render:function(e,t){return t.props.vnodes}}},8099:function(e,t,n){\"use strict\";var a=n(7020);t.default=a.Z},9040:function(e,t,n){\"use strict\";n.d(t,{default:function(){return b}});var a=n(2965),i=n(3379),o=n.n(i),r=n(7795),s=n.n(r),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),m=n(9216),g=n.n(m),p=n(4589),h=n.n(p),v=n(6051),A={};A.styleTagTransform=h(),A.setAttributes=d(),A.insert=c().bind(null,\"head\"),A.domAPI=s(),A.insertStyleElement=g(),o()(v.Z,A),v.Z&&v.Z.locals&&v.Z.locals,a.VTooltip.options.defaultTemplate='
'),a.VTooltip.options.defaultHtml=!1,a.VTooltip.options.defaultDelay={show:500,hide:200};var b=a.VTooltip},932:function(e,t,n){\"use strict\";n.d(t,{t:function(){return o}});var a=(0,n(6036).getGettextBuilder)().detectLocale();[{locale:\"ar\",translations:{\"{tag} (invisible)\":\"{tag} (غير مرئي)\",\"{tag} (restricted)\":\"{tag} (مقيد)\",Actions:\"الإجراءات\",Activities:\"النشاطات\",\"Animals & Nature\":\"الحيوانات والطبيعة\",\"Avatar of {displayName}\":\"صورة {displayName} الرمزية\",\"Avatar of {displayName}, {status}\":\"صورة {displayName} الرمزية، {status}\",\"Cancel changes\":\"إلغاء التغييرات\",Choose:\"إختيار\",Close:\"أغلق\",\"Close navigation\":\"إغلاق المتصفح\",\"Confirm changes\":\"تأكيد التغييرات\",Custom:\"مخصص\",\"Edit item\":\"تعديل عنصر\",\"External documentation for {title}\":\"الوثائق الخارجية لـ{title}\",Flags:\"الأعلام\",\"Food & Drink\":\"الطعام والشراب\",\"Frequently used\":\"كثيرا ما تستخدم\",Global:\"عالمي\",\"Go back to the list\":\"العودة إلى القائمة\",\"Message limit of {count} characters reached\":\"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف\",Next:\"التالي\",\"No emoji found\":\"لم يتم العثور على أي رمز تعبيري\",\"No results\":\"ليس هناك أية نتيجة\",Objects:\"الأشياء\",\"Open navigation\":\"فتح المتصفح\",\"Pause slideshow\":\"إيقاف العرض مؤقتًا\",\"People & Body\":\"الناس والجسم\",\"Pick an emoji\":\"اختر رمزًا تعبيريًا\",\"Please select a time zone:\":\"الرجاء تحديد المنطقة الزمنية:\",Previous:\"السابق\",Search:\"بحث\",\"Search results\":\"نتائج البحث\",\"Select a tag\":\"اختر علامة\",Settings:\"الإعدادات\",\"Settings navigation\":\"إعدادات المتصفح\",\"Smileys & Emotion\":\"الوجوه و الرموز التعبيرية\",\"Start slideshow\":\"بدء العرض\",Submit:\"إرسال\",Symbols:\"الرموز\",\"Travel & Places\":\"السفر والأماكن\",\"Type to search time zone\":\"اكتب للبحث عن منطقة زمنية\",\"Unable to search the group\":\"تعذر البحث في المجموعة\",\"Undo changes\":\"التراجع عن التغييرات\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ...\"}},{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Close navigation\":\"Tancar la navegació\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"Edit item\":\"Edita l'element\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",Global:\"Global\",\"Go back to the list\":\"Torna a la llista\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Open navigation\":\"Obrir la navegació\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",\"Please select a time zone:\":\"Seleccioneu una zona horària:\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Type to search time zone\":\"Escriviu per cercar la zona horària\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Undo changes\":\"Desfer canvis\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Escriu un missatge, @ per esmentar algú, : per a la compleció automàtica d'emojis...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Avatar of {displayName}, {status}\":\"Zástupný obrázek uživatele {displayName}, {status}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Close navigation\":\"Zavřít navigaci\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"Edit item\":\"Upravit položku\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Go back to the list\":\"Jít zpět na seznam\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Open navigation\":\"Otevřít navigaci\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Undo changes\":\"Vzít změny zpět\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem @ (zavináč); automatické doplňování emotikonů zahájíte napsáním : (dvojtečky)…\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Close navigation\":\"Navigation schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Open navigation\":\"Navigation öffnen\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte wählen Sie eine Zeitzone:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Nachricht schreiben, @, um jemanden zu erwähnen, : für die automatische Vervollständigung von Emojis … \"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Close navigation\":\"Navigation schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Open navigation\":\"Navigation öffnen\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Nachricht schreiben, @, um jemanden zu erwähnen, : für die automatische Vervollständigung von Emojis …\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",\"Avatar of {displayName}\":\"Άβαταρ του {displayName}\",\"Cancel changes\":\"Ακύρωση αλλαγών\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",\"Close navigation\":\"Κλείσιμο πλοήγησης\",\"Confirm changes\":\"Επιβεβαίωση αλλαγών\",Custom:\"Προσαρμογή\",\"Edit item\":\"Επεξεργασία\",\"External documentation for {title}\":\"Εξωτερική τεκμηρίωση για {title}\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Global:\"Καθολικό\",\"Go back to the list\":\"Επιστροφή στην αρχική λίστα \",\"Message limit of {count} characters reached\":\"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Open navigation\":\"Άνοιγμα πλοήγησης\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",\"Please select a time zone:\":\"Παρακαλούμε επιλέξτε μια ζώνη ώρας:\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Settings navigation\":\"Πλοήγηση ρυθμίσεων\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Submit:\"Υποβολή\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Type to search time zone\":\"Πληκτρολογήστε για αναζήτηση ζώνης ώρας\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\",\"Undo changes\":\"Αναίρεση Αλλαγών\",\"Write message, @ to mention someone …\":\"Γράψτε ένα μήνυμα, και με το σύμβολο @, μνημονεύστε κάποιον …\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar cambios\",Choose:\"Elegir\",Close:\"Cerrar\",\"Close navigation\":\"Cerrar navegación\",\"Confirm changes\":\"Confirmar cambios\",Custom:\"Personalizado\",\"Edit item\":\"Editar elemento\",\"External documentation for {title}\":\"Documentacion externa de {title}\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",Global:\"Global\",\"Go back to the list\":\"Volver a la lista\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Open navigation\":\"Abrir navegación\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",\"Please select a time zone:\":\"Por favor elige un huso de horario:\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Type to search time zone\":\"Escribe para buscar un huso de horario\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Undo changes\":\"Deshacer cambios\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Actions:\"Ekintzak\",Activities:\"Jarduerak\",\"Animals & Nature\":\"Animaliak eta Natura\",\"Avatar of {displayName}\":\"{displayName}-(e)n irudia\",\"Avatar of {displayName}, {status}\":\"{displayName} -(e)n irudia, {status}\",\"Cancel changes\":\"Ezeztatu aldaketak\",Choose:\"Aukeratu\",Close:\"Itxi\",\"Close navigation\":\"Itxi nabigazioa\",\"Confirm changes\":\"Baieztatu aldaketak\",Custom:\"Pertsonalizatua\",\"Edit item\":\"Editatu elementua\",\"External documentation for {title}\":\"Kanpoko dokumentazioa {title}(r)entzat\",Flags:\"Banderak\",\"Food & Drink\":\"Janaria eta edariak\",\"Frequently used\":\"Askotan erabilia\",Global:\"Globala\",\"Go back to the list\":\"Bueltatu zerrendara\",\"Message limit of {count} characters reached\":\"Mezuaren {count} karaketere-limitera heldu zara\",Next:\"Hurrengoa\",\"No emoji found\":\"Ez da emojirik aurkitu\",\"No results\":\"Emaitzarik ez\",Objects:\"Objektuak\",\"Open navigation\":\"Ireki nabigazioa\",\"Pause slideshow\":\"Pausatu diaporama\",\"People & Body\":\"Jendea eta gorputza\",\"Pick an emoji\":\"Aukeratu emoji bat\",\"Please select a time zone:\":\"Mesedez hautatu ordu-zona bat:\",Previous:\"Aurrekoa\",Search:\"Bilatu\",\"Search results\":\"Bilaketa emaitzak\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Settings navigation\":\"Nabigazio ezarpenak\",\"Smileys & Emotion\":\"Smileyak eta emozioa\",\"Start slideshow\":\"Hasi diaporama\",Submit:\"Bidali\",Symbols:\"Sinboloak\",\"Travel & Places\":\"Bidaiak eta lekuak\",\"Type to search time zone\":\"Idatzi ordu-zona bat bilatzeko\",\"Unable to search the group\":\"Ezin izan da taldea bilatu\",\"Undo changes\":\"Aldaketak desegin\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Idatzi mezua, @ norbait aipatzeko, : emojia automatikoki idazteko\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",\"Avatar of {displayName}\":\"Käyttäjän {displayName} avatar\",\"Avatar of {displayName}, {status}\":\"Käyttäjän {displayName} avatar, {status}\",\"Cancel changes\":\"Peruuta muutokset\",Choose:\"Valitse\",Close:\"Sulje\",\"Close navigation\":\"Sulje navigaatio\",\"Confirm changes\":\"Vahvista muutokset\",Custom:\"Mukautettu\",\"Edit item\":\"Muokkaa kohdetta\",\"External documentation for {title}\":\"Ulkoinen dokumentaatio kohteelle {title}\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",Global:\"Yleinen\",\"Go back to the list\":\"Siirry takaisin listaan\",\"Message limit of {count} characters reached\":\"Viestin merkken enimmäisimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Open navigation\":\"Avaa navigaatio\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",\"Please select a time zone:\":\"Valitse aikavyöhyke:\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Submit:\"Lähetä\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Type to search time zone\":\"Kirjoita etsiäksesi aikavyöhyke\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Undo changes\":\"Kumoa muutokset\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Annuler les modifications\",Choose:\"Choisir\",Close:\"Fermer\",\"Close navigation\":\"Fermer la navigation\",\"Confirm changes\":\"Confirmer les modifications\",Custom:\"Personnalisé\",\"Edit item\":\"Éditer l'élément\",\"External documentation for {title}\":\"Documentation externe pour {title}\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",Global:\"Global\",\"Go back to the list\":\"Retourner à la liste\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Open navigation\":\"Ouvrir la navigation\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",\"Please select a time zone:\":\"Sélectionnez un fuseau horaire : \",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Submit:\"Valider\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Type to search time zone\":\"Saisissez les premiers lettres pour rechercher un fuseau horaire\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Undo changes\":\"Annuler les changements\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Ecrire un message, @ pour mentionner quelqu'un, : pour l'auto-complétion des émoticônes\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",\"Avatar of {displayName}\":\"{displayName} profilképe\",\"Cancel changes\":\"Változtatások elvetése\",Choose:\"Válassszon\",Close:\"Bezárás\",\"Confirm changes\":\"Változtatások megerősítése\",Custom:\"Egyéni\",\"External documentation for {title}\":\"Külső dokumentáció ehhez: {title}\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",Global:\"Globális\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",\"Please select a time zone:\":\"Válasszon időzónát:\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Submit:\"Beküldés\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Type to search time zone\":\"Gépeljen az időzóna kereséséhez\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar di {displayName}, {status}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Close navigation\":\"Chiudi la navigazione\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"Edit item\":\"Modifica l'elemento\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",Global:\"Globale\",\"Go back to the list\":\"Torna all'elenco\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Open navigation\":\"Apri la navigazione\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",\"Please select a time zone:\":\"Si prega di selezionare un fuso orario:\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Type to search time zone\":\"Digita per cercare un fuso orario\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Undo changes\":\"Cancella i cambiamenti\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Scrivi un messaggio, @ per menzionare qualcuno, : per il completamento automatico delle emoji ...\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",Global:\"全体\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",\"Please select a time zone:\":\"タイムゾーンを選んで下さい:\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"感情表現\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Type to search time zone\":\"タイムゾーン検索のため入力してください\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを記入 @をつけるとその人に通知が行きます\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",\"Avatar of {displayName}\":\"Avataren til {displayName}\",\"Avatar of {displayName}, {status}\":\"{displayName}'s avatar, {status}\",\"Cancel changes\":\"Avbryt endringer\",Choose:\"Velg\",Close:\"Lukk\",\"Close navigation\":\"Lukk navigasjon\",\"Confirm changes\":\"Bekreft endringer\",Custom:\"Tilpasset\",\"Edit item\":\"Rediger\",\"External documentation for {title}\":\"Ekstern dokumentasjon for {title}\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Global:\"Global\",\"Go back to the list\":\"Gå tilbake til listen\",\"Message limit of {count} characters reached\":\"Karakter begrensing {count} nådd i melding\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Open navigation\":\"Åpne navigasjon\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",\"Please select a time zone:\":\"Vennligst velg tidssone\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Settings navigation\":\"Navigasjons instillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Type to search time zone\":\"Skriv for å søke etter tidssone\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\",\"Undo changes\":\"Tilbakestill endringer\",\"Write message, @ to mention someone …\":\"Bruk @ for å nevne noen i en melding\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar van {displayName}, {status}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Close navigation\":\"Navigatie sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"Edit item\":\"Item bewerken\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",Global:\"Globaal\",\"Go back to the list\":\"Ga terug naar de lijst\",\"Message limit of {count} characters reached\":\"Berichtlimiet van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Open navigation\":\"Navigatie openen\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",\"Please select a time zone:\":\"Selecteer een tijdzone:\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Type to search time zone\":\"Type om de tijdzone te zoeken\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Undo changes\":\"Wijzigingen ongedaan maken\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Awatar {displayName}, {status}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Close navigation\":\"Zamknij nawigację\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"Edit item\":\"Edytuj element\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Go back to the list\":\"Powrót do listy\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Open navigation\":\"Otwórz nawigację\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Ustawienia nawigacji\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Undo changes\":\"Cofnij zmiany\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napisz wiadomość, @ aby o kimś wspomnieć, : dla autouzupełniania emotikonów…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Close navigation\":\"Fechar navegação\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"Edit item\":\"Editar item\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Go back to the list\":\"Volte para a lista\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Open navigation\":\"Abrir navegação\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Undo changes\":\"Desfazer modificações\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Escreva mensagem, @ para mencionar alguém, : para autocompleção emoji...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar {displayName}, {status}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Close navigation\":\"Zavrieť navigáciu\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"Edit item\":\"Upraviť položku\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Global:\"Globálne\",\"Go back to the list\":\"Naspäť na zoznam\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Open navigation\":\"Otvoriť navigáciu\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",\"Please select a time zone:\":\"Prosím vyberte časovú zónu:\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Type to search time zone\":\"Začníte písať pre vyhľadávanie časovej zóny\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Undo changes\":\"Vrátiť zmeny\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napíšte správu, @ ak chcete niekoho spomenúť, : pre automatické dopĺňanie emotikonov…\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",\"Avatar of {displayName}\":\"Podoba {displayName}\",\"Cancel changes\":\"Prekliči spremembe\",Choose:\"Izbor\",Close:\"Zapri\",\"Confirm changes\":\"Potrdi spremembe\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",Global:\"Splošno\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",\"Please select a time zone:\":\"Izbor časovnega pasu:\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Type to search time zone\":\"Vpišite niz za iskanje časovnega pasu\",\"Unable to search the group\":\"Ni mogoče iskati po skupini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Avatar of {displayName}\":\"{displayName}s avatar\",\"Avatar of {displayName}, {status}\":\"{displayName}s avatar, {status}\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Close navigation\":\"Stäng navigering\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"Edit item\":\"Ändra\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",Global:\"Global\",\"Go back to the list\":\"Gå tillbaka till listan\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Open navigation\":\"Öppna navigering\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",\"Please select a time zone:\":\"Välj tidszon:\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Type to search time zone\":\"Skriv för att välja tidszon\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Undo changes\":\"Ångra ändringar\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Skriv meddelande, @ för att nämna någon, : för automatiska emojiförslag ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Close navigation\":\"Gezinmeyi kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"Edit item\":\"Ögeyi düzenle\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Go back to the list\":\"Listeye dön\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Open navigation\":\"Gezinmeyi aç\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Undo changes\":\"Değişiklikleri geri al\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"İleti yazın, birini anmak için @, otomatik emoji tamamlamak için : kullanın…\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",\"Avatar of {displayName}\":\"{displayName}的头像\",\"Avatar of {displayName}, {status}\":\"{displayName}的头像,{status}\",\"Cancel changes\":\"取消更改\",Choose:\"选择\",Close:\"关闭\",\"Close navigation\":\"关闭导航\",\"Confirm changes\":\"确认更改\",Custom:\"自定义\",\"Edit item\":\"编辑项目\",\"External documentation for {title}\":\"{title}的外部文档\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",Global:\"全局\",\"Go back to the list\":\"返回至列表\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Open navigation\":\"开启导航\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",\"Please select a time zone:\":\"请选择一个时区:\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Submit:\"提交\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Type to search time zone\":\"打字以搜索时区\",\"Unable to search the group\":\"无法搜索分组\",\"Undo changes\":\"撤销更改\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"写信息,@ 提到某人,: 用于表情符号自动完成 ...\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",\"Avatar of {displayName}\":\"{displayName} 的頭像\",\"Avatar of {displayName}, {status}\":\"{displayName}的頭像,{status}\",\"Cancel changes\":\"取消更改\",Choose:\"選擇\",Close:\"關閉\",\"Close navigation\":\"關閉導航\",\"Confirm changes\":\"確認更改\",Custom:\"自定義\",\"Edit item\":\"編輯項目\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",Global:\"全球的\",\"Go back to the list\":\"返回清單\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Open navigation\":\"開啟導航\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Please select a time zone:\":\"請選擇時區:\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Type to search time zone\":\"鍵入以搜索時區\",\"Unable to search the group\":\"無法搜尋群組\",\"Undo changes\":\"取消更改\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(e){var t={};for(var n in e.translations)e.translations[n].pluralId?t[n]={msgid:n,msgid_plural:e.translations[n].pluralId,msgstr:e.translations[n].msgstr}:t[n]={msgid:n,msgstr:[e.translations[n]]};a.addTranslation(e.locale,{translations:{\"\":t}})}));var i=a.build(),o=(i.ngettext.bind(i),i.gettext.bind(i))},1205:function(e,t){\"use strict\";t.Z=function(e){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").slice(0,e||5)}},6051:function(e,t,n){\"use strict\";var a=n(4015),i=n.n(a),o=n(3645),r=n.n(o)()(i());r.push([e.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-17fd6e1]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-17fd6e1][x-placement^='top'] .tooltip-arrow{bottom:0;border-bottom-width:0;border-top-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1][x-placement^='bottom'] .tooltip-arrow{top:0;border-top-width:0;border-bottom-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1][x-placement^='right'] .tooltip-arrow{right:100%;border-left-width:0;border-right-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1][x-placement^='left'] .tooltip-arrow{left:100%;border-right-width:0;border-left-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-17fd6e1][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-17fd6e1] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:transparent;border-width:10px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/directives/Tooltip/index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAoBE,QAAS,CACT,qBAAsB,CACtB,6CAA8C,CAtBhD,mEA2BE,KAAM,CACN,kBAAmB,CACnB,gDAAiD,CA7BnD,kEAkCE,UAAW,CACX,mBAAoB,CACpB,+CAAgD,CApClD,iEAyCE,SAAU,CACV,oBAAqB,CACrB,8CAA+C,CA3CjD,iDAgDE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CAlDZ,kDAqDE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CAvDZ,4CA4DE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAjEhD,4CAsEE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,wBAAyB,CACzB,iBA/EgB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ \\n* @copyright Copyright (c) 2016, Robin Appelman \\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt \\n* @copyright Copyright (c) 2016, Erik Pellikka \\n* @copyright Copyright (c) 2015, Vincent Petry \\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] .tooltip-arrow {\\n\\t\\tbottom: 0;\\n\\t\\tborder-bottom-width: 0;\\n\\t\\tborder-top-color: var(--color-main-background);\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] .tooltip-arrow {\\n\\t\\ttop: 0;\\n\\t\\tborder-top-width: 0;\\n\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] .tooltip-arrow {\\n\\t\\tright: 100%;\\n\\t\\tborder-left-width: 0;\\n\\t\\tborder-right-color: var(--color-main-background);\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] .tooltip-arrow {\\n\\t\\tleft: 100%;\\n\\t\\tborder-right-width: 0;\\n\\t\\tborder-left-color: var(--color-main-background);\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: $arrow-width;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=r},9224:function(e,t,n){\"use strict\";var a=n(4015),i=n.n(a),o=n(3645),r=n.n(o)()(i());r.push([e.id,\".material-design-icon[data-v-2a98ba3b]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-item[data-v-2a98ba3b]{position:relative;display:inline-block}.action-item--single[data-v-2a98ba3b]:hover,.action-item--single[data-v-2a98ba3b]:focus,.action-item--single[data-v-2a98ba3b]:active,.action-item__menutoggle[data-v-2a98ba3b]:hover,.action-item__menutoggle[data-v-2a98ba3b]:focus,.action-item__menutoggle[data-v-2a98ba3b]:active{opacity:1;background-color:rgba(127,127,127,0.25) !important}.action-item__menutoggle[data-v-2a98ba3b]:disabled,.action-item--single[data-v-2a98ba3b]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-2a98ba3b]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-2a98ba3b],.action-item__menutoggle[data-v-2a98ba3b]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:0;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item--single--with-title[data-v-2a98ba3b],.action-item__menutoggle--with-title[data-v-2a98ba3b]{position:relative;padding:0 14px;padding-left:44px;white-space:nowrap;opacity:1;border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);background-position:14px center;font-size:inherit}.action-item--single--with-title[data-v-2a98ba3b] span,.action-item__menutoggle--with-title[data-v-2a98ba3b] span{width:24px;height:24px;line-height:16px;position:absolute;top:0;left:0}.action-item[data-v-2a98ba3b] .material-design-icon{width:44px;height:44px;opacity:1}.action-item[data-v-2a98ba3b] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-item__menutoggle[data-v-2a98ba3b]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle--primary[data-v-2a98ba3b]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-2a98ba3b],.action-item__menutoggle--primary[data-v-2a98ba3b]:hover,.action-item__menutoggle--primary[data-v-2a98ba3b]:focus,.action-item__menutoggle--primary[data-v-2a98ba3b]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-2a98ba3b]{opacity:.7}.action-item--single[data-v-2a98ba3b]:hover,.action-item--single[data-v-2a98ba3b]:focus,.action-item--single[data-v-2a98ba3b]:active{opacity:1}.action-item--single>[hidden][data-v-2a98ba3b]{display:none}.ie .action-item__menu[data-v-2a98ba3b],.ie .action-item__menu .action-item__menu_arrow[data-v-2a98ba3b],.edge .action-item__menu[data-v-2a98ba3b],.edge .action-item__menu .action-item__menu_arrow[data-v-2a98ba3b]{border:1px solid var(--color-border)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Actions/Actions.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCopBxB,8BACC,iBAAkB,CAClB,oBAAqB,CAIrB,sRAMC,SC5nBc,CD8nBd,kDAA2C,CAC3C,kGAKA,qBAAsB,CApBxB,yEAwBE,SCxoBc,CDyoBd,uCCroBgD,CDsoBhD,gFAKA,qBAAsB,CACtB,UAAW,CACX,cCpqBmB,CDqqBnB,WCrqBmB,CDsqBnB,QAAS,CACT,SAAU,CACV,cAAe,CACf,WAAY,CACZ,kBAAkC,CAClC,4BAA6B,CAE7B,wGACC,iBAAkB,CAClB,cCvqB6C,CDwqB7C,iBChrBkB,CDirBlB,kBAAmB,CACnB,SC/pBa,CDgqBb,yCAA0C,CAE1C,6CAA8C,CAC9C,+BAAwC,CACxC,iBAAkB,CAVlB,oHAeC,UAAW,CACX,WAAY,CACZ,gBC1rBY,CD2rBZ,iBAAkB,CAClB,KAAM,CACN,MAAO,CA9DX,oDAoEE,UCvsBmB,CDwsBnB,WCxsBmB,CDysBnB,SCtrBc,CDgnBhB,+EAyEG,qBAAsB,CACtB,0CAMD,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UCpsBiB,CDqsBjB,gBAAiB,CACjB,gBCptBc,CDstBd,mDACC,SCxsBa,CDysBb,+BAAgC,CAChC,WAAY,CACZ,6CAA8C,CAC9C,kPAIC,0CAA2C,CAC3C,8DAA+D,CAC/D,sCAKF,UCxtBiB,CDutBjB,qIAKC,SC3tBa,CDstBd,+CASC,YAAa,CACb,sNAQD,oCAAqC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t// put a grey round background when menu is opened\\n\\t// or hover-focused\\n\\t&--single:hover,\\n\\t&--single:focus,\\n\\t&--single:active,\\n\\t&__menutoggle:hover,\\n\\t&__menutoggle:focus,\\n\\t&__menutoggle:active {\\n\\t\\topacity: $opacity_full;\\n\\t\\t// good looking on dark AND white bg, override server styling\\n\\t\\tbackground-color: $icon-focus-bg !important;\\n\\t}\\n\\n\\t// TODO: handle this in the future button component\\n\\t&__menutoggle:disabled,\\n\\t&--single:disabled {\\n\\t\\topacity: .3 !important;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\n\\t}\\n\\n\\t// icons\\n\\t&--single,\\n\\t&__menutoggle {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: auto;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 0 $icon-margin;\\n\\t\\t\\tpadding-left: $clickable-area;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t// with a title, we need to display this as a real button\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tfont-size: inherit;\\n\\n\\t\\t\\t// non-background icon class\\n\\t\\t\\t// image slot\\n\\t\\t\\t::v-deep span {\\n\\t\\t\\t\\twidth: 24px;\\n\\t\\t\\t\\theight: 24px;\\n\\t\\t\\t\\tline-height: $icon-size;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 0;\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_full;\\n\\n\\t\\t.material-design-icon__svg {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n\\n\\t// icon-more\\n\\t&__menutoggle {\\n\\t\\t// align menu icon in center\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-weight: bold;\\n\\t\\tline-height: $icon-size;\\n\\n\\t\\t&--primary {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t.action-item--open &,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--single {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t\\t// hide anything the slot is displaying\\n\\t\\t& > [hidden] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie,\\n.edge {\\n\\t.action-item__menu,\\n\\t.action-item__menu .action-item__menu_arrow {\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=r},5878:function(e,t,n){\"use strict\";var a=n(4015),i=n.n(a),o=n(3645),r=n.n(o)()(i());r.push([e.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:transparent;border-width:10px}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-bottom-width:0;border-top-color:var(--color-main-background)}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-color:var(--color-main-background)}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-left-width:0;border-right-color:var(--color-main-background)}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-right-width:0;border-left-color:var(--color-main-background)}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Popover/Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCyGxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,wBAAyB,CACzB,iBAvBgB,CAElB,6BAyBE,kBA3BgB,CAElB,6CA4BG,YA9Be,CA+Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,qBAAsB,CACtB,6CAA8C,CAjCjD,gCAsCE,eAxCgB,CAElB,gDAyCG,SA3Ce,CA4Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,kBAAmB,CACnB,gDAAiD,CA9CpD,+BAmDE,gBArDgB,CAElB,+CAsDG,4BAA6B,CAC7B,UAzDe,CA0Df,cAAe,CACf,aAAc,CACd,mBAAoB,CACpB,+CAAgD,CA3DnD,8BAgEE,iBAlEgB,CAElB,8CAmEG,4BAA6B,CAC7B,WAtEe,CAuEf,cAAe,CACf,aAAc,CACd,oBAAqB,CACrB,8CAA+C,CAxElD,6BA6EE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CA/EZ,8BAmFE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: $arrow-width;\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=r},3645:function(e){\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?\"@media \".concat(t[2],\" {\").concat(n,\"}\"):n})).join(\"\")},t.i=function(e,n,a){\"string\"==typeof e&&(e=[[null,e,\"\"]]);var i={};if(a)for(var o=0;oe.length)&&(t=e.length);for(var n=0,a=new Array(t);n0?\" \".concat(n.layer):\"\",\" {\")),a+=n.css,i&&(a+=\"}\"),n.media&&(a+=\"}\"),n.supports&&(a+=\"}\");var o=n.sourceMap;o&&\"undefined\"!=typeof btoa&&(a+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),t.styleTagTransform(a,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:function(e){\"use strict\";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},3083:function(e,t,n){\"use strict\";var a=n(9125),i=n(613),o=(n(3822),n(1900)),r=n(2192),s=n.n(r),l=(0,o.Z)(i.Z,a.s,a.x,!1,null,\"2a98ba3b\",null);\"function\"==typeof s()&&s()(l),t.Z=l.exports},7020:function(e,t,n){\"use strict\";n.d(t,{Z:function(){return k}});var a={name:\"Popover\",components:{VPopover:n(2965).VPopover},mounted:function(){var e=this;this.$watch((function(){return e.$refs.popover.isOpen}),(function(t){t?e.$emit(\"after-show\"):e.$emit(\"after-hide\")}))}},i=n(3379),o=n.n(i),r=n(7795),s=n.n(r),l=n(569),c=n.n(l),u=n(3565),d=n.n(u),m=n(9216),g=n.n(m),p=n(4589),h=n.n(p),v=n(5878),A={};A.styleTagTransform=h(),A.setAttributes=d(),A.insert=c().bind(null,\"head\"),A.domAPI=s(),A.insertStyleElement=g(),o()(v.Z,A),v.Z&&v.Z.locals&&v.Z.locals;var b=n(1900),f=n(8733),y=n.n(f),C=(0,b.Z)(a,(function(){var e=this,t=e.$createElement;return(e._self._c||t)(\"VPopover\",e._g(e._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:e._u([{key:\"popover\",fn:function(){return[e._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",e.$attrs,!1),e.$listeners),[e._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof y()&&y()(C);var k=C.exports},8104:function(e,t,n){\"use strict\";var a=n(5494),i=(0,n(1900).Z)(a.Z,void 0,void 0,!1,null,null,null);t.Z=i.exports},613:function(e,t,n){\"use strict\";var a=n(858);t.Z=a.Z},5494:function(e,t,n){\"use strict\";var a=n(5041);t.Z=a.Z},3822:function(e,t,n){\"use strict\";n(2694)},2192:function(){},8733:function(){},9125:function(e,t,n){\"use strict\";n.d(t,{s:function(){return a},x:function(){return i}});var a=function(){var e,t=this,n=t.$createElement,a=t._self._c||n;return t.isValidSingleAction&&!t.forceMenu?a(\"element\",t._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.firstAction.text,expression:\"firstAction.text\",modifiers:{auto:!0}}],staticClass:\"action-item action-item--single\",class:(e={},e[t.firstAction.icon]=t.firstAction.icon,e[t.firstActionClass]=t.firstActionClass,e[\"action-item--single--with-title\"]=t.singleActionTitle,e),attrs:{rel:\"nofollow noreferrer noopener\",disabled:t.isDisabled},on:t._d({focus:t.onFocus,blur:t.onBlur},[t.firstActionEventBinding,t.execFirstAction])},\"element\",t.firstActionBinding,!1),[a(\"VNodes\",{attrs:{vnodes:t.firstActionIconSlot}}),t._v(\"\\n\\n\\t\"+t._s(t.singleActionTitle)+\"\\n\\n\\t\"),t._v(\" \"),a(\"span\",{attrs:{\"aria-hidden\":!0,hidden:\"\"}},[t._t(\"default\")],2)],1):a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasMultipleActions||t.forceMenu,expression:\"hasMultipleActions || forceMenu\"}],staticClass:\"action-item\",class:{\"action-item--open\":t.opened}},[a(\"Popover\",{attrs:{delay:0,\"handle-resize\":!0,open:t.opened,placement:t.placement,\"boundaries-element\":t.boundariesElement,container:t.container},on:{\"update:open\":function(e){t.opened=e},show:t.openMenu,\"after-show\":t.onOpen,hide:t.closeMenu},scopedSlots:t._u([{key:\"trigger\",fn:function(){var e;return[a(\"button\",{ref:\"menuButton\",staticClass:\"icon vue-button action-item__menutoggle\",class:(e={},e[t.defaultIcon]=!t.iconSlotIsPopulated,e[\"action-item__menutoggle--with-title\"]=t.menuTitle,e[\"action-item__menutoggle--with-icon-slot\"]=t.iconSlotIsPopulated,e[\"action-item__menutoggle--default-icon\"]=!t.iconSlotIsPopulated&&\"\"===t.defaultIcon,e[\"action-item__menutoggle--primary\"]=t.primary,e),attrs:{disabled:t.disabled,\"aria-haspopup\":\"true\",\"aria-label\":t.ariaLabel,\"aria-controls\":t.randomId,\"aria-expanded\":t.opened?\"true\":\"false\",\"test-attr\":\"1\",type:\"button\"},on:{focus:t.onFocus,blur:t.onBlur}},[t.iconSlotIsPopulated?t._t(\"icon\"):\"\"===t.defaultIcon?a(\"DotsHorizontal\",{attrs:{size:20,decorative:\"\"}}):t._e(),t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.menuTitle)+\"\\n\\t\\t\\t\")],2)]},proxy:!0}],null,!0)},[t._v(\" \"),a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.opened,expression:\"opened\"}],ref:\"menu\",class:{open:t.opened},attrs:{tabindex:\"-1\"},on:{keydown:[function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"up\",38,e.key,[\"Up\",\"ArrowUp\"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusPreviousAction.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"down\",40,e.key,[\"Down\",\"ArrowDown\"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusNextAction.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusNextAction.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")?null:e.shiftKey?e.ctrlKey||e.altKey||e.metaKey?null:t.focusPreviousAction.apply(null,arguments):null},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"page-up\",void 0,e.key,void 0)||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusFirstAction.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"page-down\",void 0,e.key,void 0)||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusLastAction.apply(null,arguments)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.preventDefault(),t.closeMenu.apply(null,arguments))}],mousemove:t.onMouseFocusAction}},[a(\"ul\",{attrs:{id:t.randomId,tabindex:\"-1\"}},[t.opened?[t._t(\"default\")]:t._e()],2)])])],1)},i=[]},1900:function(e,t,n){\"use strict\";function a(e,t,n,a,i,o,r,s){var l,c=\"function\"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),a&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),r?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}n.d(t,{Z:function(){return a}})},6036:function(e){\"use strict\";e.exports=require(\"@nextcloud/l10n/dist/gettext\")},2965:function(e){\"use strict\";e.exports=require(\"v-tooltip\")},3251:function(e){\"use strict\";e.exports=require(\"vue-material-design-icons/DotsHorizontal\")}},t={};function n(a){var i=t[a];if(void 0!==i)return i.exports;var o=t[a]={id:a,exports:{}};return e[a](o,o.exports,n),o.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var a={};return function(){\"use strict\";n.r(a);var e=n(3083);a.default=e.Z}(),a}()}));\n//# sourceMappingURL=Actions.js.map","/*! For license information please see ncvuecomponents.js.LICENSE.txt */\n!function(n,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"NextcloudVue\",[],t):\"object\"==typeof exports?exports.NextcloudVue=t():(n.NextcloudVue=n.NextcloudVue||{},n.NextcloudVue.ncvuecomponents=t())}(self,(function(){return function(){var n={5938:function(n,t,e){\"use strict\";var i=e(9156);t.Z={name:\"ActionButton\",mixins:[i.Z],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}}},858:function(n,t,e){\"use strict\";var i=e(3251),a=e.n(i),r=e(8104),o=e(9040),s=e(1205),l=e(932),c=e(8099);function d(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,i=new Array(t);e1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},singleActionTitle:function(){return this.forceTitle?this.menuTitle:\"\"},isDisabled:function(){var n,t;return this.disabled||1===this.actions.length&&(null===(n=this.firstAction)||void 0===n||null===(t=n.$props)||void 0===t?void 0:t.disabled)},firstActionVNode:function(){return this.actions[0]},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var n=this.firstActionVNode.componentOptions.tag;if(\"ActionLink\"===n)return u(u({is:\"a\",href:this.firstAction.href,target:this.firstAction.target,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionRouter\"===n)return u(u({is:\"router-link\",to:this.firstAction.to,exact:this.firstAction.exact,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionButton\"===n)return u(u({is:\"button\",\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props)}return null},firstActionEvent:function(){var n,t,e;return null===(n=this.firstActionVNode)||void 0===n||null===(t=n.componentOptions)||void 0===t||null===(e=t.listeners)||void 0===e?void 0:e.click},firstActionEventBinding:function(){return this.firstActionEvent?\"click\":null},firstActionIconSlot:function(){var n,t;return null===(n=this.firstAction)||void 0===n||null===(t=n.$slots)||void 0===t?void 0:t.icon},firstActionClass:function(){return((this.firstActionVNode&&this.firstActionVNode.data.staticClass)+\" \"+(this.firstActionVNode&&this.firstActionVNode.data.class)).trim()},iconSlotIsPopulated:function(){return!!this.$slots.icon}},watch:{open:function(n){n!==this.opened&&(this.opened=n)},children:function(){this.firstAction=this.children[0]?this.children[0]:{}}},beforeMount:function(){this.initActions()},beforeUpdate:function(){this.initActions()},methods:{openMenu:function(n){this.opened||(this.opened=!0,this.$emit(\"update:open\",!0),this.$emit(\"open\"))},closeMenu:function(n){this.opened&&(this.opened=!1,this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.focus())},onOpen:function(n){var t=this;this.$nextTick((function(){t.focusFirstAction(n)}))},onMouseFocusAction:function(n){if(document.activeElement!==n.target){var t=n.target.closest(\"li\");if(t){var e=t.querySelector(m);if(e){var i=(a=this.$refs.menu.querySelectorAll(m),function(n){if(Array.isArray(n))return d(n)}(a)||function(n){if(\"undefined\"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n[\"@@iterator\"])return Array.from(n)}(a)||function(n,t){if(n){if(\"string\"==typeof n)return d(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);return\"Object\"===e&&n.constructor&&(e=n.constructor.name),\"Map\"===e||\"Set\"===e?Array.from(n):\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?d(n,t):void 0}}(a)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()).indexOf(e);i>-1&&(this.focusIndex=i,this.focusAction())}}}var a},removeCurrentActive:function(){var n=this.$refs.menu.querySelector(\"li.active\");n&&n.classList.remove(\"active\")},focusAction:function(){var n=this.$refs.menu.querySelectorAll(m)[this.focusIndex];if(n){this.removeCurrentActive();var t=n.closest(\"li.action\");n.focus(),t&&t.classList.add(\"active\")}},focusPreviousAction:function(n){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(n),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(n){if(this.opened){var t=this.$refs.menu.querySelectorAll(m).length-1;this.focusIndex===t?this.closeMenu():(this.preventIfEvent(n),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(n){this.opened&&(this.preventIfEvent(n),this.focusIndex=0,this.focusAction())},focusLastAction:function(n){this.opened&&(this.preventIfEvent(n),this.focusIndex=this.$el.querySelectorAll(m).length-1,this.focusAction())},preventIfEvent:function(n){n&&(n.preventDefault(),n.stopPropagation())},execFirstAction:function(n){this.firstActionEvent&&this.firstActionEvent(n)},initActions:function(){this.actions=(this.$slots.default||[]).filter((function(n){return!!n&&!!n.componentOptions}))},onFocus:function(n){this.$emit(\"focus\",n)},onBlur:function(n){this.$emit(\"blur\",n)}}}},5041:function(n,t){\"use strict\";t.Z={name:\"VNodes\",functional:!0,render:function(n,t){return t.props.vnodes}}},4828:function(n,t,e){\"use strict\";var i=e(491);t.default=i.Z},198:function(n,t,e){\"use strict\";e.d(t,{default:function(){return B}});var i={name:\"ActionCaption\",props:{title:{type:String,required:!0}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(6429),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(1900),b=e(5933),f=e.n(b),v=(0,C.Z)(i,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"li\",{staticClass:\"app-navigation-caption\"},[n._v(\"\\n\\t\"+n._s(n.title)+\"\\n\")])}),[],!1,null,\"2fd4f3eb\",null);\"function\"==typeof f()&&f()(v);var B=v.exports},3056:function(n,t,e){\"use strict\";e.d(t,{default:function(){return D}});var i=e(723),a=e(1205),r={name:\"ActionCheckbox\",mixins:[i.Z],props:{id:{type:String,default:function(){return\"action-\"+(0,a.Z)()},validator:function(n){return\"\"!==n.trim()}},checked:{type:Boolean,default:!1},value:{type:[String,Number],default:\"\"},disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}},methods:{checkInput:function(n){this.$refs.label.click()},onChange:function(n){this.$emit(\"update:checked\",this.$refs.checkbox.checked),this.$emit(\"change\",n),this.$refs.checkbox.checked?this.$emit(\"check\"):this.$emit(\"uncheck\")}}},o=e(3379),s=e.n(o),l=e(7795),c=e.n(l),d=e(569),A=e.n(d),u=e(3565),p=e.n(u),m=e(9216),T=e.n(m),h=e(4589),g=e.n(h),C=e(4105),b={};b.styleTagTransform=g(),b.setAttributes=p(),b.insert=A().bind(null,\"head\"),b.domAPI=c(),b.insertStyleElement=T(),s()(C.Z,b),C.Z&&C.Z.locals&&C.Z.locals;var f=e(1900),v=e(9012),B=e.n(v),E=(0,f.Z)(r,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":n.disabled}},[e(\"span\",{staticClass:\"action-checkbox\"},[e(\"input\",{ref:\"checkbox\",staticClass:\"checkbox action-checkbox__checkbox\",class:{focusable:n.isFocusable},attrs:{id:n.id,disabled:n.disabled,type:\"checkbox\"},domProps:{checked:n.checked,value:n.value},on:{keydown:function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"enter\",13,t.key,\"Enter\")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),n.checkInput.apply(null,arguments))},change:n.onChange}}),n._v(\" \"),e(\"label\",{ref:\"label\",staticClass:\"action-checkbox__label\",attrs:{for:n.id}},[n._v(n._s(n.text))]),n._v(\" \"),n._e()],2)])}),[],!1,null,\"cae5b47a\",null);\"function\"==typeof B()&&B()(E);var D=E.exports},538:function(n,t,e){\"use strict\";e.d(t,{default:function(){return N}});var i=e(2533),a=e.n(i),r=e(723),o=e(1205),s=e(577),l=e(7316),c={name:\"ActionInput\",components:{ArrowRight:a(),DatetimePicker:s.default,Multiselect:l.default},mixins:[r.Z],props:{id:{type:String,default:function(){return\"action-\"+(0,o.Z)()},validator:function(n){return\"\"!==n.trim()}},icon:{type:String,default:\"\"},type:{type:String,default:\"text\",validator:function(n){return[\"date\",\"datetime-local\",\"month\",\"multiselect\",\"number\",\"password\",\"search\",\"tel\",\"text\",\"time\",\"url\",\"week\",\"color\",\"email\"].indexOf(n)>-1}},value:{type:[String,Date,Number],default:\"\"},disabled:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(n){return!1}},isMultiselectType:function(){return\"multiselect\"===this.type},isDatePickerType:function(){switch(this.type){case\"date\":case\"month\":case\"time\":return this.type;case\"datetime-local\":return\"datetime\"}return!1},isFocusable:function(){return!this.disabled}},methods:{onLeave:function(){this.$refs.datetimepicker&&this.$refs.datetimepicker.$refs.datepicker&&this.$refs.datetimepicker.$refs.datepicker.closePopup()},onInput:function(n){this.$emit(\"input\",n),this.$emit(\"update:value\",n.target?n.target.value:n)},onSubmit:function(n){if(n.preventDefault(),n.stopPropagation(),this.disabled)return!1;this.$emit(\"submit\",n)},onChange:function(n){this.$emit(\"change\",n)}}},d=e(3379),A=e.n(d),u=e(7795),p=e.n(u),m=e(569),T=e.n(m),h=e(3565),g=e.n(h),C=e(9216),b=e.n(C),f=e(4589),v=e.n(f),B=e(3949),E={};E.styleTagTransform=v(),E.setAttributes=g(),E.insert=T().bind(null,\"head\"),E.domAPI=p(),E.insertStyleElement=b(),A()(B.Z,E),B.Z&&B.Z.locals&&B.Z.locals;var D=e(1900),S=e(2329),y=e.n(S),x=(0,D.Z)(c,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":n.disabled}},[e(\"span\",{staticClass:\"action-input\",class:{\"action-input--picker\":n.isDatePickerType,\"action-input-picker--disabled\":n.disabled},on:{mouseleave:n.onLeave}},[n._t(\"icon\",(function(){return[e(\"span\",{staticClass:\"action-input__icon\",class:[n.isIconUrl?\"action-input__icon--url\":n.icon],style:{backgroundImage:n.isIconUrl?\"url(\"+n.icon+\")\":null}})]})),n._v(\" \"),e(\"form\",{ref:\"form\",staticClass:\"action-input__form\",attrs:{disabled:n.disabled},on:{submit:function(t){return t.preventDefault(),n.onSubmit.apply(null,arguments)}}},[n.isDatePickerType?e(\"DatetimePicker\",n._b({ref:\"datetimepicker\",staticClass:\"action-input__picker\",attrs:{value:n.value,placeholder:n.text,disabled:n.disabled,type:n.isDatePickerType,\"input-class\":[\"mx-input\",{focusable:n.isFocusable}]},on:{input:n.onInput,change:n.onChange}},\"DatetimePicker\",n.$attrs,!1)):n.isMultiselectType?e(\"Multiselect\",n._g(n._b({staticClass:\"action-input__multi\",class:{focusable:n.isFocusable},attrs:{value:n.value,placeholder:n.text,disabled:n.disabled}},\"Multiselect\",n.$attrs,!1),n.$listeners)):[e(\"input\",{staticClass:\"action-input__submit\",attrs:{id:n.id,type:\"submit\"}}),n._v(\" \"),e(\"input\",n._b({staticClass:\"action-input__input\",class:{focusable:n.isFocusable},attrs:{type:n.type,placeholder:n.text,disabled:n.disabled,\"aria-label\":n.ariaLabel},domProps:{value:n.value},on:{input:n.onInput,change:n.onChange}},\"input\",n.$attrs,!1)),n._v(\" \"),e(\"label\",{directives:[{name:\"show\",rawName:\"v-show\",value:!n.disabled,expression:\"!disabled\"}],staticClass:\"action-input__label\",attrs:{for:n.id}},[e(\"ArrowRight\",{attrs:{size:20,title:\"\",decorative:\"\"}})],1)]],2)],2)])}),[],!1,null,\"3a716b2a\",null);\"function\"==typeof y()&&y()(x);var N=x.exports},1460:function(n,t,e){\"use strict\";e.d(t,{default:function(){return B}});var i={name:\"ActionLink\",mixins:[e(9156).Z],props:{href:{type:String,default:\"#\",required:!0,validator:function(n){try{return new URL(n)}catch(t){return n.startsWith(\"#\")||n.startsWith(\"/\")}}},download:{type:String,default:null},target:{type:String,default:\"_self\",validator:function(n){return[\"_blank\",\"_self\",\"_parent\",\"_top\"].indexOf(n)>-1}}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(4975),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(1900),b=e(1967),f=e.n(b),v=(0,C.Z)(i,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"action\"},[e(\"a\",{staticClass:\"action-link focusable\",attrs:{download:n.download,href:n.href,\"aria-label\":n.ariaLabel,target:n.target,rel:\"nofollow noreferrer noopener\"},on:{click:n.onClick}},[n._t(\"icon\",(function(){return[e(\"span\",{staticClass:\"action-link__icon\",class:[n.isIconUrl?\"action-link__icon--url\":n.icon],style:{backgroundImage:n.isIconUrl?\"url(\"+n.icon+\")\":null}})]})),n._v(\" \"),n.title?e(\"p\",[e(\"strong\",{staticClass:\"action-link__title\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.title)+\"\\n\\t\\t\\t\")]),n._v(\" \"),e(\"br\"),n._v(\" \"),e(\"span\",{staticClass:\"action-link__longtext\",domProps:{textContent:n._s(n.text)}})]):n.isLongText?e(\"p\",{staticClass:\"action-link__longtext\",domProps:{textContent:n._s(n.text)}}):e(\"span\",{staticClass:\"action-link__text\"},[n._v(n._s(n.text))]),n._v(\" \"),n._e()],2)])}),[],!1,null,\"c8248868\",null);\"function\"==typeof f()&&f()(v);var B=v.exports},5668:function(n,t,e){\"use strict\";e.d(t,{default:function(){return D}});var i=e(723),a=e(1205),r={name:\"ActionRadio\",mixins:[i.Z],props:{id:{type:String,default:function(){return\"action-\"+(0,a.Z)()},validator:function(n){return\"\"!==n.trim()}},checked:{type:Boolean,default:!1},name:{type:String,required:!0},value:{type:[String,Number],default:\"\"},disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}},methods:{toggleInput:function(n){this.$refs.label.click()},onChange:function(n){this.$emit(\"update:checked\",this.$refs.radio.checked),this.$emit(\"change\",n)}}},o=e(3379),s=e.n(o),l=e(7795),c=e.n(l),d=e(569),A=e.n(d),u=e(3565),p=e.n(u),m=e(9216),T=e.n(m),h=e(4589),g=e.n(h),C=e(8631),b={};b.styleTagTransform=g(),b.setAttributes=p(),b.insert=A().bind(null,\"head\"),b.domAPI=c(),b.insertStyleElement=T(),s()(C.Z,b),C.Z&&C.Z.locals&&C.Z.locals;var f=e(1900),v=e(4444),B=e.n(v),E=(0,f.Z)(r,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":n.disabled}},[e(\"span\",{staticClass:\"action-radio\"},[e(\"input\",{ref:\"radio\",staticClass:\"radio action-radio__radio\",class:{focusable:n.isFocusable},attrs:{id:n.id,disabled:n.disabled,name:n.name,type:\"radio\"},domProps:{checked:n.checked,value:n.value},on:{keydown:function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"enter\",13,t.key,\"Enter\")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),n.toggleInput.apply(null,arguments))},change:n.onChange}}),n._v(\" \"),e(\"label\",{ref:\"label\",staticClass:\"action-radio__label\",attrs:{for:n.id}},[n._v(n._s(n.text))]),n._v(\" \"),n._e()],2)])}),[],!1,null,\"9e294d1a\",null);\"function\"==typeof B()&&B()(E);var D=E.exports},3434:function(n,t,e){\"use strict\";e.d(t,{default:function(){return b}});var i={name:\"ActionRouter\",mixins:[e(9156).Z],props:{to:{type:[String,Object],default:\"\",required:!0},exact:{type:Boolean,default:!1}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(8477),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=(0,e(1900).Z)(i,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"action\"},[e(\"router-link\",{staticClass:\"action-router focusable\",attrs:{to:n.to,exact:n.exact,\"aria-label\":n.ariaLabel,rel:\"nofollow noreferrer noopener\"},nativeOn:{click:function(t){return n.onClick.apply(null,arguments)}}},[n._t(\"icon\",(function(){return[e(\"span\",{staticClass:\"action-router__icon\",class:[n.isIconUrl?\"action-router__icon--url\":n.icon],style:{backgroundImage:n.isIconUrl?\"url(\"+n.icon+\")\":null}})]})),n._v(\" \"),n.title?e(\"p\",[e(\"strong\",{staticClass:\"action-router__title\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.title)+\"\\n\\t\\t\\t\")]),n._v(\" \"),e(\"br\"),n._v(\" \"),e(\"span\",{staticClass:\"action-router__longtext\",domProps:{textContent:n._s(n.text)}})]):n.isLongText?e(\"p\",{staticClass:\"action-router__longtext\",domProps:{textContent:n._s(n.text)}}):e(\"span\",{staticClass:\"action-router__text\"},[n._v(n._s(n.text))]),n._v(\" \"),n._e()],2)],1)}),[],!1,null,\"0dbcc9ff\",null),b=C.exports},2768:function(n,t,e){\"use strict\";e.d(t,{default:function(){return g}});var i=e(3379),a=e.n(i),r=e(7795),o=e.n(r),s=e(569),l=e.n(s),c=e(3565),d=e.n(c),A=e(9216),u=e.n(A),p=e(4589),m=e.n(p),T=e(2103),h={};h.styleTagTransform=m(),h.setAttributes=d(),h.insert=l().bind(null,\"head\"),h.domAPI=o(),h.insertStyleElement=u(),a()(T.Z,h),T.Z&&T.Z.locals&&T.Z.locals;var g=(0,e(1900).Z)({name:\"ActionSeparator\"},(function(){var n=this.$createElement;return(this._self._c||n)(\"li\",{staticClass:\"action action-separator action--disabled\"})}),[],!1,null,\"5339ba06\",null).exports},1262:function(n,t,e){\"use strict\";e.d(t,{default:function(){return C}});var i={name:\"ActionText\",mixins:[e(9156).Z]},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(7727),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=(0,e(1900).Z)(i,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"action\"},[e(\"span\",{staticClass:\"action-text\",on:{click:n.onClick}},[n._t(\"icon\",(function(){return[\"\"!==n.icon?e(\"span\",{staticClass:\"action-text__icon\",class:[n.isIconUrl?\"action-text__icon--url\":n.icon],style:{backgroundImage:n.isIconUrl?\"url(\"+n.icon+\")\":null}}):n._e()]})),n._v(\" \"),n.title?e(\"p\",[e(\"strong\",{staticClass:\"action-text__title\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.title)+\"\\n\\t\\t\\t\")]),n._v(\" \"),e(\"br\"),n._v(\" \"),e(\"span\",{staticClass:\"action-text__longtext\",domProps:{textContent:n._s(n.text)}})]):n.isLongText?e(\"p\",{staticClass:\"action-text__longtext\",domProps:{textContent:n._s(n.text)}}):e(\"span\",{staticClass:\"action-text__text\"},[n._v(n._s(n.text))]),n._v(\" \"),n._e()],2)])}),[],!1,null,\"304eec30\",null).exports},9975:function(n,t,e){\"use strict\";e.d(t,{default:function(){return y}});var i=e(2533),a=e.n(i),r=e(9156),o=e(1205),s={name:\"ActionTextEditable\",components:{ArrowRight:a()},mixins:[r.Z],props:{id:{type:String,default:function(){return\"action-\"+(0,o.Z)()},validator:function(n){return\"\"!==n.trim()}},disabled:{type:Boolean,default:!1},value:{type:String,default:\"\"}},computed:{isFocusable:function(){return!this.disabled}},methods:{onInput:function(n){this.$emit(\"input\",n),this.$emit(\"update:value\",n.target.value)},onSubmit:function(n){if(n.preventDefault(),n.stopPropagation(),this.disabled)return!1;this.$emit(\"submit\",n)}}},l=e(3379),c=e.n(l),d=e(7795),A=e.n(d),u=e(569),p=e.n(u),m=e(3565),T=e.n(m),h=e(9216),g=e.n(h),C=e(4589),b=e.n(C),f=e(2476),v={};v.styleTagTransform=b(),v.setAttributes=T(),v.insert=p().bind(null,\"head\"),v.domAPI=A(),v.insertStyleElement=g(),c()(f.Z,v),f.Z&&f.Z.locals&&f.Z.locals;var B=e(1900),E=e(6616),D=e.n(E),S=(0,B.Z)(s,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":n.disabled}},[e(\"span\",{staticClass:\"action-text-editable\",on:{click:n.onClick}},[e(\"span\",{staticClass:\"action-text-editable__icon\",class:[n.isIconUrl?\"action-text-editable__icon--url\":n.icon],style:{backgroundImage:n.isIconUrl?\"url(\"+n.icon+\")\":null}}),n._v(\" \"),e(\"form\",{ref:\"form\",staticClass:\"action-text-editable__form\",attrs:{disabled:n.disabled},on:{submit:function(t){return t.preventDefault(),n.onSubmit.apply(null,arguments)}}},[e(\"input\",{staticClass:\"action-text-editable__submit\",attrs:{id:n.id,type:\"submit\"}}),n._v(\" \"),n.title?e(\"strong\",{staticClass:\"action-text__title\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.title)+\"\\n\\t\\t\\t\")]):n._e(),n._v(\" \"),e(\"textarea\",n._b({class:[\"action-text-editable__textarea\",{focusable:n.isFocusable}],attrs:{disabled:n.disabled},domProps:{value:n.value},on:{input:n.onInput}},\"textarea\",n.$attrs,!1)),n._v(\" \"),e(\"label\",{directives:[{name:\"show\",rawName:\"v-show\",value:!n.disabled,expression:\"!disabled\"}],staticClass:\"action-text-editable__label\",attrs:{for:n.id}},[e(\"ArrowRight\",{attrs:{size:20,title:\"\",decorative:\"\"}})],1)])])])}),[],!1,null,\"b3a35a96\",null);\"function\"==typeof D()&&D()(S);var y=S.exports},5860:function(n,t,e){\"use strict\";var i=e(3083);t.default=i.Z},1582:function(n,t,e){\"use strict\";e.d(t,{default:function(){return Z}}),require(\"splitpanes/dist/splitpanes.css\");var i=e(542),a=e(7672),r=require(\"splitpanes\"),o=e(2640),s=e.n(o),l=e(932),c={name:\"AppDetailsToggle\",computed:{title:function(){return(0,l.t)(\"Go back to the list\")}},beforeMount:function(){this.toggleAppNavigationButton(!0)},beforeDestroy:function(){this.toggleAppNavigationButton(!1)},methods:{toggleAppNavigationButton:function(){var n=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=document.querySelector(\".app-navigation .app-navigation-toggle\");t&&(t.style.display=n?\"none\":null,!0===n&&(0,i.emit)(\"toggle-navigation\",{open:!1}))}}},d=c,A=e(3379),u=e.n(A),p=e(7795),m=e.n(p),T=e(569),h=e.n(T),g=e(3565),C=e.n(g),b=e(9216),f=e.n(b),v=e(4589),B=e.n(v),E=e(4707),D={};D.styleTagTransform=B(),D.setAttributes=C(),D.insert=h().bind(null,\"head\"),D.domAPI=m(),D.insertStyleElement=f(),u()(E.Z,D),E.Z&&E.Z.locals&&E.Z.locals;var S=e(1900),y=(0,S.Z)(d,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"a\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:n.title,expression:\"title\"}],staticClass:\"app-details-toggle icon-confirm\",attrs:{href:\"#\"}})}),[],!1,null,\"24f4ece3\",null).exports,x=e(334),N=(0,a.getBuilder)(\"nextcloud\").persist().build(),k={name:\"AppContent\",components:{AppDetailsToggle:y,Pane:r.Pane,Splitpanes:r.Splitpanes},mixins:[x.default],props:{allowSwipeNavigation:{type:Boolean,default:!0},listSize:{type:Number,default:20},listMinWidth:{type:Number,default:15},listMaxWidth:{type:Number,default:40},paneConfigKey:{type:String,default:\"\"},showDetails:{type:Boolean,default:!0}},data:function(){return{contentHeight:0,hasList:!1,listPaneSize:this.restorePaneConfig()}},computed:{paneConfigID:function(){if(\"\"!==this.paneConfigKey)return\"pane-list-size-\".concat(this.paneConfigKey);try{return\"pane-list-size-\".concat(appName)}catch(n){return console.info(\"[INFO] AppContent:\",\"falling back to global nextcloud pane config\"),\"pane-list-size-nextcloud\"}},detailsPaneSize:function(){return this.listPaneSize?100-this.listPaneSize:this.paneDefaults.details.size},paneDefaults:function(){return{list:{size:this.listSize,min:this.listMinWidth,max:this.listMaxWidth},details:{size:100-this.listSize,min:100-this.listMaxWidth,max:100-this.listMinWidth}}}},updated:function(){this.checkListSlot()},mounted:function(){this.allowSwipeNavigation&&(this.mc=new(s())(this.$el,{cssProps:{userSelect:\"text\"}}),this.mc.on(\"swipeleft swiperight\",this.handleSwipe)),this.checkListSlot(),this.restorePaneConfig()},beforeDestroy:function(){this.mc.off(\"swipeleft swiperight\",this.handleSwipe)},methods:{handleSwipe:function(n){var t=n.srcEvent.pageX-n.deltaX,e=Math.abs(n.deltaX)>70;e&&t<40?(0,i.emit)(\"toggle-navigation\",{open:!0}):e&&t<340&&(0,i.emit)(\"toggle-navigation\",{open:!1})},handlePaneResize:function(n){var t=parseInt(n[0].size,10);N.setItem(this.paneConfigID,JSON.stringify(t)),this.listPaneSize=t,console.debug(\"AppContent pane config\",t)},checkListSlot:function(){var n=!!this.$slots.list;this.hasList!==n&&(this.hasList=n)},restorePaneConfig:function(){var n=parseInt(N.getItem(this.paneConfigID),10);if(!isNaN(n)&&n!==this.listPaneSize)return console.debug(\"AppContent pane config\",n),this.listPaneSize=n,n},hideDetails:function(){this.$emit(\"update:showDetails\",!1)}}},R=e(4247),F={};F.styleTagTransform=B(),F.setAttributes=C(),F.insert=h().bind(null,\"head\"),F.domAPI=m(),F.insertStyleElement=f(),u()(R.Z,F),R.Z&&R.Z.locals&&R.Z.locals;var w=e(1871),O=e.n(w),_=(0,S.Z)(k,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"main\",{staticClass:\"app-content no-snapper\",attrs:{id:\"app-content-vue\"}},[n.hasList?[n.isMobile?e(\"div\",{staticClass:\"app-content-wrapper app-content-wrapper--mobile\",class:n.showDetails?\"app-content-wrapper--show-details\":\"app-content-wrapper--show-list\"},[n.hasList&&n.showDetails?e(\"AppDetailsToggle\",{nativeOn:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.hideDetails.apply(null,arguments)}}}):n._e(),n._v(\" \"),n._t(\"list\"),n._v(\" \"),n._t(\"default\")],2):e(\"div\",{staticClass:\"app-content-wrapper\"},[e(\"Splitpanes\",{staticClass:\"default-theme\",on:{resized:n.handlePaneResize}},[e(\"Pane\",{staticClass:\"splitpanes__pane-list\",attrs:{size:n.listPaneSize||n.paneDefaults.list.size,\"min-size\":n.paneDefaults.list.min,\"max-size\":n.paneDefaults.list.max}},[n._t(\"list\")],2),n._v(\" \"),e(\"Pane\",{staticClass:\"splitpanes__pane-details\",attrs:{size:n.detailsPaneSize,\"min-size\":n.paneDefaults.details.min,\"max-size\":n.paneDefaults.details.max}},[n._t(\"default\")],2)],1)],1)]:n._t(\"default\")],2)}),[],!1,null,\"61c97b1e\",null);\"function\"==typeof O()&&O()(_);var Z=_.exports},7864:function(n,t,e){\"use strict\";e.d(t,{default:function(){return i}});var i=(0,e(1900).Z)({name:\"AppContentDetails\"},(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"div\",{staticClass:\"app-content-details\"},[n._t(\"default\")],2)}),[],!1,null,null,null).exports},637:function(n,t,e){\"use strict\";e.d(t,{default:function(){return a}});var i={name:\"AppContentList\",props:{selection:{type:Boolean,default:!1},showDetails:{type:Boolean,default:!1}}},a=(0,e(1900).Z)(i,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"div\",{staticClass:\"app-content-list\",class:{selection:n.selection,showdetails:n.showDetails}},[n._t(\"default\")],2)}),[],!1,null,null,null).exports},8916:function(n,t,e){\"use strict\";e.d(t,{default:function(){return F}});var i=e(542),a=e(3083),r=e(491),o=e(932),s=require(\"vue-material-design-icons/Menu\"),l=e.n(s),c={name:\"AppNavigationToggle\",components:{Actions:a.Z,ActionButton:r.Z,Menu:l()},props:{open:{type:Boolean,required:!0}},computed:{label:function(){return this.open?(0,o.t)(\"Close navigation\"):(0,o.t)(\"Open navigation\")}},methods:{toggleNavigation:function(){this.$emit(\"update:open\",!this.open)}}},d=e(3379),A=e.n(d),u=e(7795),p=e.n(u),m=e(569),T=e.n(m),h=e(3565),g=e.n(h),C=e(9216),b=e.n(C),f=e(4589),v=e.n(f),B=e(805),E={};E.styleTagTransform=v(),E.setAttributes=g(),E.insert=T().bind(null,\"head\"),E.domAPI=p(),E.insertStyleElement=b(),A()(B.Z,E),B.Z&&B.Z.locals&&B.Z.locals;var D=e(1900),S={name:\"AppNavigation\",components:{AppNavigationToggle:(0,D.Z)(c,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"Actions\",{staticClass:\"app-navigation-toggle\"},[e(\"ActionButton\",{attrs:{\"aria-expanded\":n.open?\"true\":\"false\",\"aria-controls\":\"app-navigation-vue\"},on:{click:n.toggleNavigation},scopedSlots:n._u([{key:\"icon\",fn:function(){return[e(\"Menu\",{attrs:{size:20,title:\"\",decorative:\"\"}})]},proxy:!0}])},[n._v(\"\\n\\t\\t\"+n._s(n.label)+\"\\n\\t\")])],1)}),[],!1,null,\"31c70ec3\",null).exports},mixins:[e(334).default],data:function(){return{open:!0}},watch:{isMobile:function(){this.open=!this.isMobile}},mounted:function(){(0,i.subscribe)(\"toggle-navigation\",this.toggleNavigationByEventBus),(0,i.emit)(\"navigation-toggled\",{open:this.open})},unmounted:function(){this.mc.off(\"swipeleft swiperight\"),this.mc.destroy(),(0,i.unsubscribe)(\"toggle-navigation\",this.toggleNavigationByEventBus)},methods:{toggleNavigation:function(n){var t=this;this.open=void 0===n?!this.open:n;var e=getComputedStyle(document.body),a=parseInt(e.getPropertyValue(\"--animation-quick\"))||100;setTimeout((function(){(0,i.emit)(\"navigation-toggled\",{open:t.open})}),1.5*a)},toggleNavigationByEventBus:function(n){var t=n.open;this.toggleNavigation(t)}}},y=e(2400),x={};x.styleTagTransform=v(),x.setAttributes=g(),x.insert=T().bind(null,\"head\"),x.domAPI=p(),x.insertStyleElement=b(),A()(y.Z,x),y.Z&&y.Z.locals&&y.Z.locals;var N=e(8347),k=e.n(N),R=(0,D.Z)(S,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"app-navigation\",class:{\"app-navigation--close\":!n.open},attrs:{id:\"app-navigation-vue\",role:\"navigation\"}},[e(\"AppNavigationToggle\",{attrs:{open:n.open},on:{\"update:open\":n.toggleNavigation}}),n._v(\" \"),n._t(\"default\"),n._v(\" \"),e(\"ul\",{staticClass:\"app-navigation__list\"},[n._t(\"list\")],2),n._v(\" \"),n._t(\"footer\")],2)}),[],!1,null,\"146e0c06\",null);\"function\"==typeof k()&&k()(R);var F=R.exports},5485:function(n,t,e){\"use strict\";e.d(t,{default:function(){return B}});var i={name:\"AppNavigationCaption\",components:{Actions:e(3083).Z},props:{title:{type:String,required:!0}},computed:{hasActions:function(){return!!this.$slots.actions}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(4609),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(1900),b=e(4795),f=e.n(b),v=(0,C.Z)(i,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"app-navigation-caption\"},[e(\"div\",{staticClass:\"app-navigation-caption__title\"},[n._v(\"\\n\\t\\t\"+n._s(n.title)+\"\\n\\t\")]),n._v(\" \"),n.hasActions?e(\"div\",{staticClass:\"app-navigation-caption__actions\"},[e(\"Actions\",n._b({},\"Actions\",n.$attrs,!1),[n._t(\"actions\")],2)],1):n._e()])}),[],!1,null,\"45d39094\",null);\"function\"==typeof f()&&f()(v);var B=v.exports},1599:function(n,t,e){\"use strict\";e.d(t,{default:function(){return B}});var i={name:\"AppNavigationCounter\",props:{highlighted:{type:Boolean,default:!1}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(9325),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(1900),b=e(7808),f=e.n(b),v=(0,C.Z)(i,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"div\",{staticClass:\"app-navigation-entry__counter\",class:{\"app-navigation-entry__counter--highlighted\":n.highlighted}},[n._t(\"default\")],2)}),[],!1,null,\"3e9952b7\",null);\"function\"==typeof f()&&f()(v);var B=v.exports},1466:function(n,t,e){\"use strict\";e.d(t,{default:function(){return B}});var i={name:\"AppNavigationIconBullet\",props:{color:{type:String,required:!0,validator:function(n){return/^#?([0-9A-F]{3}){1,2}$/i.test(n)}}},computed:{formattedColor:function(){return this.color.startsWith(\"#\")?this.color:\"#\"+this.color}},methods:{onClick:function(n){this.$emit(\"click\",n)}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(533),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(1900),b=e(2930),f=e.n(b),v=(0,C.Z)(i,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"app-navigation-entry__icon-bullet\",on:{click:n.onClick}},[e(\"div\",{style:{backgroundColor:n.formattedColor}})])}),[],!1,null,\"71402848\",null);\"function\"==typeof f()&&f()(v);var B=v.exports},3097:function(n,t,e){\"use strict\";e.d(t,{default:function(){return M}});var i=e(453),a=e(3083),r=e(491),o=require(\"vue-material-design-icons/MenuDown\"),s={name:\"AppNavigationIconCollapsible\",components:{MenuDown:e.n(o)()},props:{open:{type:Boolean,default:!0}},methods:{onClick:function(n){this.$emit(\"click\",n)}}},l=e(3379),c=e.n(l),d=e(7795),A=e.n(d),u=e(569),p=e.n(u),m=e(3565),T=e.n(m),h=e(9216),g=e.n(h),C=e(4589),b=e.n(C),f=e(6456),v={};v.styleTagTransform=b(),v.setAttributes=T(),v.insert=p().bind(null,\"head\"),v.domAPI=A(),v.insertStyleElement=g(),c()(f.Z,v),f.Z&&f.Z.locals&&f.Z.locals;var B=e(1900),E=(0,B.Z)(s,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"button\",{staticClass:\"icon-collapse\",class:{\"icon-collapse--rotated\":n.open},attrs:{type:\"button\"},on:{click:n.onClick}},[e(\"MenuDown\",{attrs:{size:20,title:\"\",decorative:\"\"}})],1)}),[],!1,null,\"4b0d387e\",null).exports,D=e(334),S=e(2569),y=e(932),x=require(\"vue-material-design-icons/Pencil\"),N=e.n(x),k=require(\"vue-material-design-icons/Undo\"),R=e.n(k),F={name:\"AppNavigationItem\",components:{Actions:a.Z,ActionButton:r.Z,AppNavigationIconCollapsible:E,InputConfirmCancel:S.Z,Pencil:N(),Undo:R()},directives:{ClickOutside:i.directive},mixins:[D.default],props:{title:{type:String,required:!0},icon:{type:String,default:\"\"},loading:{type:Boolean,default:!1},to:{type:[String,Object],default:\"\"},exact:{type:Boolean,default:!1},allowCollapse:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},editLabel:{type:String,default:\"\"},editPlaceholder:{type:String,default:\"\"},pinned:{type:Boolean,default:!1},undo:{type:Boolean,default:!1},open:{type:Boolean,default:!1},menuOpen:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},menuIcon:{type:String,default:void 0},menuPlacement:{type:String,default:\"bottom\"},ariaDescription:{type:String,default:null}},data:function(){return{editingValue:\"\",opened:this.open,editingActive:!1,hasChildren:!1}},computed:{collapsible:function(){return this.allowCollapse&&!!this.$slots.default},isIconShown:function(){return!this.collapsible||this.collapsible&&!this.isMobile},canHaveChildren:function(){return\"AppNavigationItem\"!==this.$parent.$options._componentTag},hasUtils:function(){return!this.editing&&!!(this.$slots.actions||this.$slots.counter||this.editable||this.undo)},navElement:function(){return this.to?{is:\"router-link\",tag:\"li\",to:this.to,exact:this.exact}:{is:\"li\"}},isActive:function(){return this.to&&this.$route===this.to},editButtonAriaLabel:function(){return this.editLabel?this.editLabel:(0,y.t)(\"Edit item\")},undoButtonAriaLabel:function(){return(0,y.t)(\"Undo changes\")}},watch:{open:function(n){this.opened=n}},created:function(){this.updateSlotInfo()},beforeUpdate:function(){this.updateSlotInfo()},methods:{onMenuToggle:function(n){this.$emit(\"update:menuOpen\",n)},toggleCollapse:function(){this.opened=!this.opened,this.$emit(\"update:open\",this.opened)},onClick:function(n){this.$emit(\"click\",n)},handleEdit:function(){var n=this;this.editingValue=this.title,this.editingActive=!0,this.onMenuToggle(!1),this.$nextTick((function(){n.$refs.editingInput.focusInput()}))},cancelEditing:function(){this.editingActive=!1},handleEditingDone:function(){this.$emit(\"update:title\",this.editingValue),this.editingValue=\"\",this.editingActive=!1},handleUndo:function(){this.$emit(\"undo\")},updateSlotInfo:function(){this.hasChildren=!!this.$slots.default}}},w=e(183),O={};O.styleTagTransform=b(),O.setAttributes=T(),O.insert=p().bind(null,\"head\"),O.domAPI=A(),O.insertStyleElement=g(),c()(w.Z,O),w.Z&&w.Z.locals&&w.Z.locals;var _=e(7091),Z=e.n(_),Y=(0,B.Z)(F,(function(){var n,t=this,e=t.$createElement,i=t._self._c||e;return i(\"nav-element\",t._b({staticClass:\"app-navigation-entry\",class:{\"app-navigation-entry--no-icon\":!t.isIconShown,\"app-navigation-entry--opened\":t.opened,\"app-navigation-entry--pinned\":t.pinned,\"app-navigation-entry--editing\":t.editingActive,\"app-navigation-entry--deleted\":t.undo,\"app-navigation-entry--collapsible\":t.collapsible,active:t.isActive}},\"nav-element\",t.navElement,!1),[t.undo?t._e():i(\"a\",{staticClass:\"app-navigation-entry-link\",attrs:{\"aria-description\":t.ariaDescription,href:\"#\"},on:{click:t.onClick}},[i(\"div\",{staticClass:\"app-navigation-entry-icon\",class:(n={\"icon-loading-small\":t.loading},n[t.icon]=t.icon&&t.isIconShown,n)},[t._t(\"icon\")],2),t._v(\" \"),t.editingActive?t._e():i(\"span\",{staticClass:\"app-navigation-entry__title\",attrs:{title:t.title}},[t._v(\"\\n\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\")]),t._v(\" \"),t.editingActive?i(\"div\",{staticClass:\"editingContainer\"},[i(\"InputConfirmCancel\",{ref:\"editingInput\",attrs:{placeholder:\"\"!==t.editPlaceholder?t.editPlaceholder:t.title},on:{cancel:t.cancelEditing,confirm:t.handleEditingDone},model:{value:t.editingValue,callback:function(n){t.editingValue=n},expression:\"editingValue\"}})],1):t._e()]),t._v(\" \"),t.collapsible?i(\"AppNavigationIconCollapsible\",{attrs:{open:t.opened},on:{click:function(n){return n.preventDefault(),n.stopPropagation(),t.toggleCollapse.apply(null,arguments)}}}):t._e(),t._v(\" \"),t.undo?i(\"div\",{staticClass:\"app-navigation-entry__deleted\"},[i(\"div\",{staticClass:\"app-navigation-entry__deleted-description\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\")])]):t._e(),t._v(\" \"),t.hasUtils&&!t.editingActive?i(\"div\",{staticClass:\"app-navigation-entry__utils\"},[t.$slots.counter?i(\"div\",{staticClass:\"app-navigation-entry__counter-wrapper\"},[t._t(\"counter\")],2):t._e(),t._v(\" \"),i(\"Actions\",{attrs:{\"menu-align\":\"right\",placement:t.menuPlacement,open:t.menuOpen,\"force-menu\":t.forceMenu,\"default-icon\":t.menuIcon},on:{\"update:open\":t.onMenuToggle},scopedSlots:t._u([{key:\"icon\",fn:function(){return[t._t(\"menu-icon\")]},proxy:!0}],null,!0)},[t._v(\" \"),t.editable&&!t.editingActive?i(\"ActionButton\",{attrs:{\"aria-label\":t.editButtonAriaLabel},on:{click:t.handleEdit},scopedSlots:t._u([{key:\"icon\",fn:function(){return[i(\"Pencil\",{attrs:{size:20,decorative:\"\"}})]},proxy:!0}],null,!1,2864695315)},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.editLabel)+\"\\n\\t\\t\\t\")]):t._e(),t._v(\" \"),t.undo?i(\"ActionButton\",{attrs:{\"aria-label\":t.undoButtonAriaLabel},on:{click:t.handleUndo},scopedSlots:t._u([{key:\"icon\",fn:function(){return[i(\"Undo\",{attrs:{size:20,decorative:\"\"}})]},proxy:!0}],null,!1,4006107262)}):t._e(),t._v(\" \"),t._t(\"actions\")],2)],1):t._e(),t._v(\" \"),t.canHaveChildren&&t.hasChildren?i(\"ul\",{staticClass:\"app-navigation-entry__children\"},[t._t(\"default\")],2):t._e(),t._v(\" \"),t._t(\"extra\")],2)}),[],!1,null,null,null);\"function\"==typeof Z()&&Z()(Y);var M=Y.exports},9273:function(n,t,e){\"use strict\";e.d(t,{default:function(){return C}});var i={props:{buttonId:{type:String,required:!1,default:\"\"},buttonClass:{type:[String,Array,Object],required:!1,default:\"\"},disabled:{type:Boolean,required:!1,default:!1},text:{type:String,required:!0}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(7004),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=(0,e(1900).Z)(i,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"app-navigation-new\"},[e(\"button\",{class:n.buttonClass,attrs:{id:n.buttonId,disabled:n.disabled,type:\"button\"},on:{click:function(t){return n.$emit(\"click\")}}},[n._v(\"\\n\\t\\t\"+n._s(n.text)+\"\\n\\t\")])])}),[],!1,null,\"7286e935\",null).exports},5240:function(n,t,e){\"use strict\";e.d(t,{default:function(){return D}});var i=e(453),a=e(334),r={name:\"AppNavigationNewItem\",components:{InputConfirmCancel:e(2569).Z},directives:{ClickOutside:i.directive},mixins:[a.default],props:{title:{type:String,required:!0},icon:{type:String,default:\"\"},loading:{type:Boolean,default:!1},editLabel:{type:String,default:\"\"},editPlaceholder:{type:String,default:\"\"}},data:function(){return{newItemValue:\"\",newItemActive:!1}},methods:{handleNewItem:function(){var n=this;this.loading||(this.newItemActive=!0,this.$nextTick((function(){n.$refs.newItemInput.focusInput()})))},cancelNewItem:function(){this.newItemActive=!1},handleNewItemDone:function(){this.$emit(\"new-item\",this.newItemValue),this.newItemValue=\"\",this.newItemActive=!1}}},o=e(3379),s=e.n(o),l=e(7795),c=e.n(l),d=e(569),A=e.n(d),u=e(3565),p=e.n(u),m=e(9216),T=e.n(m),h=e(4589),g=e.n(h),C=e(8704),b={};b.styleTagTransform=g(),b.setAttributes=p(),b.insert=A().bind(null,\"head\"),b.domAPI=c(),b.insertStyleElement=T(),s()(C.Z,b),C.Z&&C.Z.locals&&C.Z.locals;var f=e(1900),v=e(4773),B=e.n(v),E=(0,f.Z)(r,(function(){var n,t=this,e=t.$createElement,i=t._self._c||e;return i(\"li\",{staticClass:\"app-navigation-entry\",class:{\"app-navigation-entry--newItemActive\":t.newItemActive}},[i(\"div\",{staticClass:\"app-navigation-entry-div\",on:{click:t.handleNewItem}},[i(\"div\",{staticClass:\"app-navigation-entry-icon\",class:(n={\"icon-loading-small\":t.loading},n[t.icon]=!t.loading,n)},[t.loading?t._e():t._t(\"icon\")],2),t._v(\" \"),t.newItemActive?t._e():i(\"span\",{staticClass:\"app-navigation-new-item__title\",attrs:{title:t.title}},[t._v(\"\\n\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\")]),t._v(\" \"),t.newItemActive?i(\"div\",{staticClass:\"newItemContainer\"},[i(\"InputConfirmCancel\",{ref:\"newItemInput\",attrs:{placeholder:\"\"!==t.editPlaceholder?t.editPlaceholder:t.title},on:{cancel:t.cancelNewItem,confirm:t.handleNewItemDone},model:{value:t.newItemValue,callback:function(n){t.newItemValue=n},expression:\"newItemValue\"}})],1):t._e()])])}),[],!1,null,null,null);\"function\"==typeof B()&&B()(E);var D=E.exports},8906:function(n,t,e){\"use strict\";e.d(t,{default:function(){return E}});var i=e(453),a=e(932),r=e(3351),o=require(\"vue-material-design-icons/Cog\"),s=e.n(o),l={directives:{ClickOutside:i.directive},components:{Cog:s()},mixins:[r.yd],props:{title:{type:String,required:!1,default:(0,a.t)(\"Settings\")}},data:function(){return{open:!1,clickOutsideConfig:{handler:this.closeMenu,middleware:this.clickOutsideMiddleware}}},methods:{toggleMenu:function(){this.open=!this.open},closeMenu:function(){this.open=!1}}},c=e(3379),d=e.n(c),A=e(7795),u=e.n(A),p=e(569),m=e.n(p),T=e(3565),h=e.n(T),g=e(9216),C=e.n(g),b=e(4589),f=e.n(b),v=e(8323),B={};B.styleTagTransform=f(),B.setAttributes=h(),B.insert=m().bind(null,\"head\"),B.domAPI=u(),B.insertStyleElement=C(),d()(v.Z,B),v.Z&&v.Z.locals&&v.Z.locals;var E=(0,e(1900).Z)(l,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:n.clickOutsideConfig,expression:\"clickOutsideConfig\"}],class:{open:n.open},attrs:{id:\"app-settings\"}},[e(\"div\",{attrs:{id:\"app-settings__header\"}},[e(\"button\",{staticClass:\"settings-button\",attrs:{type:\"button\"},on:{click:n.toggleMenu}},[e(\"Cog\",{staticClass:\"settings-button__icon\",attrs:{size:20,decorative:\"\"}}),n._v(\" \"),e(\"span\",{staticClass:\"settings-button__label\"},[n._v(n._s(n.title))])],1)]),n._v(\" \"),e(\"transition\",{attrs:{name:\"slide-up\"}},[e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:n.open,expression:\"open\"}],attrs:{id:\"app-settings__content\"}},[n._t(\"default\")],2)])],1)}),[],!1,null,\"20bf47dc\",null).exports},6005:function(n,t,e){\"use strict\";e.d(t,{default:function(){return g}});var i=e(3379),a=e.n(i),r=e(7795),o=e.n(r),s=e(569),l=e.n(s),c=e(3565),d=e.n(c),A=e(9216),u=e.n(A),p=e(4589),m=e.n(p),T=e(6381),h={};h.styleTagTransform=m(),h.setAttributes=d(),h.insert=l().bind(null,\"head\"),h.domAPI=o(),h.insertStyleElement=u(),a()(T.Z,h),T.Z&&T.Z.locals&&T.Z.locals;var g=(0,e(1900).Z)({name:\"AppNavigationSpacer\"},(function(){var n=this.$createElement;return(this._self._c||n)(\"li\",{staticClass:\"app-navigation-spacer\"})}),[],!1,null,\"42195cc8\",null).exports},3257:function(n,t,e){\"use strict\";e.d(t,{default:function(){return k}});var i=e(4113),a=e(334),r=e(932),o=e(3465),s=e.n(o);function l(n){return function(n){if(Array.isArray(n))return c(n)}(n)||function(n){if(\"undefined\"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n[\"@@iterator\"])return Array.from(n)}(n)||function(n,t){if(n){if(\"string\"==typeof n)return c(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);return\"Object\"===e&&n.constructor&&(e=n.constructor.name),\"Map\"===e||\"Set\"===e?Array.from(n):\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?c(n,t):void 0}}(n)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function c(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,i=new Array(t);e1},currentTabIndex:function(){var n=this;return this.tabs.findIndex((function(t){return t.id===n.activeTab}))}},watch:{active:function(n){n!==this.activeTab&&this.updateActive()},children:function(){this.updateTabs()}},mounted:function(){this.updateTabs(),this.children=this.$children},methods:{setActive:function(n){this.activeTab=n,this.$emit(\"update:active\",this.activeTab)},focusPreviousTab:function(){this.currentTabIndex>0&&this.setActive(this.tabs[this.currentTabIndex-1].id),this.focusActiveTab()},focusNextTab:function(){this.currentTabIndex0?this.tabs[0].id:\"\"},hasMdIcon:function(n){var t;return null==n||null===(t=n.$slots)||void 0===t?void 0:t.icon},updateTabs:function(){if(this.$slots.default){var n=this.$slots.default.filter((function(n){return n.tag||n.text.trim()})),t=[],e=n.reduce((function(n,e){var i,a=e.componentInstance;return d(null==a?void 0:a.name)&&A(null==a?void 0:a.id)&&(A(null==a?void 0:a.icon)||null!=a&&null!==(i=a.$slots)&&void 0!==i&&i.icon)?n.push(a):t.push(e),n}),[]);0!==e.length&&e.length!==n.length&&(l().util.warn(\"Mixing tabs and non-tab-content is not possible.\"),t.map((function(n){return console.debug(\"Ignoring invalid tab\",n)}))),this.tabs=e.sort((function(n,t){var e=n.order||0,i=t.order||0;return e===i?OC.Util.naturalSortCompare(n.name,t.name):e-i})),this.tabs.length>0&&this.updateActive()}else this.tabs=[]}}},p=e(3379),m=e.n(p),T=e(7795),h=e.n(T),g=e(569),C=e.n(g),b=e(3565),f=e.n(b),v=e(9216),B=e.n(v),E=e(4589),D=e.n(E),S=e(1128),y={};y.styleTagTransform=D(),y.setAttributes=f(),y.insert=C().bind(null,\"head\"),y.domAPI=h(),y.insertStyleElement=B(),m()(S.Z,y),S.Z&&S.Z.locals&&S.Z.locals;var x=e(1900),N=(0,x.Z)(u,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"app-sidebar-tabs\"},[n.hasMultipleTabs?e(\"nav\",{staticClass:\"app-sidebar-tabs__nav\",on:{keydown:[function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"left\",37,t.key,[\"Left\",\"ArrowLeft\"])||\"button\"in t&&0!==t.button||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),n.focusPreviousTab.apply(null,arguments))},function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"right\",39,t.key,[\"Right\",\"ArrowRight\"])||\"button\"in t&&2!==t.button||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),n.focusNextTab.apply(null,arguments))},function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"tab\",9,t.key,\"Tab\")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),n.focusActiveTabContent.apply(null,arguments))},function(t){return t.type.indexOf(\"key\")||33===t.keyCode?t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),n.focusFirstTab.apply(null,arguments)):null},function(t){return t.type.indexOf(\"key\")||34===t.keyCode?t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),n.focusLastTab.apply(null,arguments)):null}]}},[e(\"ul\",n._l(n.tabs,(function(t){return e(\"li\",{key:t.id,staticClass:\"app-sidebar-tabs__tab\"},[e(\"a\",{class:{active:n.activeTab===t.id},attrs:{id:t.id,\"aria-controls\":\"tab-\"+t.id,\"aria-selected\":n.activeTab===t.id,\"data-id\":t.id,href:\"#tab-\"+t.id,tabindex:n.activeTab===t.id?null:-1,role:\"tab\"},on:{click:function(e){return e.preventDefault(),n.setActive(t.id)}}},[e(\"span\",{staticClass:\"app-sidebar-tabs__tab-icon\"},[n.hasMdIcon(t)?e(\"VNodes\",{attrs:{vnodes:t.$slots.icon[0]}}):e(\"span\",{class:t.icon})],1),n._v(\"\\n\\t\\t\\t\\t\\t\"+n._s(t.name)+\"\\n\\t\\t\\t\\t\")])])})),0)]):n._e(),n._v(\" \"),e(\"div\",{staticClass:\"app-sidebar-tabs__content\",class:{\"app-sidebar-tabs__content--multiple\":n.hasMultipleTabs}},[n._t(\"default\")],2)])}),[],!1,null,\"15932673\",null),k=N.exports,R=e(5576),F=e(932),w=e(453),O=e(5978),_=e.n(O),Z=require(\"vue-material-design-icons/Star\"),Y=e.n(Z),M={name:\"AppSidebar\",components:{Actions:i.default,AppSidebarTabs:k,EmptyContent:R.Z,Close:_(),Star:Y()},directives:{focus:a.default,linkify:r.default,ClickOutside:w.directive,Tooltip:o.default},props:{active:{type:String,default:\"\"},title:{type:String,default:\"\",required:!0},titleEditable:{type:Boolean,default:!1},titlePlaceholder:{type:String,default:\"\"},subtitle:{type:String,default:\"\"},subtitleTooltip:{type:String,default:\"\"},background:{type:String,default:\"\"},starred:{type:Boolean,default:null},starLoading:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},empty:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},linkifyTitle:{type:Boolean,default:!1},titleTooltip:{type:String,default:\"\"}},data:function(){return{closeTranslated:(0,F.t)(\"Close\"),isStarred:this.starred}},computed:{canStar:function(){return null!==this.isStarred},hasFigure:function(){return this.$slots.header||this.background},hasFigureClickListener:function(){return this.$listeners[\"figure-click\"]}},watch:{starred:function(){this.isStarred=this.starred}},beforeDestroy:function(){this.$emit(\"closed\")},methods:{onBeforeEnter:function(n){this.$emit(\"opening\",n)},onAfterEnter:function(n){this.$emit(\"opened\",n)},onBeforeLeave:function(n){this.$emit(\"closing\",n)},onAfterLeave:function(n){this.$emit(\"closed\",n)},closeSidebar:function(n){this.$emit(\"close\",n)},onFigureClick:function(n){this.$emit(\"figure-click\",n)},toggleStarred:function(){this.isStarred=!this.isStarred,this.$emit(\"update:starred\",this.isStarred)},editTitle:function(){var n=this;this.$emit(\"update:titleEditable\",!0),this.titleEditable&&this.$nextTick((function(){return n.$refs.titleInput.focus()}))},onTitleInput:function(n){this.$emit(\"update:title\",n.target.value)},onSubmitTitle:function(n){this.$emit(\"update:titleEditable\",!1),this.$emit(\"submit-title\",n)},onDismissEditing:function(){this.$emit(\"update:titleEditable\",!1),this.$emit(\"dismiss-editing\")},onUpdateActive:function(n){this.$emit(\"update:active\",n)}}},I=e(8711),G={};G.styleTagTransform=D(),G.setAttributes=f(),G.insert=C().bind(null,\"head\"),G.domAPI=h(),G.insertStyleElement=B(),m()(I.Z,G),I.Z&&I.Z.locals&&I.Z.locals;var L=e(7464),$={};$.styleTagTransform=D(),$.setAttributes=f(),$.insert=C().bind(null,\"head\"),$.domAPI=h(),$.insertStyleElement=B(),m()(L.Z,$),L.Z&&L.Z.locals&&L.Z.locals;var U=e(9976),j=e.n(U),P=(0,x.Z)(M,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"transition\",{attrs:{appear:\"\",name:\"slide-right\"},on:{\"before-enter\":n.onBeforeEnter,\"after-enter\":n.onAfterEnter,\"before-leave\":n.onBeforeLeave,\"after-leave\":n.onAfterLeave}},[e(\"aside\",{staticClass:\"app-sidebar\",attrs:{id:\"app-sidebar-vue\"}},[e(\"header\",{staticClass:\"app-sidebar-header\",class:{\"app-sidebar-header--with-figure\":n.hasFigure,\"app-sidebar-header--compact\":n.compact}},[e(\"a\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:n.closeTranslated,expression:\"closeTranslated\",modifiers:{auto:!0}}],staticClass:\"app-sidebar__close\",attrs:{href:\"#\"},on:{click:function(t){return t.preventDefault(),n.closeSidebar.apply(null,arguments)}}},[e(\"Close\",{staticClass:\"app-sidebar__close-icon\",attrs:{size:20,decorative:\"\"}})],1),n._v(\" \"),e(\"div\",{staticClass:\"app-sidebar-header__info\"},[n.hasFigure&&!n.empty?e(\"div\",{staticClass:\"app-sidebar-header__figure\",class:{\"app-sidebar-header__figure--with-action\":n.hasFigureClickListener},style:{backgroundImage:\"url(\"+n.background+\")\"},on:{click:n.onFigureClick}},[n._t(\"header\")],2):n._e(),n._v(\" \"),n.empty?n._e():e(\"div\",{staticClass:\"app-sidebar-header__desc\",class:{\"app-sidebar-header__desc--with-tertiary-action\":n.canStar||n.$slots[\"tertiary-actions\"],\"app-sidebar-header__desc--editable\":n.titleEditable&&!n.subtitle,\"app-sidebar-header__desc--with-subtitle--editable\":n.titleEditable&&n.subtitle,\"app-sidebar-header__desc--without-actions\":!n.$slots[\"secondary-actions\"]}},[n.canStar||n.$slots[\"tertiary-actions\"]?e(\"div\",{staticClass:\"app-sidebar-header__tertiary-actions\"},[n._t(\"tertiary-actions\",(function(){return[n.canStar?e(\"a\",{staticClass:\"app-sidebar-header__star\",on:{click:function(t){return t.preventDefault(),n.toggleStarred.apply(null,arguments)}}},[n.starLoading?e(\"span\",{staticClass:\"icon-loading-small\"}):e(\"Star\",{staticClass:\"star\",class:{\"star--starred\":n.isStarred,\"star--star\":!n.isStarred},attrs:{size:20,decorative:\"\"}})],1):n._e()]}))],2):n._e(),n._v(\" \"),e(\"div\",{staticClass:\"app-sidebar-header__title-container\"},[e(\"div\",{staticClass:\"app-sidebar-header__maintitle-container\"},[e(\"h2\",{directives:[{name:\"show\",rawName:\"v-show\",value:!n.titleEditable,expression:\"!titleEditable\"},{name:\"linkify\",rawName:\"v-linkify\",value:{text:n.title,linkify:n.linkifyTitle},expression:\"{text: title, linkify: linkifyTitle}\"},{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:n.titleTooltip,expression:\"titleTooltip\",modifiers:{auto:!0}}],staticClass:\"app-sidebar-header__maintitle\",on:{click:function(t){return t.target!==t.currentTarget?null:n.editTitle.apply(null,arguments)}}},[n._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+n._s(n.title)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")]),n._v(\" \"),n.titleEditable?[e(\"form\",{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:function(){return n.onSubmitTitle()},expression:\"() => onSubmitTitle()\"}],staticClass:\"app-sidebar-header__maintitle-form\",on:{submit:function(t){return t.preventDefault(),n.onSubmitTitle.apply(null,arguments)}}},[e(\"input\",{directives:[{name:\"focus\",rawName:\"v-focus\"}],ref:\"titleInput\",staticClass:\"app-sidebar-header__maintitle-input\",attrs:{type:\"text\",placeholder:n.titlePlaceholder},domProps:{value:n.title},on:{keydown:function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"esc\",27,t.key,[\"Esc\",\"Escape\"])?null:n.onDismissEditing.apply(null,arguments)},input:n.onTitleInput}}),n._v(\" \"),e(\"button\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\"}})])]:n._e(),n._v(\" \"),n.$slots[\"secondary-actions\"]?e(\"Actions\",{staticClass:\"app-sidebar-header__menu\",attrs:{\"force-menu\":n.forceMenu}},[n._t(\"secondary-actions\")],2):n._e()],2),n._v(\" \"),\"\"!==n.subtitle.trim()?e(\"p\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:n.subtitleTooltip,expression:\"subtitleTooltip\",modifiers:{auto:!0}}],staticClass:\"app-sidebar-header__subtitle\"},[n._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+n._s(n.subtitle)+\"\\n\\t\\t\\t\\t\\t\\t\")]):n._e()])])]),n._v(\" \"),n.$slots.description&&!n.empty?e(\"div\",{staticClass:\"app-sidebar-header__description\"},[n._t(\"description\")],2):n._e()]),n._v(\" \"),e(\"AppSidebarTabs\",{directives:[{name:\"show\",rawName:\"v-show\",value:!n.loading,expression:\"!loading\"}],ref:\"tabs\",attrs:{active:n.active},on:{\"update:active\":n.onUpdateActive}},[n._t(\"default\")],2),n._v(\" \"),n.loading?e(\"EmptyContent\",{attrs:{icon:\"icon-loading\"}}):n._e()],1)])}),[],!1,null,\"68d5c99c\",null);\"function\"==typeof j()&&j()(P);var z=P.exports},1060:function(n,t,e){\"use strict\";e.d(t,{default:function(){return C}});var i={name:\"AppSidebarTab\",props:{id:{type:String,required:!0},name:{type:String,required:!0},icon:{type:String,default:\"\"},order:{type:Number,default:0}},computed:{isActive:function(){return this.$parent.activeTab===this.id}},methods:{onScroll:function(n){this.$el.scrollHeight-this.$el.scrollTop===this.$el.clientHeight&&this.$emit(\"bottomReached\",n),this.$emit(\"scroll\",n)}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(3126),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=(0,e(1900).Z)(i,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"section\",{staticClass:\"app-sidebar__tab\",class:{\"app-sidebar__tab--active\":n.isActive},attrs:{id:\"tab-\"+n.id,\"aria-hidden\":!n.isActive,\"aria-labelledby\":n.id,tabindex:\"0\",role:\"tabpanel\"},on:{scroll:n.onScroll}},[n._t(\"default\")],2)}),[],!1,null,\"28609fd2\",null).exports},167:function(n,t,e){\"use strict\";e.d(t,{default:function(){return j}});var i=e(3251),a=e.n(i),r=e(453),o=e(4262),s=e(7672),l=e(3607),c=e(542),d=e(768),A=e.n(d),u=e(6996),p=e(9040),m=e(7993),T=e(3351),h=e(932),g=e(7020);function C(n,t,e,i,a,r,o){try{var s=n[r](o),l=s.value}catch(n){return void e(n)}s.done?t(l):Promise.resolve(l).then(i,a)}function b(n){return function(){var t=this,e=arguments;return new Promise((function(i,a){var r=n.apply(t,e);function o(n){C(r,i,a,o,s,\"next\",n)}function s(n){C(r,i,a,o,s,\"throw\",n)}o(void 0)}))}}var f=(0,s.getBuilder)(\"nextcloud\").persist().build();function v(n){var t=f.getItem(\"user-has-avatar.\"+n);return\"string\"==typeof t?Boolean(t):null}function B(n,t){n&&f.setItem(\"user-has-avatar.\"+n,t)}var E={name:\"Avatar\",directives:{tooltip:p.default,ClickOutside:r.directive},components:{DotsHorizontal:a(),Popover:g.Z,PopoverMenu:u.default},mixins:[T.iQ],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"},ariaLabel:{type:String,default:null}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){return null!==this.ariaLabel?this.ariaLabel:this.hasStatus&&this.showUserStatus&&this.showUserStatusCompact?(0,h.t)(\"Avatar of {displayName}, {status}\",{displayName:this.displayName||this.userId,status:this.userStatus.status}):(0,h.t)(\"Avatar of {displayName}\",{displayName:this.displayName||this.userId})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var n;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(n=(0,l.getCurrentUser)())||void 0===n?void 0:n.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var n={\"--size\":this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var t=(0,m.default)(this.getUserIdentifier);n.backgroundColor=\"rgb(\"+t.r+\", \"+t.g+\", \"+t.b+\")\"}return n},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var n;if(this.shouldShowPlaceholder){var t=this.getUserIdentifier,e=t.indexOf(\" \");\"\"===t?n=\"?\":(n=String.fromCodePoint(t.codePointAt(0)),-1!==e&&(n=n.concat(String.fromCodePoint(t.codePointAt(e+1)))))}return n.toUpperCase()},menu:function(){var n,t,e,i=this.contactsMenuActions.map((function(n){return{href:n.hyperlink,icon:n.icon,longtext:n.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,\".concat((n=this.userStatus.icon,t=document.createTextNode(n),e=document.createElement(\"p\"),e.appendChild(t),e.innerHTML),\"\"),text:\"\".concat(this.userStatus.message)}].concat(i):i}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),(0,c.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&(0,c.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var n=this.$refs.popoverMenu.$el.getElementsByTagName(\"a\");n.length&&n[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(n){this.user===n.userId&&(this.userStatus={status:n.status,icon:n.icon,message:n.message})},toggleMenu:function(){var n=this;return b(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n.hasMenu){t.next=2;break}return t.abrupt(\"return\");case 2:if(n.contactsMenuOpenState){t.next=5;break}return t.next=5,n.fetchContactsMenu();case 5:n.contactsMenuOpenState=!n.contactsMenuOpenState;case 6:case\"end\":return t.stop()}}),t)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var n=this;return b(regeneratorRuntime.mark((function t(){var e,i,a;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n.contactsMenuLoading=!0,t.prev=1,e=encodeURIComponent(n.user),t.next=5,A().post((0,o.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(e));case 5:i=t.sent,a=i.data,n.contactsMenuActions=a.topAction?[a.topAction].concat(a.actions):a.actions,t.next=13;break;case 10:t.prev=10,t.t0=t.catch(1),n.contactsMenuOpenState=!1;case 13:n.contactsMenuLoading=!1,n.isMenuLoaded=!0;case 15:case\"end\":return t.stop()}}),t,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else if(this.size<=64){var n=this.avatarUrlGenerator(this.user,64),t=[n+\" 1x\",this.avatarUrlGenerator(this.user,512)+\" 8x\"].join(\", \");this.updateImageIfValid(n,t)}else{var e=this.avatarUrlGenerator(this.user,512);this.updateImageIfValid(e)}},avatarUrlGenerator:function(n,t){var e,i=\"/avatar/{user}/{size}\";this.isGuest&&(i=\"/avatar/guest/{user}/{size}\");var a=(0,o.generateUrl)(i,{user:n,size:t});return n===(null===(e=(0,l.getCurrentUser)())||void 0===e?void 0:e.uid)&&\"undefined\"!=typeof oc_userconfig&&(a+=\"?v=\"+oc_userconfig.avatar.version),a},updateImageIfValid:function(n){var t=this,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=v(this.user);if(this.isUserDefined&&\"boolean\"==typeof i)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=n,e&&(this.avatarSrcSetLoaded=e),void(!1===i&&(this.userDoesNotExist=!0));var a=new Image;a.onload=function(){t.avatarUrlLoaded=n,e&&(t.avatarSrcSetLoaded=e),t.isAvatarLoaded=!0,B(t.user,!0)},a.onerror=function(){console.debug(\"Invalid avatar url\",n),t.avatarUrlLoaded=null,t.avatarSrcSetLoaded=null,t.userDoesNotExist=!0,t.isAvatarLoaded=!1,B(t.user,!1)},e&&(a.srcset=e),a.src=n}}},D=E,S=e(3379),y=e.n(S),x=e(7795),N=e.n(x),k=e(569),R=e.n(k),F=e(3565),w=e.n(F),O=e(9216),_=e.n(O),Z=e(4589),Y=e.n(Z),M=e(6016),I={};I.styleTagTransform=Y(),I.setAttributes=w(),I.insert=R().bind(null,\"head\"),I.domAPI=N(),I.insertStyleElement=_(),y()(M.Z,I),M.Z&&M.Z.locals&&M.Z.locals;var G=e(1900),L=e(995),$=e.n(L),U=(0,G.Z)(D,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",n._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:n.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:n.closeMenu,expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":n.userDoesNotExist,\"avatardiv--with-menu\":n.hasMenu},style:n.avatarStyle,attrs:{tabindex:n.disableMenu?\"-1\":\"0\",\"aria-label\":n.avatarAriaLabel,role:n.disableMenu?\"\":\"button\"},on:{keydown:function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"enter\",13,t.key,\"Enter\")?null:n.toggleMenu.apply(null,arguments)}}},n.disableMenu?{}:{click:n.toggleMenu}),[n.iconClass?e(\"div\",{staticClass:\"avatar-class-icon\",class:n.iconClass}):n.isAvatarLoaded&&!n.userDoesNotExist?e(\"img\",{attrs:{src:n.avatarUrlLoaded,srcset:n.avatarSrcSetLoaded,alt:\"\"}}):n._e(),n._v(\" \"),n.hasMenu?e(\"Popover\",{attrs:{placement:\"auto\",container:n.menuContainer,open:n.contactsMenuOpenState},on:{\"after-show\":n.handlePopoverAfterShow,\"after-hide\":n.handlePopoverAfterHide},scopedSlots:n._u([{key:\"trigger\",fn:function(){return[n.contactsMenuLoading?e(\"div\",{staticClass:\"icon-loading\"}):e(\"DotsHorizontal\",{staticClass:\"icon-more\",attrs:{size:20,title:\"\",decorative:\"\"}})]},proxy:!0}],null,!1,2015540072)},[e(\"PopoverMenu\",{ref:\"popoverMenu\",attrs:{menu:n.menu}})],1):n._e(),n._v(\" \"),n.showUserStatusIconOnAvatar?e(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[n._v(\"\\n\\t\\t\"+n._s(n.userStatus.icon)+\"\\n\\t\")]):n.canDisplayUserStatus?e(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+n.userStatus.status}):n._e(),n._v(\" \"),n.userDoesNotExist&&!n.iconClass?e(\"div\",{staticClass:\"unknown\"},[n._v(\"\\n\\t\\t\"+n._s(n.initials)+\"\\n\\t\")]):n._e()],1)}),[],!1,null,\"41fc3610\",null);\"function\"==typeof $()&&$()(U);var j=U.exports},3792:function(n,t,e){\"use strict\";e.d(t,{default:function(){return y}});var i=e(5860),a=e(1205),r=e(9605),o=e.n(r),s={name:\"Breadcrumb\",components:{Actions:i.default,ChevronRight:o()},props:{title:{type:String,required:!0},to:{type:[String,Object],default:void 0},href:{type:String,default:void 0},icon:{type:String,default:\"\"},disableDrop:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},open:{type:Boolean,default:!1}},data:function(){return{hovering:!1,crumbId:\"crumb-id-\".concat((0,a.Z)())}},computed:{tag:function(){return this.to?\"router-link\":\"a\"}},methods:{onOpenChange:function(n){this.$emit(\"update:open\",n)},dropped:function(n){return this.disableDrop||(this.$emit(\"dropped\",n,this.to||this.href),this.$parent.$emit(\"dropped\",n,this.to||this.href),this.hovering=!1),!1},dragEnter:function(n){this.disableDrop||(this.hovering=!0)},dragLeave:function(n){this.disableDrop||n.target.contains(n.relatedTarget)||this.$refs.crumb.contains(n.relatedTarget)||(this.hovering=!1)}}},l=e(3379),c=e.n(l),d=e(7795),A=e.n(d),u=e(569),p=e.n(u),m=e(3565),T=e.n(m),h=e(9216),g=e.n(h),C=e(4589),b=e.n(C),f=e(430),v={};v.styleTagTransform=b(),v.setAttributes=T(),v.insert=p().bind(null,\"head\"),v.domAPI=A(),v.insertStyleElement=g(),c()(f.Z,v),f.Z&&f.Z.locals&&f.Z.locals;var B=e(1900),E=e(9352),D=e.n(E),S=(0,B.Z)(s,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",n._b({ref:\"crumb\",staticClass:\"vue-crumb\",class:{\"vue-crumb--hovered\":n.hovering},attrs:{draggable:\"false\"},on:{dragstart:function(n){return n.preventDefault(),function(){}.apply(null,arguments)},drop:function(t){return t.preventDefault(),n.dropped.apply(null,arguments)},dragover:function(n){return n.preventDefault(),function(){}.apply(null,arguments)},dragenter:n.dragEnter,dragleave:n.dragLeave}},\"div\",n._d({},[n.crumbId,\"\"])),[!n.title&&!n.icon||n.$slots.default?n._e():e(n.tag,{tag:\"element\",attrs:{to:n.to,href:n.href}},[n._t(\"icon\",(function(){return[n.icon?e(\"span\",{staticClass:\"icon\",class:n.icon}):e(\"span\",[n._v(n._s(n.title))])]}))],2),n._v(\" \"),n.$slots.default?e(\"Actions\",{ref:\"actions\",attrs:{\"force-menu\":n.forceMenu,open:n.open,\"menu-title\":n.title,\"force-title\":!0,container:\".vue-crumb[\"+n.crumbId+\"]\"},on:{\"update:open\":n.onOpenChange},scopedSlots:n._u([{key:\"icon\",fn:function(){return[n._t(\"menu-icon\")]},proxy:!0}],null,!0)},[n._v(\" \"),n._t(\"default\")],2):n._e(),n._v(\" \"),e(\"ChevronRight\",{staticClass:\"vue-crumb__separator\",attrs:{size:20}})],1)}),[],!1,null,\"771b8b5f\",null);\"function\"==typeof D()&&D()(S);var y=S.exports},6669:function(n,t,e){\"use strict\";e.d(t,{default:function(){return Y}});var i=e(2734),a=e.n(i),r=e(3465),o=e.n(r),s=e(5860),l=e(3434),c=e(1460),d=function(n,t,e){if(void 0!==n)for(var i=n.length-1;i>=0;i--){var r=n[i],o=!r.componentOptions&&r.tag&&-1===t.indexOf(r.tag),s=!!r.componentOptions&&\"string\"==typeof r.componentOptions.tag,l=s&&-1===t.indexOf(r.componentOptions.tag);(o||!s||l)&&((o||l)&&a().util.warn(\"\".concat(o?r.tag:r.componentOptions.tag,\" is not allowed inside the \").concat(e.$options.name,\" component\"),e),n.splice(i,1))}},A=e(3792),u=e(542),p=require(\"vue-material-design-icons/Folder\"),m=e.n(p),T=\"vue-crumb\",h={name:\"Breadcrumbs\",components:{Actions:s.default,ActionRouter:l.default,ActionLink:c.default,Breadcrumb:A.default,IconFolder:m()},props:{rootIcon:{type:String,default:\"icon-home\"}},data:function(){return{hiddenCrumbs:[],hiddenIndices:[],menuBreadcrumbProps:{title:\"\",forceMenu:!0,disableDrop:!0,open:!1}}},beforeMount:function(){d(this.$slots.default,[\"Breadcrumb\"],this)},beforeUpdate:function(){d(this.$slots.default,[\"Breadcrumb\"],this)},created:function(){var n=this;window.addEventListener(\"resize\",o()((function(){n.handleWindowResize()}),100)),(0,u.subscribe)(\"navigation-toggled\",this.delayedResize)},mounted:function(){this.handleWindowResize()},updated:function(){this.delayedResize(),this.delayedHideCrumbs()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize),(0,u.unsubscribe)(\"navigation-toggled\",this.delayedResize)},methods:{delayedHideCrumbs:function(){var n=this;this.$nextTick((function(){var t=n.$slots.default||[];n.hideCrumbs(t)}))},closeActions:function(n){this.$refs.actionsBreadcrumb.$el.contains(n.relatedTarget)||(this.menuBreadcrumbProps.open=!1)},delayedResize:function(){var n=this;this.$nextTick((function(){n.handleWindowResize()}))},handleWindowResize:function(){var n=this.$slots.default||[];if(this.$refs.container){var t=n.length,e=[],i=this.$refs.container.offsetWidth,a=this.getTotalWidth(n);this.$refs.breadcrumb__actions&&(a+=this.$refs.breadcrumb__actions.offsetWidth);var r=a-i;r+=r>0?64:0;for(var o=0,s=Math.floor(t/2);r>0&&o1&&void 0!==arguments[1]?arguments[1]:0;n.forEach((function(n,i){var a;null!=n&&null!==(a=n.elm)&&void 0!==a&&a.classList&&(t.hiddenIndices.includes(i+e)?n.elm.classList.add(\"\".concat(T,\"--hidden\")):n.elm.classList.remove(\"\".concat(T,\"--hidden\")))}))}},render:function(n){var t=this,e=this.$slots.default||[];if(0!==e.length){a().set(e[0].componentOptions.propsData,\"icon\",this.rootIcon);var i=[],r=this.hiddenCrumbs.length?e.slice(0,Math.round(e.length/2)):e;i=i.concat(r),this.hideCrumbs(r),this.hiddenCrumbs.length&&i.push(n(\"Breadcrumb\",{class:\"dropdown\",props:this.menuBreadcrumbProps,ref:\"actionsBreadcrumb\",key:\"actions-breadcrumb-1\",nativeOn:{dragstart:this.dragStart,dragenter:function(){t.menuBreadcrumbProps.open=!0},dragleave:this.closeActions},on:{\"update:open\":function(n){t.menuBreadcrumbProps.open=n}}},this.hiddenCrumbs.map((function(e){var i=e.componentOptions.propsData.to,a=e.componentOptions.propsData.href,r=e.componentOptions.propsData.disableDrop,o=\"ActionLink\",s=a;i&&(o=\"ActionRouter\",s=i);var l=n(\"IconFolder\",{props:{size:20},slot:\"icon\"});return n(o,{class:T,props:{to:i,href:a},attrs:{draggable:!1},nativeOn:{dragstart:t.dragStart,drop:function(n){return t.dropped(n,s,r)},dragover:t.dragOver,dragenter:function(n){return t.dragEnter(n,r)},dragleave:function(n){return t.dragLeave(n,r)}}},[e.componentOptions.propsData.title,l])}))));var o=this.hiddenCrumbs.length?e.slice(Math.round(e.length/2)):[];i=i.concat(o),this.hideCrumbs(o,r.length);var s=[];return s.push(n(\"div\",{class:\"breadcrumb__crumbs\"},i)),this.$slots.actions&&s.push(n(\"div\",{class:\"breadcrumb__actions\",ref:\"breadcrumb__actions\"},this.$slots.actions)),n(\"div\",{class:[\"breadcrumb\",{\"breadcrumb--collapsed\":this.hiddenCrumbs.length===e.length-2}],ref:\"container\"},s)}}},g=h,C=e(3379),b=e.n(C),f=e(7795),v=e.n(f),B=e(569),E=e.n(B),D=e(3565),S=e.n(D),y=e(9216),x=e.n(y),N=e(4589),k=e.n(N),R=e(9474),F={};F.styleTagTransform=k(),F.setAttributes=S(),F.insert=E().bind(null,\"head\"),F.domAPI=v(),F.insertStyleElement=x(),b()(R.Z,F),R.Z&&R.Z.locals&&R.Z.locals;var w=e(1900),O=e(2418),_=e.n(O),Z=(0,w.Z)(g,void 0,void 0,!1,null,\"2d7b61fe\",null);\"function\"==typeof _()&&_()(Z);var Y=Z.exports},519:function(n,t,e){\"use strict\";function i(n,t,e){return t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}e.d(t,{default:function(){return E}});var a={name:\"Button\",props:{disabled:{type:Boolean,default:!1},type:{type:String,validator:function(n){return-1!==[\"primary\",\"secondary\",\"tertiary\",\"tertiary-no-background\",\"error\",\"warning\",\"success\"].indexOf(n)},default:\"secondary\"},nativeType:{type:String,validator:function(n){return-1!==[\"submit\",\"reset\",\"button\"].indexOf(n)},default:\"button\"},wide:{type:Boolean,default:!1},ariaLabel:{type:String,default:null}},data:function(){return{tabbed:!1,slots:this.$slots}},computed:{hasText:function(){var n,t,e;return void 0!==(null===(n=this.slots)||void 0===n?void 0:n.default)&&(null===(t=this.slots)||void 0===t||null===(e=t.default[0])||void 0===e?void 0:e.text)},hasIcon:function(){return void 0!==this.slots.icon},iconOnly:function(){return this.hasIcon&&!this.hasText},textOnly:function(){return!this.hasIcon&&this.hasText},iconAndText:function(){return this.hasIcon&&this.hasText},text:function(){return this.hasText?this.slots.default[0].text.trim():null},buttonClassObject:function(){var n;return i(n={\"button-vue--icon-only\":this.iconOnly,\"button-vue--text-only\":this.textOnly,\"button-vue--icon-and-text\":this.iconAndText},\"button-vue--vue-\".concat(this.type),this.type),i(n,\"button-vue--wide\",this.wide),i(n,\"button-vue--tabbed\",this.tabbed),n}},beforeUpdate:function(){this.slots=this.$slots},mounted:function(){this.text||this.ariaLabel||console.warn(\"You need to fill either the text or the ariaLabel props in the button component.\",{text:this.text,ariaLabel:this.ariaLabel},this)},methods:{handleClick:function(){this.tabbed=!1},handleTabUp:function(){this.tabbed=!0},handleBlur:function(){this.tabbed=!1},makeActive:function(){this.tabbed=!1},makeInactive:function(){this.tabbed=!0}}},r=e(3379),o=e.n(r),s=e(7795),l=e.n(s),c=e(569),d=e.n(c),A=e(3565),u=e.n(A),p=e(9216),m=e.n(p),T=e(4589),h=e.n(T),g=e(3352),C={};C.styleTagTransform=h(),C.setAttributes=u(),C.insert=d().bind(null,\"head\"),C.domAPI=l(),C.insertStyleElement=m(),o()(g.Z,C),g.Z&&g.Z.locals&&g.Z.locals;var b=e(1900),f=e(9182),v=e.n(f),B=(0,b.Z)(a,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"button\",n._g(n._b({staticClass:\"button-vue\",class:n.buttonClassObject,attrs:{\"aria-label\":n.ariaLabel,type:n.nativeType,disabled:n.disabled},on:{keydown:function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"enter\",13,t.key,\"Enter\")?null:n.makeActive.apply(null,arguments)},keyup:[function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"enter\",13,t.key,\"Enter\")?null:n.makeInactive.apply(null,arguments)},function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"tab\",9,t.key,\"Tab\")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:n.handleTabUp.apply(null,arguments)},function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"tab\",9,t.key,\"Tab\")?null:t.shiftKey?n.handleTabUp.apply(null,arguments):null}],click:n.handleClick,blur:n.handleBlur}},\"button\",n.$attrs,!1),n.$listeners),[e(\"span\",{staticClass:\"button-vue__wrapper\"},[n.hasIcon?e(\"span\",{staticClass:\"button-vue__icon\"},[n._t(\"icon\")],2):n._e(),n._v(\" \"),n.hasText?e(\"span\",{staticClass:\"button-vue__text\"},[n._t(\"default\")],2):n._e()])])}),[],!1,null,\"27e36536\",null);\"function\"==typeof v()&&v()(B);var E=B.exports},2528:function(n,t,e){\"use strict\";e.d(t,{default:function(){return j}});var i=require(\"vue-material-design-icons/CheckboxBlankOutline\"),a=e.n(i),r=require(\"vue-material-design-icons/MinusBox\"),o=e.n(r),s=require(\"vue-material-design-icons/CheckboxMarked\"),l=e.n(s),c=require(\"vue-material-design-icons/RadioboxMarked\"),d=e.n(c),A=require(\"vue-material-design-icons/RadioboxBlank\"),u=e.n(A),p=require(\"vue-material-design-icons/ToggleSwitchOff\"),m=e.n(p),T=require(\"vue-material-design-icons/ToggleSwitch\"),h=e.n(T),g=e(1205),C=e(3648);function b(n){return function(n){if(Array.isArray(n))return f(n)}(n)||function(n){if(\"undefined\"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n[\"@@iterator\"])return Array.from(n)}(n)||function(n,t){if(n){if(\"string\"==typeof n)return f(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);return\"Object\"===e&&n.constructor&&(e=n.constructor.name),\"Map\"===e||\"Set\"===e?Array.from(n):\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?f(n,t):void 0}}(n)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function f(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,i=new Array(t);e-1:this.checked===this.value:!0===this.checked},checkboxRadioIconElement:function(){return this.type===B?this.isChecked?d():u():this.type===E?this.isChecked?h():m():this.indeterminate?o():this.isChecked?l():a()}},mounted:function(){if(this.name&&this.type===v&&!Array.isArray(this.checked))throw new Error(\"When using groups of checkboxes, the updated value will be an array.\");if(this.name&&this.type===E)throw new Error(\"Switches are not made to be used for data sets. Please use checkboxes instead.\");if(\"boolean\"!=typeof this.checked&&this.type===E)throw new Error(\"Switches can only be used with boolean as checked prop.\")},methods:{onToggle:function(){if(!this.disabled)if(this.type!==B)if(this.type!==E)if(\"boolean\"!=typeof this.checked){var n=this.getInputsSet().filter((function(n){return n.checked})).map((function(n){return n.value}));this.$emit(\"update:checked\",n)}else this.$emit(\"update:checked\",!this.isChecked);else this.$emit(\"update:checked\",!this.isChecked);else this.$emit(\"update:checked\",this.value)},getInputsSet:function(){return b(document.getElementsByName(this.name))}}},S=e(3379),y=e.n(S),x=e(7795),N=e.n(x),k=e(569),R=e.n(k),F=e(3565),w=e.n(F),O=e(9216),_=e.n(O),Z=e(4589),Y=e.n(Z),M=e(2778),I={};I.styleTagTransform=Y(),I.setAttributes=w(),I.insert=R().bind(null,\"head\"),I.domAPI=N(),I.insertStyleElement=_(),y()(M.Z,I),M.Z&&M.Z.locals&&M.Z.locals;var G=e(1900),L=e(7160),$=e.n(L),U=(0,G.Z)(D,(function(){var n,t=this,e=t.$createElement,i=t._self._c||e;return i(t.wrapperElement,{tag:\"element\",staticClass:\"checkbox-radio-switch\",class:(n={},n[\"checkbox-radio-switch-\"+t.type]=t.type,n[\"checkbox-radio-switch--checked\"]=t.isChecked,n[\"checkbox-radio-switch--disabled\"]=t.disabled,n[\"checkbox-radio-switch--indeterminate\"]=t.indeterminate,n),style:t.cssVars},[i(\"input\",{staticClass:\"checkbox-radio-switch__input\",attrs:{id:t.id,disabled:t.disabled,indeterminate:t.indeterminate,name:t.name,type:t.inputType},domProps:{checked:t.isChecked,value:t.value},on:{change:t.onToggle}}),t._v(\" \"),i(\"label\",{staticClass:\"checkbox-radio-switch__label\",attrs:{for:t.id}},[t.loading?i(\"div\",{staticClass:\"icon-loading-small checkbox-radio-switch__icon\"}):i(t.checkboxRadioIconElement,{tag:\"icon\",staticClass:\"checkbox-radio-switch__icon\",attrs:{size:t.size,title:\"\",decorative:\"\"}}),t._v(\" \"),t._t(\"default\")],2)])}),[],!1,null,\"036397c2\",null);\"function\"==typeof $()&&$()(U);var j=U.exports},9793:function(n,t,e){\"use strict\";e.d(t,{default:function(){return w}});var i=require(\"vue-material-design-icons/ArrowLeft\"),a=e.n(i),r=require(\"vue-material-design-icons/Check\"),o=e.n(r),s=e(3251),l=e.n(s),c=require(\"vue-color\"),d=e(6609),A=e(3648),u=e(8099),p={name:\"ColorPicker\",components:{ArrowLeft:a(),Check:o(),Chrome:c.Chrome,DotsHorizontal:l(),Popover:u.default},mixins:[A.Z],props:{value:{type:String,required:!0}},data:function(){var n=this;return{currentColor:this.value,advanced:!1,palette:(0,d.Z)(4).map((function(t){return\"#\"+n.rgbToHex(t.r)+n.rgbToHex(t.g)+n.rgbToHex(t.b)}))}},watch:{value:function(n){this.currentColor=n}},methods:{handleConfirm:function(){this.$emit(\"submit\",this.currentColor),this.handleClose(),this.advanced=!1},handleClose:function(){this.$emit(\"close\"),this.$emit(\"update:open\",!1)},handleBack:function(){this.advanced=!1},handleMoreSettings:function(){this.advanced=!0},pickColor:function(n){\"string\"!=typeof n&&(n=this.currentColor.hex),this.currentColor=n,this.$emit(\"update:value\",n),this.$emit(\"input\",n)},rgbToHex:function(n){var t=n.toString(16);return 1===t.length?\"0\"+t:t}}},m=e(3379),T=e.n(m),h=e(7795),g=e.n(h),C=e(569),b=e.n(C),f=e(3565),v=e.n(f),B=e(9216),E=e.n(B),D=e(4589),S=e.n(D),y=e(5682),x={};x.styleTagTransform=S(),x.setAttributes=v(),x.insert=b().bind(null,\"head\"),x.domAPI=g(),x.insertStyleElement=E(),T()(y.Z,x),y.Z&&y.Z.locals&&y.Z.locals;var N=e(1900),k=e(3095),R=e.n(k),F=(0,N.Z)(p,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"Popover\",n._g(n._b({on:{\"apply-hide\":n.handleClose},scopedSlots:n._u([{key:\"trigger\",fn:function(){return[n._t(\"default\")]},proxy:!0}],null,!0)},\"Popover\",n.$attrs,!1),n.$listeners),[n._v(\" \"),e(\"div\",{staticClass:\"color-picker\"},[e(\"transition\",{attrs:{name:\"slide\",mode:\"out-in\"}},[n.advanced?n._e():e(\"div\",{staticClass:\"color-picker__simple\"},n._l(n.palette,(function(t,i){return e(\"button\",{key:i,staticClass:\"color-picker__simple-color-circle\",class:{\"color-picker__simple-color-circle--active\":t===n.currentColor},style:{\"background-color\":t},attrs:{type:\"button\"},on:{click:function(e){return n.pickColor(t)}}},[t===n.currentColor?e(\"Check\",{attrs:{size:20,title:\"\",decorative:\"\"}}):n._e()],1)})),0),n._v(\" \"),n.advanced?e(\"Chrome\",{staticClass:\"color-picker__advanced\",attrs:{\"disable-alpha\":!0,\"disable-fields\":!0},on:{input:n.pickColor},model:{value:n.currentColor,callback:function(t){n.currentColor=t},expression:\"currentColor\"}}):n._e()],1),n._v(\" \"),e(\"div\",{staticClass:\"color-picker__navigation\"},[n.advanced?e(\"button\",{staticClass:\"color-picker__navigation-button back\",attrs:{type:\"button\"},on:{click:n.handleBack}},[e(\"ArrowLeft\",{attrs:{size:20,title:\"\",decorative:\"\"}})],1):n._e(),n._v(\" \"),n.advanced?n._e():e(\"button\",{staticClass:\"color-picker__navigation-button more-settings\",attrs:{type:\"button\"},on:{click:n.handleMoreSettings}},[e(\"DotsHorizontal\",{attrs:{size:20,title:\"\",decorative:\"\"}})],1),n._v(\" \"),n.advanced?e(\"button\",{staticClass:\"color-picker__navigation-button confirm\",attrs:{type:\"button\"},on:{click:n.handleConfirm}},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.t(\"Choose\"))+\"\\n\\t\\t\\t\")]):n._e()])],1)])}),[],!1,null,\"146dc9d9\",null);\"function\"==typeof R()&&R()(F);var w=F.exports},6198:function(n,t,e){\"use strict\";e.d(t,{default:function(){return B}});var i={props:{appName:{type:String,required:!0}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(6919),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(1900),b=e(9908),f=e.n(b),v=(0,C.Z)(i,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"div\",{staticClass:\"content\",class:\"app-\"+n.appName.toLowerCase(),attrs:{id:\"content-vue\"}},[n._t(\"default\")],2)}),[],!1,null,\"4d37098a\",null);\"function\"==typeof f()&&f()(v);var B=v.exports},1988:function(n,t,e){\"use strict\";e.d(t,{default:function(){return B}});var i={name:\"CounterBubble\",props:{type:{type:String,default:\"\",validator:function(n){return-1!==[\"highlighted\",\"outlined\",\"\"].indexOf(n)}}},computed:{counterClassObject:function(){return{\"counter-bubble__counter--highlighted\":\"highlighted\"===this.type,\"counter-bubble__counter--outlined\":\"outlined\"===this.type}}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(8560),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(1900),b=e(5693),f=e.n(b),v=(0,C.Z)(i,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"div\",{staticClass:\"counter-bubble__counter\",class:n.counterClassObject},[n._t(\"default\")],2)}),[],!1,null,\"0f57a605\",null);\"function\"==typeof f()&&f()(v);var B=v.exports},577:function(n,t,e){\"use strict\";e.d(t,{default:function(){return O}});var i=e(7645),a=require(\"@nextcloud/l10n\"),r=require(\"vue2-datepicker\"),o=e.n(r),s=e(8099),l=e(9460),c=e(3648),d={date:\"YYYY-MM-DD\",datetime:\"YYYY-MM-DD H:mm:ss\",year:\"YYYY\",month:\"YYYY-MM\",time:\"H:mm:ss\",week:\"w\"},A={name:\"DatetimePicker\",components:{DatePicker:o(),Popover:s.default,TimezonePicker:l.default},mixins:[c.Z],inheritAttrs:!1,props:{clearable:{type:Boolean,default:!1},minuteStep:{type:Number,default:10},type:{type:String,default:\"date\"},format:{type:String,default:null},formatter:{type:Object,default:null},value:{default:function(){return new Date}},timezoneId:{type:String,default:\"UTC\"},showTimezoneSelect:{type:Boolean,default:!1},highlightTimezone:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1},showWeekNumber:{type:Boolean,default:!1}},data:function(){return{showTimezonePopover:!1,tzVal:this.timezoneId}},computed:{lang:function(){return{formatLocale:{months:(0,a.getMonthNames)(),monthsShort:(0,a.getMonthNamesShort)(),weekdays:(0,a.getDayNames)(),weekdaysShort:(0,a.getDayNamesShort)(),weekdaysMin:(0,a.getDayNamesMin)(),firstDayOfWeek:(0,a.getFirstDay)()},monthFormat:\"MMM\"}},placeholder:function(){return\"time\"===this.type?this.t(\"Pick a time\"):\"month\"===this.type?this.t(\"Pick a month\"):\"year\"===this.type?this.t(\"Pick a year\"):\"week\"===this.type?this.t(\"Pick a week\"):\"date\"===this.type?this.t(\"Pick a date\"):this.t(\"Pick a date and a time\")},formatTypeMap:function(){var n;return null!==(n=d[this.type])&&void 0!==n?n:d.date}},methods:{handleSelectYear:function(n){var t=this.$refs.datepicker.currentValue;if(t)try{var e=new Date(new Date(t).setFullYear(n));this.$refs.datepicker.selectDate(e)}catch(e){console.error(\"Invalid value\",t,n)}},handleSelectMonth:function(n){var t=this.$refs.datepicker.currentValue;if(t)try{var e=new Date(new Date(t).setMonth(n));this.$refs.datepicker.selectDate(e)}catch(e){console.error(\"Invalid value\",t,n)}},toggleTimezonePopover:function(){this.showTimezoneSelect&&(this.showTimezonePopover=!this.showTimezonePopover)}}},u=e(3379),p=e.n(u),m=e(7795),T=e.n(m),h=e(569),g=e.n(h),C=e(3565),b=e.n(C),f=e(9216),v=e.n(f),B=e(4589),E=e.n(B),D=e(8004),S={};S.styleTagTransform=E(),S.setAttributes=b(),S.insert=g().bind(null,\"head\"),S.domAPI=T(),S.insertStyleElement=v(),p()(D.Z,S),D.Z&&D.Z.locals&&D.Z.locals;var y=e(1900),x=e(3489),N=e.n(x),k=(0,y.Z)(A,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"DatePicker\",n._g(n._b({ref:\"datepicker\",attrs:{\"append-to-body\":n.appendToBody,clearable:n.clearable,format:n.format?n.format:n.formatTypeMap,formatter:n.formatter,lang:n.lang,\"minute-step\":n.minuteStep,placeholder:n.placeholder,\"popup-class\":{\"show-week-number\":n.showWeekNumber},\"show-week-number\":n.showWeekNumber,type:n.type,value:n.value},on:{\"select-year\":n.handleSelectYear,\"select-month\":n.handleSelectMonth,\"update:value\":function(t){return n.$emit(\"update:value\",n.value)}},scopedSlots:n._u([n.showTimezoneSelect?{key:\"icon-calendar\",fn:function(){return[e(\"Popover\",{attrs:{open:n.showTimezonePopover,\"open-class\":\"timezone-popover-wrapper\"},on:{\"update:open\":function(t){n.showTimezonePopover=t}},scopedSlots:n._u([{key:\"trigger\",fn:function(){return[e(\"button\",{staticClass:\"datetime-picker-inline-icon icon-timezone icon\",class:{\"datetime-picker-inline-icon--highlighted\":n.highlightTimezone},on:{mousedown:function(n){return n.stopPropagation(),n.preventDefault(),function(){}.apply(null,arguments)}}})]},proxy:!0}],null,!1,3706780037)},[n._v(\" \"),e(\"div\",{staticClass:\"timezone-popover-wrapper__title\"},[e(\"strong\",[n._v(\"\\n\\t\\t\\t\\t\\t\"+n._s(n.t(\"Please select a time zone:\"))+\"\\n\\t\\t\\t\\t\")])]),n._v(\" \"),e(\"TimezonePicker\",{staticClass:\"timezone-popover-wrapper__timezone-select\",on:{input:function(t){return n.$emit(\"update:timezone-id\",arguments[0])}},model:{value:n.tzVal,callback:function(t){n.tzVal=t},expression:\"tzVal\"}})],1)]},proxy:!0}:null,n._l(n.$scopedSlots,(function(t,e){return{key:e,fn:function(t){return[n._t(e,null,null,t)]}}}))],null,!0)},\"DatePicker\",n.$attrs,!1),n.$listeners))}),[],!1,null,\"6e184da2\",null);\"function\"==typeof N()&&N()(k);var R=k.exports,F=e(7695),w={};w.styleTagTransform=E(),w.setAttributes=b(),w.insert=g().bind(null,\"head\"),w.domAPI=T(),w.insertStyleElement=v(),p()(F.Z,w),F.Z&&F.Z.locals&&F.Z.locals,(0,i.Z)(R);var O=R},8263:function(n,t,e){\"use strict\";var i=e(5576);t.default=i.Z},7185:function(n,t,e){\"use strict\";e.d(t,{default:function(){return u}});var i=e(1336);function a(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),e.push.apply(e,i)}return e}function r(n){for(var t=1;t0?this.highlight:(0,i.Z)(this.text,this.search)).forEach((function(n,e){n.end0&&t.push({start:e.start<0?0:e.start,end:e.end>n.text.length?n.text.length:e.end}),t}),[])).sort((function(n,t){return n.start-t.start})),t=t.reduce((function(n,t){if(n.length){var e=n.length-1;n[e].end>=t.start?n[e]={start:n[e].start,end:Math.max(n[e].end,t.end)}:n.push(t)}else n.push(t);return n}),[])):t},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var n=[],t=0,e=0;t=this.ranges.length&&t=32},cssVars:function(){var n=this.noMargin?0:this.margin;return{\"--height\":this.avatarSize+2*n+\"px\",\"--margin\":this.margin+\"px\"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},s=e(3379),l=e.n(s),c=e(7795),d=e.n(c),A=e(569),u=e.n(A),p=e(3565),m=e.n(p),T=e(9216),h=e.n(T),g=e(4589),C=e.n(g),b=e(9863),f={};f.styleTagTransform=C(),f.setAttributes=m(),f.insert=u().bind(null,\"head\"),f.domAPI=d(),f.insertStyleElement=h(),l()(b.Z,f),b.Z&&b.Z.locals&&b.Z.locals;var v=e(1900),B=e(7772),E=e.n(B),D=(0,v.Z)(o,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"span\",n._g({staticClass:\"option\",style:n.cssVars,attrs:{id:n.id}},n.$listeners),[e(\"Avatar\",n._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":!0,\"disable-tooltip\":!0,\"display-name\":n.displayName||n.title,\"is-no-user\":n.isNoUser,size:n.avatarSize}},\"Avatar\",n.$attrs,!1)),n._v(\" \"),e(\"div\",{staticClass:\"option__details\"},[e(\"Highlight\",{staticClass:\"option__lineone\",attrs:{text:n.title,search:n.search}}),n._v(\" \"),n.isValidSubtitle&&n.isSizeBigEnough?e(\"Highlight\",{staticClass:\"option__linetwo\",attrs:{text:n.subtitle,search:n.search}}):n.hasStatus?e(\"span\",[e(\"span\",[n._v(n._s(n.userStatus.icon))]),n._v(\" \"),e(\"span\",[n._v(n._s(n.userStatus.message))])]):n._e()],1),n._v(\" \"),n._t(\"default\"),n._v(\" \"),n.hasIcon&&!n.hasSlot?e(\"span\",{staticClass:\"icon option__icon\",class:n.icon}):n._e()],2)}),[],!1,null,\"1e7d5981\",null);\"function\"==typeof E()&&E()(D);var S=D.exports},4113:function(n,t,e){\"use strict\";e.d(t,{default:function(){return U}});var i=e(7645),a=e(2640),r=e.n(a),o=require(\"vue-material-design-icons/ChevronLeft\"),s=e.n(o),l=e(9605),c=e.n(l),d=e(5978),A=e.n(d),u=require(\"vue-material-design-icons/Pause\"),p=e.n(u),m=require(\"vue-material-design-icons/Play\"),T=e.n(m),h=e(5860),g=e(4828),C=e(3648),b=e(932),f=e(9040);function v(n,t){var e,i,a,r=t;this.start=function(){a=!0,i=new Date,e=setTimeout(n,r)},this.pause=function(){a=!1,clearTimeout(e),r-=new Date-i},this.clear=function(){a=!1,clearTimeout(e),r=0},this.getTimeLeft=function(){return a&&(this.pause(),this.start()),r},this.getStateRunning=function(){return a},this.start()}var B={name:\"Modal\",components:{ActionButton:g.default,Actions:h.default,ChevronLeft:s(),ChevronRight:c(),Close:A(),Pause:p(),Play:T()},directives:{tooltip:f.default},mixins:[C.Z],props:{title:{type:String,default:\"\"},hasPrevious:{type:Boolean,default:!1},hasNext:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},enableSlideshow:{type:Boolean,default:!1},clearViewDelay:{type:Number,default:5e3},slideshowDelay:{type:Number,default:5e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:\"normal\",validator:function(n){return[\"small\",\"normal\",\"large\",\"full\"].includes(n)}},canClose:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},container:{type:String,default:\"body\"}},data:function(){return{mc:null,showModal:!1,clearView:!1,clearViewTimeout:null,playing:!1,slideshowTimeout:null,iconSize:24}},computed:{modalTransitionName:function(){return\"modal-\".concat(this.outTransition?\"out\":\"in\")},playPauseTitle:function(){return this.playing?(0,b.t)(\"Pause slideshow\"):(0,b.t)(\"Start slideshow\")},cssVariables:function(){return{\"--slideshow-duration\":this.slideshowDelay+\"ms\",\"--icon-size\":this.iconSize+\"px\"}}},watch:{slideshowPaused:function(n){this.slideshowTimeout&&(n?this.slideshowTimeout.pause():this.slideshowTimeout.start())}},beforeMount:function(){window.addEventListener(\"keydown\",this.handleKeydown)},beforeDestroy:function(){window.removeEventListener(\"keydown\",this.handleKeydown),this.mc.off(\"swipeleft swiperight\"),this.mc.destroy()},mounted:function(){var n=this;this.showModal=!0,this.handleMouseMove(),this.mc=new(r())(this.$refs.mask),this.mc.on(\"swipeleft swiperight\",(function(t){n.handleSwipe(t)})),\"body\"===this.container?document.body.insertBefore(this.$el,document.body.lastChild):document.querySelector(this.container).appendChild(this.$el)},destroyed:function(){this.$el.remove()},methods:{previous:function(n){this.hasPrevious&&(n&&this.resetSlideshow(),this.$emit(\"previous\",n))},next:function(n){this.hasNext&&(n&&this.resetSlideshow(),this.$emit(\"next\",n))},close:function(n){var t=this;this.canClose&&(this.showModal=!1,setTimeout((function(){t.$emit(\"close\",n)}),300))},handleKeydown:function(n){switch(n.keyCode){case 37:this.previous(n);break;case 13:case 39:this.next(n);break;case 27:this.close(n)}},handleSwipe:function(n){this.enableSwipe&&(\"swipeleft\"===n.type?this.next(n):\"swiperight\"===n.type&&this.previous(n))},handleMouseMove:function(){var n=this;this.clearViewDelay>0&&(this.clearView=!1,clearTimeout(this.clearViewTimeout),this.clearViewTimeout=setTimeout((function(){n.clearView=!0}),this.clearViewDelay))},togglePlayPause:function(){this.playing=!this.playing,this.playing?this.handleSlideshow():this.clearSlideshowTimeout()},resetSlideshow:function(){this.playing=!this.playing,this.clearSlideshowTimeout(),this.$nextTick((function(){this.togglePlayPause()}))},handleSlideshow:function(){var n=this;this.playing=!0,this.hasNext?this.slideshowTimeout=new v((function(){n.next(),n.handleSlideshow()}),this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout:function(){this.slideshowTimeout&&this.slideshowTimeout.clear()}}},E=e(3379),D=e.n(E),S=e(7795),y=e.n(S),x=e(569),N=e.n(x),k=e(3565),R=e.n(k),F=e(9216),w=e.n(F),O=e(4589),_=e.n(O),Z=e(1309),Y={};Y.styleTagTransform=_(),Y.setAttributes=R(),Y.insert=N().bind(null,\"head\"),Y.domAPI=y(),Y.insertStyleElement=w(),D()(Z.Z,Y),Z.Z&&Z.Z.locals&&Z.Z.locals;var M=e(1900),I=e(8575),G=e.n(I),L=(0,M.Z)(B,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"transition\",{attrs:{name:\"fade\"}},[e(\"div\",{ref:\"mask\",staticClass:\"modal-mask\",class:{\"modal-mask--dark\":n.dark},style:n.cssVariables,on:{click:n.handleMouseMove,mousemove:n.handleMouseMove,touchmove:n.handleMouseMove}},[e(\"transition\",{attrs:{name:\"fade-visibility\"}},[e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!n.clearView,expression:\"!clearView\"}],staticClass:\"modal-header\",class:{invisible:n.clearView}},[\"\"!==n.title.trim()?e(\"div\",{staticClass:\"modal-title\"},[n._v(\"\\n\\t\\t\\t\\t\\t\"+n._s(n.title)+\"\\n\\t\\t\\t\\t\")]):n._e(),n._v(\" \"),e(\"div\",{staticClass:\"icons-menu\"},[n.hasNext&&n.enableSlideshow?e(\"button\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:n.playPauseTitle,expression:\"playPauseTitle\",modifiers:{auto:!0}}],staticClass:\"play-pause-icons\",class:{\"play-pause-icons--paused\":n.slideshowPaused},attrs:{type:\"button\"},on:{click:n.togglePlayPause}},[n.playing?e(\"Pause\",{staticClass:\"play-pause-icons__pause\",attrs:{size:n.iconSize,title:\"\",decorative:\"\"}}):e(\"Play\",{staticClass:\"play-pause-icons__play\",attrs:{size:n.iconSize,title:\"\",decorative:\"\"}}),n._v(\" \"),e(\"span\",{staticClass:\"hidden-visually\"},[n._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+n._s(n.playPauseTitle)+\"\\n\\t\\t\\t\\t\\t\\t\")]),n._v(\" \"),n.playing?e(\"svg\",{staticClass:\"progress-ring\",attrs:{height:\"50\",width:\"50\"}},[e(\"circle\",{staticClass:\"progress-ring__circle\",attrs:{stroke:\"white\",\"stroke-width\":\"2\",fill:\"transparent\",r:\"15\",cx:\"25\",cy:\"25\"}})]):n._e()],1):n._e(),n._v(\" \"),e(\"Actions\",{staticClass:\"header-actions\"},[n._t(\"actions\")],2),n._v(\" \"),n.canClose?e(\"Actions\",{staticClass:\"header-close\"},[e(\"ActionButton\",{on:{click:n.close},scopedSlots:n._u([{key:\"icon\",fn:function(){return[e(\"Close\",{attrs:{size:n.iconSize,title:\"\",decorative:\"\"}})]},proxy:!0}],null,!1,1372351874)},[n._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+n._s(n.t(\"Close\"))+\"\\n\\t\\t\\t\\t\\t\\t\")])],1):n._e()],1)])]),n._v(\" \"),e(\"transition\",{attrs:{name:n.modalTransitionName}},[e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:n.showModal,expression:\"showModal\"}],staticClass:\"modal-wrapper\",class:[\"modal-wrapper--\"+n.size,n.spreadNavigation?\"modal-wrapper--spread-navigation\":\"\"],on:{mousedown:function(t){return t.target!==t.currentTarget?null:n.close.apply(null,arguments)}}},[e(\"transition\",{attrs:{name:\"fade-visibility\"}},[e(\"a\",{directives:[{name:\"show\",rawName:\"v-show\",value:n.hasPrevious&&!n.clearView,expression:\"hasPrevious && !clearView\"}],staticClass:\"prev\",class:{invisible:n.clearView||!n.hasPrevious},attrs:{href:\"#\"},on:{click:function(t){return t.preventDefault(),t.stopPropagation(),n.previous.apply(null,arguments)}}},[e(\"span\",{staticClass:\"icon-previous\"},[e(\"ChevronLeft\",{attrs:{size:40,title:\"\",decorative:\"\"}}),n._v(\" \"),e(\"span\",{staticClass:\"hidden-visually\"},[n._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+n._s(n.t(\"Previous\"))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])]),n._v(\" \"),e(\"div\",{staticClass:\"modal-container\"},[n._t(\"default\")],2),n._v(\" \"),e(\"transition\",{attrs:{name:\"fade-visibility\"}},[e(\"a\",{directives:[{name:\"show\",rawName:\"v-show\",value:n.hasNext&&!n.clearView,expression:\"hasNext && !clearView\"}],staticClass:\"next\",class:{invisible:n.clearView||!n.hasNext},attrs:{href:\"#\"},on:{click:function(t){return t.preventDefault(),t.stopPropagation(),n.next.apply(null,arguments)}}},[e(\"span\",{staticClass:\"icon-next\"},[e(\"ChevronRight\",{attrs:{size:40,title:\"\",decorative:\"\"}}),n._v(\" \"),e(\"span\",{staticClass:\"hidden-visually\"},[n._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+n._s(n.t(\"Next\"))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])])],1)])],1)])}),[],!1,null,\"2da14a6a\",null);\"function\"==typeof G()&&G()(L);var $=L.exports;(0,i.Z)($);var U=$},7316:function(n,t,e){\"use strict\";e.d(t,{default:function(){return M}});var i=e(7645),a=require(\"vue-multiselect\"),r=e.n(a),o=e(7185),s=e(1336),l={name:\"EllipsisedOption\",components:{Highlight:o.default},props:{option:{type:[String,Object],required:!0,default:\"\"},label:{type:String,default:\"\"},search:{type:String,default:\"\"},name:{type:String,default:\"\"}},computed:{needsTruncate:function(){return this.name&&this.name.length>=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.slice(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.slice(this.split):\"\"},highlight1:function(){return this.search?(0,s.Z)(this.name,this.search):[]},highlight2:function(){var n=this;return this.highlight1.map((function(t){return{start:t.start-n.split,end:t.end-n.split}}))}}},c=e(3379),d=e.n(c),A=e(7795),u=e.n(A),p=e(569),m=e.n(p),T=e(3565),h=e.n(T),g=e(9216),C=e.n(g),b=e(4589),f=e.n(b),v=e(9814),B={};B.styleTagTransform=f(),B.setAttributes=h(),B.insert=m().bind(null,\"head\"),B.domAPI=u(),B.insertStyleElement=C(),d()(v.Z,B),v.Z&&v.Z.locals&&v.Z.locals;var E=e(1900),D=(0,E.Z)(l,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"name-parts\",attrs:{title:n.name}},[e(\"Highlight\",{staticClass:\"name-parts__first\",attrs:{text:n.part1,search:n.search,highlight:n.highlight1}}),n._v(\" \"),n.part2?e(\"Highlight\",{staticClass:\"name-parts__last\",attrs:{text:n.part2,search:n.search,highlight:n.highlight2}}):n._e()],1)}),[],!1,null,\"0f132242\",null).exports,S=e(3648),y=e(6982),x=e(9040);function N(n){return N=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&\"function\"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?\"symbol\":typeof n},N(n)}var k={name:\"Multiselect\",components:{EllipsisedOption:D,ListItemIcon:y.default,VueMultiselect:r()},directives:{tooltip:x.default},mixins:[S.Z],inheritAttrs:!1,props:{value:{default:function(){return[]}},closeOnSelect:{type:Boolean,default:void 0},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:\"\"},trackBy:{type:String,default:\"\"},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(n){return n>0}}},data:function(){return{elWidth:0}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var n=Math.floor(this.elWidth/this.tagWidth);return n>0?n:1}return this.limit?this.limit:9999},limitString:function(){return\"+\".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&\"object\"!==N(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(n){this.$emit(\"update:value\",n),this.$emit(\"change\",n)}},willCloseOnSelect:function(){return void 0===this.closeOnSelect?!this.multiple:this.closeOnSelect}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener(\"resize\",this.updateWidth)},beforeDestroy:function(){window.removeEventListener(\"resize\",this.updateWidth)},methods:{getOptionLabel:function(n){var t;return String(null===(t=this.$refs.VueMultiselect)||void 0===t?void 0:t.getOptionLabel(n))},formatLimitTitle:function(n){var t=this;if(Array.isArray(n)&&n.length>0){var e=n;return\"object\"===N(n[0])&&(e=n.map((function(n){return n[t.label]}))),e.slice(this.maxOptions).join(\", \")}return\"\"},updateWidth:function(){this.$el&&this.$el.querySelector(\".multiselect__tags-wrap\")&&(this.elWidth=this.$el.querySelector(\".multiselect__tags-wrap\").offsetWidth-10)}}},R=k,F=e(7827),w=e.n(F),O=(0,E.Z)(R,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"VueMultiselect\",n._g(n._b({ref:\"VueMultiselect\",class:[{\"icon-loading-small\":n.loading},n.multiple?\"multiselect--multiple\":\"multiselect--single\"],attrs:{options:n.options,limit:n.maxOptions,\"close-on-select\":n.willCloseOnSelect,multiple:n.multiple,label:n.label,\"track-by\":n.trackBy,\"tag-placeholder\":\"create\"},scopedSlots:n._u([{key:\"option\",fn:function(t){return[n.userSelect&&!n.$scopedSlots.option?e(\"ListItemIcon\",n._b({attrs:{title:t.option[n.label],search:t.search}},\"ListItemIcon\",t.option,!1)):n.$scopedSlots.option?n._t(\"option\",null,null,t):e(\"EllipsisedOption\",{attrs:{name:n.getOptionLabel(t.option),option:t.option,search:t.search,label:n.label}})]}},n.multiple?{key:\"limit\",fn:function(){return[e(\"span\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:n.formatLimitTitle(n.value),expression:\"formatLimitTitle(value)\",modifiers:{auto:!0}}],staticClass:\"multiselect__limit\"},[n._v(\"\\n\\t\\t\\t\"+n._s(n.limitString)+\"\\n\\t\\t\")])]},proxy:!0}:null,n._l(n.$scopedSlots,(function(t,e){return{key:e,fn:function(t){return[n._t(e,null,null,t)]}}})),{key:\"noResult\",fn:function(){return[e(\"span\",[n._v(n._s(n.t(\"No results\")))])]},proxy:!0}],null,!0),model:{value:n.localValue,callback:function(t){n.localValue=t},expression:\"localValue\"}},\"VueMultiselect\",n.$attrs,!1),n.$listeners))}),[],!1,null,null,null);\"function\"==typeof w()&&w()(O);var _=O.exports,Z=e(5850),Y={};Y.styleTagTransform=f(),Y.setAttributes=h(),Y.insert=m().bind(null,\"head\"),Y.domAPI=u(),Y.insertStyleElement=C(),d()(Z.Z,Y),Z.Z&&Z.Z.locals&&Z.Z.locals,(0,i.Z)(_);var M=_},7838:function(n,t,e){\"use strict\";e.d(t,{default:function(){return f}});var i=e(3648),a=e(7316),r=e(768),o=e.n(r),s=e(4262);function l(n,t,e,i,a,r,o){try{var s=n[r](o),l=s.value}catch(n){return void e(n)}s.done?t(l):Promise.resolve(l).then(i,a)}var c=function n(t){var e={};if(1===t.nodeType){if(t.attributes.length>0){e[\"@attributes\"]={};for(var i=0;i\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t \\n\\t\\t\\t\\t\\t'});case 4:return t=n.sent,n.abrupt(\"return\",d(t.data));case 6:case\"end\":return n.stop()}}),n)})),function(){var t=this,e=arguments;return new Promise((function(i,a){var r=n.apply(t,e);function o(n){l(r,i,a,o,s,\"next\",n)}function s(n){l(r,i,a,o,s,\"throw\",n)}o(void 0)}))});return function(){return t.apply(this,arguments)}}(),u=e(932);function p(n,t,e,i,a,r,o){try{var s=n[r](o),l=s.value}catch(n){return void e(n)}s.done?t(l):Promise.resolve(l).then(i,a)}var m={name:\"MultiselectTags\",components:{Multiselect:a.default},mixins:[i.Z],props:{label:{type:String,default:(0,u.t)(\"Select a tag\")},value:{type:[Number,Array],required:!0},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!0}},data:function(){return{tags:[]}},computed:{inputValue:function(){return this.getValueObject()}},beforeCreate:function(){var n,t=this;return(n=regeneratorRuntime.mark((function n(){var e;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,A();case 3:e=n.sent,t.tags=e,n.next=10;break;case 7:n.prev=7,n.t0=n.catch(0),console.error(\"Loading systemtags failed\",n.t0);case 10:case\"end\":return n.stop()}}),n,null,[[0,7]])})),function(){var t=this,e=arguments;return new Promise((function(i,a){var r=n.apply(t,e);function o(n){p(r,i,a,o,s,\"next\",n)}function s(n){p(r,i,a,o,s,\"throw\",n)}o(void 0)}))})()},methods:{getValueObject:function(){var n=this;return 0===this.tags.length?[]:this.multiple?this.value.filter((function(n){return\"\"!==n})).map((function(t){return n.tags.find((function(n){return n.id===t}))})):this.tags.find((function(t){return t.id===n.value}))},update:function(n){this.multiple?this.$emit(\"input\",n.map((function(n){return n.id}))):null===n?this.$emit(\"input\",null):this.$emit(\"input\",n.id)},tagLabel:function(n){var t=n.displayName,e=n.userVisible,i=n.userAssignable;return!1===e?(0,u.t)(\"{tag} (invisible)\",{tag:t}):!1===i?(0,u.t)(\"{tag} (restricted)\",{tag:t}):t}}},T=m,h=e(1900),g=e(590),C=e.n(g),b=(0,h.Z)(T,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"Multiselect\",{attrs:{value:n.inputValue,options:n.tags,\"options-limit\":5,placeholder:n.label,\"track-by\":\"id\",\"custom-label\":n.tagLabel,multiple:n.multiple,\"close-on-select\":n.multiple,\"tag-width\":60,disabled:n.disabled},on:{input:n.update},scopedSlots:n._u([{key:\"noResult\",fn:function(){return[e(\"span\",[n._v(n._s(n.t(\"No results\")))])]},proxy:!0},{key:\"option\",fn:function(t){return[n._v(\"\\n\\t\\t\"+n._s(n.tagLabel(t.option))+\"\\n\\t\")]}}])})}),[],!1,null,null,null);\"function\"==typeof C()&&C()(b);var f=b.exports},8099:function(n,t,e){\"use strict\";var i=e(7020);t.default=i.Z},6996:function(n,t,e){\"use strict\";e.d(t,{default:function(){return N}});var i={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(n){return!n.input||-1!==[\"text\",\"checkbox\"].indexOf(n.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(n){return!1}}},methods:{action:function(n){this.item.action&&this.item.action(n)}}},a=e(3379),r=e.n(a),o=e(7795),s=e.n(o),l=e(569),c=e.n(l),d=e(3565),A=e.n(d),u=e(9216),p=e.n(u),m=e(4589),T=e.n(m),h=e(1852),g={};g.styleTagTransform=T(),g.setAttributes=A(),g.insert=c().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=p(),r()(h.Z,g),h.Z&&h.Z.locals&&h.Z.locals;var C=e(3530),b={};b.styleTagTransform=T(),b.setAttributes=A(),b.insert=c().bind(null,\"head\"),b.domAPI=s(),b.insertStyleElement=p(),r()(C.Z,b),C.Z&&C.Z.locals&&C.Z.locals;var f=e(1900),v=(0,f.Z)(i,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"li\",{staticClass:\"popover__menuitem\"},[n.item.href?e(\"a\",{staticClass:\"focusable\",attrs:{href:n.item.href?n.item.href:\"#\",target:n.item.target?n.item.target:\"\",download:n.item.download,rel:\"nofollow noreferrer noopener\"},on:{click:n.action}},[n.iconIsUrl?e(\"img\",{attrs:{src:n.item.icon}}):e(\"span\",{class:n.item.icon}),n._v(\" \"),n.item.text&&n.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),n._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.item.longtext)+\"\\n\\t\\t\\t\")])]):n.item.text?e(\"span\",[n._v(\"\\n\\t\\t\\t\"+n._s(n.item.text)+\"\\n\\t\\t\")]):n.item.longtext?e(\"p\",[n._v(\"\\n\\t\\t\\t\"+n._s(n.item.longtext)+\"\\n\\t\\t\")]):n._e()]):n.item.input?e(\"span\",{staticClass:\"menuitem\",class:{active:n.item.active}},[\"checkbox\"!==n.item.input?e(\"span\",{class:n.item.icon}):n._e(),n._v(\" \"),\"text\"===n.item.input?e(\"form\",{class:n.item.input,on:{submit:function(t){return t.preventDefault(),n.item.action.apply(null,arguments)}}},[e(\"input\",{attrs:{type:n.item.input,placeholder:n.item.text,required:\"\"},domProps:{value:n.item.value}}),n._v(\" \"),e(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===n.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:n.item.model,expression:\"item.model\"}],class:n.item.input,attrs:{id:n.key,type:\"checkbox\"},domProps:{checked:Array.isArray(n.item.model)?n._i(n.item.model,null)>-1:n.item.model},on:{change:[function(t){var e=n.item.model,i=t.target,a=!!i.checked;if(Array.isArray(e)){var r=n._i(e,null);i.checked?r<0&&n.$set(n.item,\"model\",e.concat([null])):r>-1&&n.$set(n.item,\"model\",e.slice(0,r).concat(e.slice(r+1)))}else n.$set(n.item,\"model\",a)},n.item.action]}}):\"radio\"===n.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:n.item.model,expression:\"item.model\"}],class:n.item.input,attrs:{id:n.key,type:\"radio\"},domProps:{checked:n._q(n.item.model,null)},on:{change:[function(t){return n.$set(n.item,\"model\",null)},n.item.action]}}):e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:n.item.model,expression:\"item.model\"}],class:n.item.input,attrs:{id:n.key,type:n.item.input},domProps:{value:n.item.model},on:{change:n.item.action,input:function(t){t.target.composing||n.$set(n.item,\"model\",t.target.value)}}}),n._v(\" \"),e(\"label\",{attrs:{for:n.key},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.item.action.apply(null,arguments)}}},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.item.text)+\"\\n\\t\\t\\t\")])]],2):n.item.action?e(\"button\",{staticClass:\"menuitem focusable\",class:{active:n.item.active},attrs:{disabled:n.item.disabled,type:\"button\"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),n.item.action.apply(null,arguments)}}},[e(\"span\",{class:n.item.icon}),n._v(\" \"),n.item.text&&n.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),n._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.item.longtext)+\"\\n\\t\\t\\t\")])]):n.item.text?e(\"span\",[n._v(\"\\n\\t\\t\\t\"+n._s(n.item.text)+\"\\n\\t\\t\")]):n.item.longtext?e(\"p\",[n._v(\"\\n\\t\\t\\t\"+n._s(n.item.longtext)+\"\\n\\t\\t\")]):n._e()]):e(\"span\",{staticClass:\"menuitem\",class:{active:n.item.active}},[e(\"span\",{class:n.item.icon}),n._v(\" \"),n.item.text&&n.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),n._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[n._v(\"\\n\\t\\t\\t\\t\"+n._s(n.item.longtext)+\"\\n\\t\\t\\t\")])]):n.item.text?e(\"span\",[n._v(\"\\n\\t\\t\\t\"+n._s(n.item.text)+\"\\n\\t\\t\")]):n.item.longtext?e(\"p\",[n._v(\"\\n\\t\\t\\t\"+n._s(n.item.longtext)+\"\\n\\t\\t\")]):n._e()])])}),[],!1,null,\"79bc7480\",null),B={name:\"PopoverMenu\",components:{PopoverMenuItem:v.exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},E=e(7816),D={};D.styleTagTransform=T(),D.setAttributes=A(),D.insert=c().bind(null,\"head\"),D.domAPI=s(),D.insertStyleElement=p(),r()(E.Z,D),E.Z&&E.Z.locals&&E.Z.locals;var S=e(26),y=e.n(S),x=(0,f.Z)(B,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"ul\",{staticClass:\"popover__menu\"},n._l(n.menu,(function(n,t){return e(\"PopoverMenuItem\",{key:t,attrs:{item:n}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof y()&&y()(x);var N=x.exports},1102:function(n,t,e){\"use strict\";e.d(t,{default:function(){return L}});var i=require(\"tributejs/dist/tribute.esm\"),a=e.n(i),r=e(3465),o=e.n(r),s=require(\"string-length\"),l=e.n(s),c=e(932),d=e(4262),A={name:\"AutoCompleteResult\",props:{label:{type:String,required:!0},subline:{type:String,default:null},id:{type:String,default:null},icon:{type:String,required:!0},source:{type:String,required:!0},status:{type:[Object,Array],default:function(){return{}}}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},haveStatus:function(){var n,t;return(null===(n=this.status)||void 0===n?void 0:n.icon)||(null===(t=this.status)||void 0===t?void 0:t.status)}},methods:{getAvatarUrl:function(n,t){return(0,d.generateUrl)(\"/avatar/{user}/{size}\",{user:n,size:t})}}},u=e(3379),p=e.n(u),m=e(7795),T=e.n(m),h=e(569),g=e.n(h),C=e(3565),b=e.n(C),f=e(9216),v=e.n(f),B=e(4589),E=e.n(B),D=e(1142),S={};S.styleTagTransform=E(),S.setAttributes=b(),S.insert=g().bind(null,\"head\"),S.domAPI=T(),S.insertStyleElement=v(),p()(D.Z,S),D.Z&&D.Z.locals&&D.Z.locals;var y=e(1900),x=(0,y.Z)(A,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"autocomplete-result\"},[e(\"div\",{staticClass:\"autocomplete-result__icon\",class:[n.icon,\"autocomplete-result__icon--\"+(n.avatarUrl?\"with-avatar\":\"\")],style:n.avatarUrl?{backgroundImage:\"url(\"+n.avatarUrl+\")\"}:null},[n.haveStatus?e(\"div\",{staticClass:\"autocomplete-result__status\",class:[\"autocomplete-result__status--\"+(n.status&&n.status.icon?\"icon\":n.status.status)]},[n._v(\"\\n\\t\\t\\t\"+n._s(n.status&&n.status.icon||\"\")+\"\\n\\t\\t\")]):n._e()]),n._v(\" \"),e(\"span\",{staticClass:\"autocomplete-result__content\"},[e(\"span\",{staticClass:\"autocomplete-result__title\"},[n._v(\"\\n\\t\\t\\t\"+n._s(n.label)+\"\\n\\t\\t\")]),n._v(\" \"),n.subline?e(\"span\",{staticClass:\"autocomplete-result__subline\"},[n._v(\"\\n\\t\\t\\t\"+n._s(n.subline)+\"\\n\\t\\t\")]):n._e()])])}),[],!1,null,\"c5738294\",null).exports,N=e(1088),k=e(7791);function R(n,t,e,i,a,r,o){try{var s=n[r](o),l=s.value}catch(n){return void e(n)}s.done?t(l):Promise.resolve(l).then(i,a)}var F={name:\"RichContenteditable\",mixins:[N.default],props:{value:{type:String,default:\"\",required:!0},placeholder:{type:String,default:(0,c.t)(\"Write message, @ to mention someone, : for emoji autocompletion …\")},autoComplete:{type:Function,required:!0},menuContainer:{type:Element,default:function(){return document.body}},multiline:{type:Boolean,default:!1},contenteditable:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},maxlength:{type:Number,default:null},emojiAutocomplete:{type:Boolean,default:!0}},data:function(){var n=this;return{tribute:null,autocompleteOptions:{fillAttr:\"id\",lookup:function(n){return\"\".concat(n.id,\" \").concat(n.label)},menuContainer:this.menuContainer,menuItemTemplate:function(t){return n.renderComponentHtml(t.original,x)},noMatchTemplate:function(){return''},selectTemplate:function(t){var e;return n.genSelectTemplate(null==t||null===(e=t.original)||void 0===e?void 0:e.id)},values:this.debouncedAutoComplete},emojiOptions:{trigger:\":\",lookup:function(n,t){return t},menuContainer:this.menuContainer,menuItemTemplate:function(n){return''.concat(n.original.native,\" :\").concat(n.original.short_name)},noMatchTemplate:function(){return(0,c.t)(\"No emoji found\")},selectTemplate:function(n){return(0,k.addRecent)(n.original),n.original.native},values:function(n,t){return t((0,k.emojiSearch)(n))},containerClass:\"tribute-container-emoji\",itemClass:\"tribute-container-emoji__item\"},localValue:this.value}},computed:{isEmptyValue:function(){return!this.localValue||this.localValue&&\"\"===this.localValue.trim()},isFF:function(){return!!navigator.userAgent.match(/firefox/i)},isOverMaxlength:function(){return!(this.isEmptyValue||!this.maxlength)&&l()(this.localValue)>this.maxlength},tooltip:function(){return this.isOverMaxlength?{content:(0,c.t)(\"Message limit of {count} characters reached\",{count:this.maxlength}),show:!0,trigger:\"manual\"}:null},canEdit:function(){return this.contenteditable&&!this.disabled}},watch:{value:function(){var n=this.$refs.contenteditable.innerHTML;this.value.trim()!==this.parseContent(n).trim()&&this.updateContent(this.value)}},mounted:function(){this.autocompleteTribute=new(a())(this.autocompleteOptions),this.autocompleteTribute.attach(this.$el),this.emojiAutocomplete&&(this.emojiTribute=new(a())(this.emojiOptions),this.emojiTribute.attach(this.$el)),this.updateContent(this.value),this.$refs.contenteditable.contentEditable=this.canEdit},beforeDestroy:function(){this.autocompleteTribute&&this.autocompleteTribute.detach(this.$el),this.emojiTribute&&this.emojiTribute.detach(this.$el)},methods:{onInput:function(n){this.updateValue(n.target.innerHTML)},onPaste:function(n){if(this.canEdit){n.preventDefault();var t=n.clipboardData;if(this.$emit(\"paste\",n),0===t.files.length&&Object.values(t.items).find((function(n){return null==n?void 0:n.type.startsWith(\"text\")}))){var e=t.getData(\"text\"),i=window.getSelection();i.rangeCount||this.updateValue(e);var a=this.parseContent(e),r=i.getRangeAt(0);i.deleteFromDocument(),r.insertNode(document.createTextNode(a));var o=document.createRange();o.setStart(n.target,r.endOffset),o.collapse(!0),i.removeAllRanges(),i.addRange(o),this.updateValue(n.target.innerHTML)}}},updateValue:function(n){var t=this.parseContent(n);this.localValue=t,this.$emit(\"update:value\",t)},updateContent:function(n){var t=this.renderContent(n);this.$refs.contenteditable.innerHTML=t,this.localValue=n},onDelete:function(n){if(this.isFF&&window.getSelection&&this.canEdit){var t=window.getSelection(),e=n.target;if(t.isCollapsed&&t.rangeCount){var i=t.getRangeAt(t.rangeCount-1);if(!(3===i.commonAncestorContainer.nodeType&&i.startOffset>0)){var a=document.createRange();if(t.anchorNode!==e)a.selectNodeContents(e),a.setEndBefore(t.anchorNode);else{if(!(t.anchorOffset>0))return;a.setEnd(e,t.anchorOffset)}a.setStart(e,a.endOffset-1);var r=a.cloneContents().lastChild;r&&\"false\"===r.contentEditable&&(a.deleteContents(),n.preventDefault())}}}},onEnter:function(n){this.multiline||this.isOverMaxlength||this.autocompleteTribute.isActive||this.emojiTribute.isActive||(n.preventDefault(),n.stopPropagation(),this.$emit(\"submit\",n))},onCtrlEnter:function(n){this.isOverMaxlength||this.$emit(\"submit\",n)},debouncedAutoComplete:o()(function(){var n,t=(n=regeneratorRuntime.mark((function n(t,e){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:this.autoComplete(t,e);case 1:case\"end\":return n.stop()}}),n,this)})),function(){var t=this,e=arguments;return new Promise((function(i,a){var r=n.apply(t,e);function o(n){R(r,i,a,o,s,\"next\",n)}function s(n){R(r,i,a,o,s,\"throw\",n)}o(void 0)}))});return function(n,e){return t.apply(this,arguments)}}(),100)}},w=F,O=e(2305),_={};_.styleTagTransform=E(),_.setAttributes=b(),_.insert=g().bind(null,\"head\"),_.domAPI=T(),_.insertStyleElement=v(),p()(O.Z,_),O.Z&&O.Z.locals&&O.Z.locals;var Z=e(4398),Y={};Y.styleTagTransform=E(),Y.setAttributes=b(),Y.insert=g().bind(null,\"head\"),Y.domAPI=T(),Y.insertStyleElement=v(),p()(Z.Z,Y),Z.Z&&Z.Z.locals&&Z.Z.locals;var M=e(1164),I=e.n(M),G=(0,y.Z)(w,(function(){var n=this,t=n.$createElement;return(n._self._c||t)(\"div\",n._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:n.tooltip,expression:\"tooltip\"}],ref:\"contenteditable\",staticClass:\"rich-contenteditable__input\",class:{\"rich-contenteditable__input--empty\":n.isEmptyValue,\"rich-contenteditable__input--multiline\":n.multiline,\"rich-contenteditable__input--overflow\":n.isOverMaxlength,\"rich-contenteditable__input--disabled\":n.disabled},attrs:{contenteditable:n.canEdit,placeholder:n.placeholder,\"aria-multiline\":\"true\",role:\"textbox\"},on:{input:n.onInput,keydown:[function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"delete\",[8,46],t.key,[\"Backspace\",\"Delete\",\"Del\"])?null:n.onDelete.apply(null,arguments)},function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"enter\",13,t.key,\"Enter\")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:n.onEnter.apply(null,arguments)},function(t){return!t.type.indexOf(\"key\")&&n._k(t.keyCode,\"enter\",13,t.key,\"Enter\")?null:t.ctrlKey?t.shiftKey||t.altKey||t.metaKey?null:(t.stopPropagation(),t.preventDefault(),n.onCtrlEnter.apply(null,arguments)):null}],paste:n.onPaste}},n.$listeners))}),[],!1,null,\"6d5a0150\",null);\"function\"==typeof I()&&I()(G);var L=G.exports},3325:function(n,t,e){\"use strict\";e.d(t,{default:function(){return S}});var i=require(\"vue-material-design-icons/HelpCircle\"),a=e.n(i),r=e(932),o={name:\"SettingsSection\",components:{HelpCircle:a()},props:{title:{type:String,required:!0},description:{type:String,default:\"\"},docUrl:{type:String,default:\"\"}},data:function(){return{docTitleTranslated:(0,r.t)(\"External documentation for {title}\",{title:this.title})}},computed:{hasDescription:function(){return this.description.length>0},hasDocUrl:function(){return this.docUrl.length>0}}},s=e(3379),l=e.n(s),c=e(7795),d=e.n(c),A=e(569),u=e.n(A),p=e(3565),m=e.n(p),T=e(9216),h=e.n(T),g=e(4589),C=e.n(g),b=e(1305),f={};f.styleTagTransform=C(),f.setAttributes=m(),f.insert=u().bind(null,\"head\"),f.domAPI=d(),f.insertStyleElement=h(),l()(b.Z,f),b.Z&&b.Z.locals&&b.Z.locals;var v=e(1900),B=e(7862),E=e.n(B),D=(0,v.Z)(o,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"div\",{staticClass:\"settings-section\"},[e(\"h2\",{staticClass:\"settings-section__title\"},[n._v(\"\\n\\t\\t\"+n._s(n.title)+\"\\n\\t\\t\"),n.hasDocUrl?e(\"a\",{staticClass:\"settings-section__info\",attrs:{href:n.docUrl,role:\"note\",title:n.docTitleTranslated}},[e(\"HelpCircle\",{attrs:{size:20,decorative:\"\",title:\"\"}})],1):n._e()]),n._v(\" \"),n.hasDescription?e(\"p\",{staticClass:\"settings-section__desc\"},[n._v(\"\\n\\t\\t\"+n._s(n.description)+\"\\n\\t\")]):n._e(),n._v(\" \"),n._t(\"default\")],2)}),[],!1,null,\"548823d7\",null);\"function\"==typeof E()&&E()(D);var S=D.exports},9460:function(n,t,e){\"use strict\";e.d(t,{default:function(){return Z}});var i=e(7316),a=e(932);function r(n,t){var e=\"undefined\"!=typeof Symbol&&n[Symbol.iterator]||n[\"@@iterator\"];if(!e){if(Array.isArray(n)||(e=function(n,t){if(n){if(\"string\"==typeof n)return o(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);return\"Object\"===e&&n.constructor&&(e=n.constructor.name),\"Map\"===e||\"Set\"===e?Array.from(n):\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?o(n,t):void 0}}(n))||t&&n&&\"number\"==typeof n.length){e&&(n=e);var i=0,a=function(){};return{s:a,n:function(){return i>=n.length?{done:!0}:{done:!1,value:n[i++]}},e:function(n){throw n},f:a}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,s=!0,l=!1;return{s:function(){e=e.call(n)},n:function(){var n=e.next();return s=n.done,n},e:function(n){l=!0,r=n},f:function(){try{s||null==e.return||e.return()}finally{if(l)throw r}}}}function o(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,i=new Array(t);en.length)&&(t=n.length);for(var e=0,i=new Array(t);en.length)&&(t=n.length);for(var e=0,i=new Array(t);e=n.length?{done:!0}:{done:!1,value:n[i++]}},e:function(n){throw n},f:a}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,o=!0,s=!1;return{s:function(){e=e.call(n)},n:function(){var n=e.next();return o=n.done,n},e:function(n){s=!0,r=n},f:function(){try{o||null==e.return||e.return()}finally{if(s)throw r}}}}(this.additionalTimezones);try{for(t.s();!(n=t.n()).done;){var e=n.value;if(e.timezoneId===this.value)return e}}catch(n){t.e(n)}finally{t.f()}return{label:s(this.value),timezoneId:this.value}},options:function(){return function(){var n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],e={},i=[],o=r(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]);try{for(o.s();!(n=o.n()).done;){var l=n.value,c=l.split(\"/\"),d=[c.shift(),c.join(\"/\")],A=d[0],u=d[1];u||(u=A,A=(0,a.t)(\"Global\")),e[A]=e[A]||{continent:A,regions:[]},e[A].regions.push({label:s(u),cities:[],timezoneId:l})}}catch(n){o.e(n)}finally{o.f()}var p,m=r(t);try{for(m.s();!(p=m.n()).done;){var T=p.value,h=T.continent,g=T.label,C=T.timezoneId;e[h]=e[h]||{continent:h,regions:[]},e[h].regions.push({label:g,cities:[],timezoneId:C})}}catch(n){m.e(n)}finally{m.f()}for(var b in e)Object.prototype.hasOwnProperty.call(e,b)&&(e[b].regions.sort((function(n,t){return n.label
'),i.VTooltip.options.defaultHtml=!1,i.VTooltip.options.defaultDelay={show:500,hide:200};var C=i.VTooltip},7791:function(n,t,e){\"use strict\";e.d(t,{addRecent:function(){return s},emojiSearch:function(){return o}});var i=require(\"emoji-mart-vue-fast/data/all.json\"),a=e.n(i),r=require(\"emoji-mart-vue-fast\"),o=function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,e=new r.EmojiIndex(a());return n?e.search(n,t)||[]:r.frequently.get(t).map((function(n){return e.emoji(n)}))||[]},s=function(n){r.frequently.add(n)}},7993:function(n,t,e){\"use strict\";e.d(t,{default:function(){return o}});var i=require(\"md5\"),a=e.n(i),r=e(6609),o=function(n){var t=n.toLowerCase();return null===t.match(/^([0-9a-f]{4}-?){8}$/)&&(t=a()(t)),t=t.replace(/[^0-9a-f]/g,\"\"),(0,r.Z)(6)[function(n,t){for(var e=0,i=[],a=0;a20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},9156:function(n,t,e){\"use strict\";var i=e(723),a=e(6021);t.Z={mixins:[i.Z],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(n){return!1}}},methods:{onClick:function(n){if(this.$emit(\"click\",n),this.closeAfterClick){var t=(0,a.Z)(this,\"Actions\");t&&t.closeMenu&&t.closeMenu()}}}}},9150:function(n,t){\"use strict\";function e(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,i=new Array(t);e=n.length?{done:!0}:{done:!1,value:n[a++]}},e:function(n){throw n},f:r}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,s=!0,l=!1;return{s:function(){i=i.call(n)},n:function(){var n=i.next();return s=n.done,n},e:function(n){l=!0,o=n},f:function(){try{s||null==i.return||i.return()}finally{if(l)throw o}}}}(t);try{for(a.s();!(i=a.n()).done;){var r,o=i.value;if(null!=n&&null!==(r=n.classList)&&void 0!==r&&r.contains(o))return!0}}catch(n){a.e(n)}finally{a.f()}return!!n.parentElement&&this.hasNodeOrAnyParentClass(n.parentElement,t)}}}},3351:function(n,t,e){\"use strict\";e.d(t,{yd:function(){return i.default},rm:function(){return a.default},tq:function(){return r.default},bf:function(){return o.default},iQ:function(){return p}});var i=e(9150),a=e(8136),r=e(334),o=e(1088),s=e(768),l=e.n(s),c=e(4262),d=require(\"@nextcloud/capabilities\"),A=e(3607);function u(n,t,e,i,a,r,o){try{var s=n[r](o),l=s.value}catch(n){return void e(n)}s.done?t(l):Promise.resolve(l).then(i,a)}var p={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(n){var t,e=this;return(t=regeneratorRuntime.mark((function t(){var i,a,r,o,s,u,p,m,T;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n){t.next=2;break}return t.abrupt(\"return\");case 2:if(i=(0,d.getCapabilities)(),Object.prototype.hasOwnProperty.call(i,\"user_status\")&&i.user_status.enabled){t.next=5;break}return t.abrupt(\"return\");case 5:if((0,A.getCurrentUser)()){t.next=7;break}return t.abrupt(\"return\");case 7:return t.prev=7,t.next=10,l().get((0,c.generateOcsUrl)(\"apps/user_status/api/v1/statuses/{userId}\",{userId:n}));case 10:a=t.sent,r=a.data,o=r.ocs.data,s=o.status,u=o.message,p=o.icon,e.userStatus.status=s,e.userStatus.message=u||\"\",e.userStatus.icon=p||\"\",e.hasStatus=!0,t.next=24;break;case 19:if(t.prev=19,t.t0=t.catch(7),404!==t.t0.response.status||0!==(null===(m=t.t0.response.data.ocs)||void 0===m||null===(T=m.data)||void 0===T?void 0:T.length)){t.next=23;break}return t.abrupt(\"return\");case 23:console.error(t.t0);case 24:case\"end\":return t.stop()}}),t,null,[[7,19]])})),function(){var n=this,e=arguments;return new Promise((function(i,a){var r=t.apply(n,e);function o(n){u(r,i,a,o,s,\"next\",n)}function s(n){u(r,i,a,o,s,\"throw\",n)}o(void 0)}))})()}}}},8136:function(n,t){\"use strict\";t.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},334:function(n,t,e){\"use strict\";e.d(t,{default:function(){return r}});var i=e(2734),a=new(e.n(i)())({data:function(){return{isMobile:!1}},watch:{isMobile:function(n){this.$emit(\"changed\",n)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}}),r={data:function(){return{isMobile:!1}},mounted:function(){a.$on(\"changed\",this.onIsMobileChanged),this.isMobile=a.isMobile},beforeDestroy:function(){a.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(n){this.isMobile=n}}}},3648:function(n,t,e){\"use strict\";var i=e(932);t.Z={methods:{n:i.n,t:i.t}}},1088:function(n,t,e){\"use strict\";e.d(t,{default:function(){return F}});var i=require(\"escape-html\"),a=e.n(i),r=e(1390),o=require(\"striptags\"),s=e.n(o),l=e(2734),c=e.n(l),d=e(4262),A={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(n,t){return(0,d.generateUrl)(\"/avatar/{user}/{size}\",{user:n,size:t})}}},u=e(3379),p=e.n(u),m=e(7795),T=e.n(m),h=e(569),g=e.n(h),C=e(3565),b=e.n(C),f=e(9216),v=e.n(f),B=e(4589),E=e.n(B),D=e(4388),S={};S.styleTagTransform=E(),S.setAttributes=b(),S.insert=g().bind(null,\"head\"),S.domAPI=T(),S.insertStyleElement=v(),p()(D.Z,S),D.Z&&D.Z.locals&&D.Z.locals;var y=(0,e(1900).Z)(A,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":n.primary},attrs:{contenteditable:\"false\"}},[e(\"span\",{staticClass:\"mention-bubble__wrapper\"},[e(\"span\",{staticClass:\"mention-bubble__content\"},[e(\"span\",{staticClass:\"mention-bubble__icon\",class:[n.icon,\"mention-bubble__icon--\"+(n.avatarUrl?\"with-avatar\":\"\")],style:n.avatarUrl?{backgroundImage:\"url(\"+n.avatarUrl+\")\"}:null}),n._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:n.label}})]),n._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[n._v(n._s(n.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,x=\"(?:^|\\\\s)\",N=\"(?:[^a-z]|$)\",k=new RegExp(\"\".concat(x,\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(N,\")\"),\"gi\"),R=new RegExp(\"\".concat(x,\"(@"[a-zA-Z0-9 _.@\\\\-']+")(\").concat(N,\")\"),\"gi\"),F={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(n){var t=this;return a()(n).split(k).map((function(n){return n.split(R)})).flat().map((function(n){if(!n.startsWith(\"@\"))return(0,r.Z)(n);var e=n.replace(/@|"/gi,\"\");return\" \"+t.genSelectTemplate(e)})).join(\"\").replace(/\\n/gim,\"
\").replace(/&/gim,\"&\")},parseContent:function(n){var t=n.replace(/
/gim,\"\\n\");return t=(t=(t=t.replace(/ /gim,\" \")).replace(/&/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),t=s()(t,\"
\"),s()(t)},genSelectTemplate:function(n){var t=this.userData[n];return t?this.renderComponentHtml(t,y).replace(/[\\n\\t]/gim,\"\"):-1===n.indexOf(\" \")?\"@\".concat(n):'@\"'.concat(n,'\"')},renderComponentHtml:function(n,t){var e=new(c().extend(t))({propsData:n}),i=document.createElement(\"div\"),a=document.createElement(\"div\");i.style.display=\"none\",i.appendChild(a),document.body.appendChild(i),e.$mount(a);var r=i.innerHTML;return e.$destroy(),i.remove(),r}}}},1336:function(n,t){\"use strict\";t.Z=function(n,t){for(var e=[],i=0,a=n.toLowerCase().indexOf(t.toLowerCase(),i),r=0;a>-1&&rtr>th{text-align:center;opacity:.5;color:var(--color-text-lighter)}.mx-datepicker-main .mx-table tr:focus,.mx-datepicker-main .mx-table tr:hover,.mx-datepicker-main .mx-table tr:active{background-color:transparent}.mx-datepicker-main .mx-table .cell{transition:all 100ms ease-in-out;text-align:center;opacity:.7;border-radius:50px}.mx-datepicker-main .mx-table .cell>*{cursor:pointer}.mx-datepicker-main .mx-table .cell.today{opacity:1;color:var(--color-primary-element);font-weight:bold}.mx-datepicker-main .mx-table .cell.today:hover,.mx-datepicker-main .mx-table .cell.today:focus{color:var(--color-primary-text)}.mx-datepicker-main .mx-table .cell.in-range,.mx-datepicker-main .mx-table .cell.disabled{border-radius:0;font-weight:normal}.mx-datepicker-main .mx-table .cell.in-range{opacity:.7}.mx-datepicker-main .mx-table .cell.not-current-month{opacity:.5;color:var(--color-text-lighter)}.mx-datepicker-main .mx-table .cell.not-current-month:hover,.mx-datepicker-main .mx-table .cell.not-current-month:focus{opacity:1}.mx-datepicker-main .mx-table .cell:hover,.mx-datepicker-main .mx-table .cell:focus,.mx-datepicker-main .mx-table .cell.actived,.mx-datepicker-main .mx-table .cell.active,.mx-datepicker-main .mx-table .cell.in-range{opacity:1;color:var(--color-primary-text);background-color:var(--color-primary-element);font-weight:bold}.mx-datepicker-main .mx-table .cell.disabled{opacity:.5;color:var(--color-text-lighter);border-radius:0;background-color:var(--color-background-darker)}.mx-datepicker-main .mx-table .mx-week-number{text-align:center;opacity:.7;border-radius:50px}.mx-datepicker-main .mx-table span.mx-week-number,.mx-datepicker-main .mx-table li.mx-week-number,.mx-datepicker-main .mx-table span.cell,.mx-datepicker-main .mx-table li.cell{min-height:32px}.mx-datepicker-main .mx-table.mx-table-date thead,.mx-datepicker-main .mx-table.mx-table-date tbody,.mx-datepicker-main .mx-table.mx-table-year,.mx-datepicker-main .mx-table.mx-table-month{display:flex;flex-direction:column;justify-content:space-around}.mx-datepicker-main .mx-table.mx-table-date thead tr,.mx-datepicker-main .mx-table.mx-table-date tbody tr,.mx-datepicker-main .mx-table.mx-table-year tr,.mx-datepicker-main .mx-table.mx-table-month tr{display:inline-flex;align-items:center;flex:1 1 32px;justify-content:space-around;min-height:32px}.mx-datepicker-main .mx-table.mx-table-date thead th,.mx-datepicker-main .mx-table.mx-table-date thead td,.mx-datepicker-main .mx-table.mx-table-date tbody th,.mx-datepicker-main .mx-table.mx-table-date tbody td,.mx-datepicker-main .mx-table.mx-table-year th,.mx-datepicker-main .mx-table.mx-table-year td,.mx-datepicker-main .mx-table.mx-table-month th,.mx-datepicker-main .mx-table.mx-table-month td{display:flex;align-items:center;flex:0 1 32%;justify-content:center;min-width:32px;height:95%;min-height:32px;transition:background 100ms ease-in-out}.mx-datepicker-main .mx-table.mx-table-year tr th,.mx-datepicker-main .mx-table.mx-table-year tr td{flex-basis:48%}.mx-datepicker-main .mx-table.mx-table-date tr th,.mx-datepicker-main .mx-table.mx-table-date tr td{flex-basis:32px}.mx-datepicker-main .mx-btn{min-width:32px;height:32px;margin:0 auto;padding:7px 10px;cursor:pointer;text-decoration:none;opacity:.5;color:var(--color-text-lighter);border-radius:32px;line-height:20px}.mx-datepicker-main .mx-btn:hover,.mx-datepicker-main .mx-btn:focus{opacity:1;color:var(--color-main-text);background-color:var(--color-background-darker)}.mx-datepicker-main .mx-calendar-header,.mx-datepicker-main .mx-time-header{display:inline-flex;align-items:center;justify-content:space-between;width:100%;height:44px;margin-bottom:4px}.mx-datepicker-main .mx-calendar-header button,.mx-datepicker-main .mx-time-header button{min-width:32px;min-height:32px;margin:0;cursor:pointer;text-align:center;text-decoration:none;opacity:.7;color:var(--color-main-text);border-radius:32px;line-height:20px}.mx-datepicker-main .mx-calendar-header button:hover,.mx-datepicker-main .mx-time-header button:hover,.mx-datepicker-main .mx-calendar-header button:focus,.mx-datepicker-main .mx-time-header button:focus{opacity:1;color:var(--color-main-text);background-color:var(--color-background-darker)}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right{align-items:center;justify-content:center;width:32px;padding:0;background-repeat:no-repeat;background-size:16px;background-position:center}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right>i{display:none}.mx-datepicker-main .mx-calendar-header .mx-calendar-header-label,.mx-datepicker-main .mx-time-header .mx-calendar-header-label{display:flex}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left,.mx-datepicker-main .mx-time-header .mx-btn-icon-double-left{background-image:url(\"+C+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-double-left{background-image:url(\"+b+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-left,.mx-datepicker-main .mx-time-header .mx-btn-icon-left{background-image:url(\"+f+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-left,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-left{background-image:url(\"+v+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-right,.mx-datepicker-main .mx-time-header .mx-btn-icon-right{background-image:url(\"+B+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-right,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-right{background-image:url(\"+E+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header .mx-btn-icon-double-right{background-image:url(\"+D+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-double-right{background-image:url(\"+S+\")}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right{order:2}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right{order:3}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row .mx-week-number{font-weight:bold}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week{opacity:1;border-radius:50px;background-color:var(--color-background-dark)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td{background-color:transparent}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:focus,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:focus{color:inherit}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td{opacity:.7;font-weight:normal}.mx-datepicker-main .mx-time{background-color:var(--color-main-background)}.mx-datepicker-main .mx-time .mx-time-header{justify-content:center;border-bottom:1px solid var(--color-border)}.mx-datepicker-main .mx-time .mx-time-column{border-left:1px solid var(--color-border)}.mx-datepicker-main .mx-time .mx-time-option.active,.mx-datepicker-main .mx-time .mx-time-option:hover,.mx-datepicker-main .mx-time .mx-time-item.active,.mx-datepicker-main .mx-time .mx-time-item:hover{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mx-datepicker-main .mx-time .mx-time-option.disabled,.mx-datepicker-main .mx-time .mx-time-item.disabled{cursor:not-allowed;opacity:.5;color:var(--color-main-text);background-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./node_modules/vue2-datepicker/scss/icon.scss\",\"webpack://./node_modules/vue2-datepicker/scss/btn.scss\",\"webpack://./node_modules/vue2-datepicker/scss/var.scss\",\"webpack://./node_modules/vue2-datepicker/scss/scrollbar.scss\",\"webpack://./node_modules/vue2-datepicker/scss/animation.scss\",\"webpack://./node_modules/vue2-datepicker/scss/index.scss\",\"webpack://./src/components/DatetimePicker/index.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2JCDC,UAAW,CACX,iBAAkB,CAClB,QAAS,CACT,oBAAqB,CACrB,UAAW,CACX,WAAY,CACZ,qBAAsB,CACtB,kBAAmB,CACnB,yBAA0B,CAC1B,wBAAyB,CACzB,iBAAkB,CAClB,qBAAsB,CACtB,uBAAwB,CACxB,mCAAoC,CACrC,2BAGC,SAAU,CACX,6BAGC,QAAS,CACV,+EAKC,mCAAoC,CACrC,QCjCC,qBAAsB,CACtB,aAAc,CACd,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,QAAS,CACT,cAAe,CACf,4BAA6B,CAC7B,YAAa,CACb,gCAAoC,CACpC,iBAAkB,CAClB,aCZqB,CDarB,kBAAmB,CAbrB,cAeI,oBCdmB,CDenB,aCfmB,CDgBpB,aAID,QAAS,CACT,aAAc,CACd,eAAgB,CAChB,mBAAoB,CACrB,cExBC,WAAY,CADd,wCAIM,SAAU,CACX,mBAKH,WAAY,CACZ,iBAAkB,CAClB,eAAgB,CACjB,oBAGC,iBAAkB,CAClB,OAAQ,CACR,SAAU,CACV,UAAW,CACX,SAAU,CACV,SAAU,CACV,iBAAkB,CAClB,SAAU,CACV,iCAAkC,CATpC,wCAWI,iBAAkB,CAClB,UAAW,CACX,QAAS,CACT,cAAe,CACf,qBAAsB,CACtB,sCAA0C,CAC1C,gCAAiC,CAClC,4DC/BD,SAAU,CACV,mBAAoB,CACpB,oGAC6C,CAC7C,2BAA4B,CAC7B,6EAKC,SAAU,CACV,mBAAoB,CCTtB,eACE,iBAAkB,CAClB,oBAAqB,CACrB,WAAY,CAHd,mBAKI,SAAU,CACV,UAAW,CACX,sBAAuB,CACvB,iBAAkB,CAClB,eAAgB,CACjB,qBAID,WAAY,CACb,sBAGC,UAAW,CACZ,kBAGC,iBAAkB,CADpB,iCAGI,YAAa,CAHjB,uCAOM,aAAc,CAPpB,yDAUM,YAAa,CACd,UAKH,oBAAqB,CACrB,qBAAsB,CACtB,UAAW,CACX,WAAY,CACZ,gBAAiB,CACjB,iBAAkB,CAClB,cAAe,CACf,eAAgB,CAChB,UHzCgB,CG0ChB,qBAAsB,CACtB,qBH5CuB,CG6CvB,iBHrBuB,CGsBvB,4CAAgD,CAblD,gCAiBI,oBHhD8B,CG+BlC,sCAqBI,UHlDiB,CGmDjB,wBHlD+B,CGmD/B,iBHxDqB,CGyDrB,kBAAmB,CAxBvB,gBA2BI,YAAa,CA3BjB,qBA8BI,YAAa,CACd,iCAKD,iBAAkB,CAClB,OAAQ,CACR,SAAU,CACV,0BAA2B,CAC3B,cAAe,CACf,aAAc,CACd,qBAAyB,CACzB,qBAAsB,CACvB,eAGC,cAAe,CADjB,qBAGI,qBAAyB,CAC1B,oBAID,+EAAgF,CAChF,aH/FqB,CGgGrB,qBAAsB,CACtB,wBHnFoB,CGoFrB,qBAGC,iBAAkB,CAClB,cAAe,CACf,iBAAkB,CAClB,uCAA2C,CAC3C,YHpGkB,CGqGnB,uBAGC,UAAW,CACX,qBAAsB,CACtB,WH/EyB,CGgFzB,WAAY,CACZ,aAAc,CACf,8CAGC,iBHrFyB,CGsFzB,6BHxGoB,CGyGrB,oBAGC,iBAAkB,CAClB,gBAAiB,CAClB,iBAGC,aAAc,CACd,aAAc,CACd,gBAAiB,CAClB,kBAGC,YAAa,CACb,0BAFF,kBAGI,qBAAsB,CAEzB,CAED,sBACE,eAAgB,CAChB,+BH/HoB,CGgIrB,sBAGC,eAAgB,CAChB,gBAAiB,CACjB,4BHrIoB,CGsIrB,aAGC,qBAAsB,CACtB,WAAY,CACZ,gBAAiB,CAHnB,0BAKI,6BH7IkB,CG8InB,oCAID,qBAAsB,CACtB,WAAY,CACZ,gBAAiB,CACjB,iBAAkB,CAClB,eAAgB,CACjB,2CAIC,UAAW,CACZ,6CAGC,WAAY,CACb,0BAGC,cAAe,CAChB,8BAGC,YAAa,CADf,oCAGI,WAAY,CACb,qBAID,iBAAkB,CAClB,YAAa,CACb,qBAAsB,CAHxB,2BAKI,cAAe,CALnB,iCAOM,aHlMiB,CGmMjB,wBH/K6E,CGuKnF,kCAWM,UHtLsB,CGuLtB,wBHtMiB,CG0LvB,8EAgBM,aH3MiB,CG4MjB,wBHrLgF,CGoKtF,oCAoBM,kBAAmB,CACnB,UHrMe,CGsMf,wBHrM6B,CGsM9B,oCAMD,cAAe,CAFnB,0CAIM,wBHtM6E,CGkMnF,mDAOM,wBHtMgF,CG+LtF,gDAWQ,aAAc,CACd,4BAA6B,CAZrC,iDAeQ,aAAc,CACd,4BAA6B,CAC9B,gBAML,WAAY,CACb,UAGC,kBAAmB,CACnB,wBAAyB,CACzB,gBAAiB,CACjB,UAAW,CACX,WAAY,CACZ,qBAAsB,CACtB,iBAAkB,CAPpB,aAUI,SAAU,CACV,eAAgB,CAChB,qBAAsB,CAZ1B,aAeI,SAAU,CACV,qBAAsB,CACvB,oCAMC,WAAY,CACZ,cAAe,CAJnB,sBAQI,aHzQwC,CGiQ5C,uCAWI,UAAW,CACX,eAAgB,CACjB,SAID,MAAO,CACP,WAAY,CACZ,eAAgB,CAHlB,kBAKI,6BH3QkB,CG4QnB,kBAGD,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,UAAW,CACX,WAAY,CACb,gBAGC,+BHvRoB,CGwRrB,iBAGC,YAAa,CACb,qBAAsB,CACtB,eAAgB,CACjB,iBAGC,YAAa,CACb,UAAW,CACX,WAAY,CACZ,eAAgB,CACjB,gBAGC,MAAO,CACP,iBAAkB,CAClB,6BH1SoB,CG2SpB,iBAAkB,CAJpB,4BAOI,aAAc,CAPlB,8BAUI,QAAS,CACT,SAAU,CACV,eAAgB,CAZpB,qCAcM,UAAW,CACX,aAAc,CACd,YAAgB,CAhBtB,8BAoBI,cAAe,CACf,cAAe,CACf,WAAY,CACZ,gBAAiB,CAvBrB,oCAyBM,aH9UiB,CG+UjB,wBHlTyE,CGwR/E,qCA6BM,aHjViB,CGkVjB,8BHzToC,CG0TpC,eAAgB,CA/BtB,uCAkCM,kBAAmB,CACnB,UH7Ue,CG8Uf,wBH7U6B,CG8U9B,gBAKH,cAAe,CACf,gBAAiB,CACjB,cAAe,CACf,gBAAiB,CAJnB,sBAMI,aHpWmB,CGqWnB,wBHxU2E,CGiU/E,uBAUI,aHvWmB,CGwWnB,8BH/UsC,CGgVtC,eAAgB,CAZpB,yBAeI,kBAAmB,CACnB,UHnWiB,CGoWjB,wBHnW+B,CITnC,+BACC,gBAAiB,CACjB,4BAA6B,CAF9B,mCAKE,2BAA4B,CAL9B,2DAYG,UAAW,CACX,oCAAqC,CACrC,6CAA8C,CAC9C,2BAA4B,CAf/B,oHAoBG,kBAAmB,CACnB,UCiBgB,CDtCnB,mIA0BG,+BAAgC,CAChC,oBAMF,4BAA6B,CAC7B,oCAAqC,CACrC,6CAA8C,CAC9C,uCAAwC,CACxC,eAAgB,CALjB,wBAQE,2BAA4B,CAR9B,wCAYE,YAAa,CACb,eAAgB,CAblB,sFAgBG,yCAA0C,CAhB7C,kDAqBE,WAAiC,CArBnC,0CAyBE,2CAA4C,CAzB9C,0CA6BE,wCAAyC,CA7B3C,iCAkCE,WAAiC,CACjC,WAAY,CAnCd,uDAqCG,WAAiC,CArCpC,oFA2CE,yCAA0C,CA3C5C,sCA+CE,YAAa,CACb,eAAgB,CAhDlB,uFAqDI,2DAA4D,CArDhE,sGAyDI,2DAA4D,CAzDhE,8BAgEE,iBAAkB,CAhEpB,0CAmEG,iBAAkB,CAClB,UC/DkB,CDgElB,+BAAgC,CArEnC,sHA4EG,4BAA6B,CA5EhC,oCAiFG,gCAAiC,CACjC,iBAAkB,CAClB,UC7EgB,CD8EhB,kBAAmB,CApFtB,sCAwFI,cAAe,CAxFnB,0CA6FI,SCtFY,CDuFZ,kCAAmC,CACnC,gBAAiB,CA/FrB,gGAkGK,+BAAgC,CAlGrC,0FAuGI,eAAgB,CAChB,kBAAmB,CAxGvB,6CA2GI,UCrGe,CDNnB,sDA8GI,UCzGiB,CD0GjB,+BAAgC,CA/GpC,wHAkHK,SC3GW,CDPhB,wNA4HI,SCrHY,CDsHZ,+BAAgC,CAChC,6CAA8C,CAC9C,gBAAiB,CA/HrB,6CAkII,UC7HiB,CD8HjB,+BAAgC,CAChC,eAAgB,CAChB,+CAAgD,CArIpD,8CA0IG,iBAAkB,CAClB,UCrIgB,CDsIhB,kBAAmB,CA5ItB,gLAoJG,eAxLe,CAoClB,6LA4JG,YAAa,CACb,qBAAsB,CACtB,4BAA6B,CA9JhC,yMAgKI,mBAAoB,CACpB,kBAAmB,CACnB,aAtMc,CAuMd,4BAA6B,CAC7B,eAxMc,CAoClB,kZAyKI,YAAa,CACb,kBAAmB,CAEnB,YAAa,CACb,sBAAuB,CACvB,cAlNc,CAoNd,UAAW,CACX,eArNc,CAsNd,uCAAwC,CAlL5C,oGAyLI,cAAe,CAzLnB,oGAgMI,eApOc,CAoClB,4BAuME,cA3OgB,CA4OhB,WA5OgB,CA6OhB,aAAc,CACd,gBAAiB,CACjB,cAAe,CACf,oBAAqB,CACrB,UCxMmB,CDyMnB,+BAAgC,CAChC,kBAnPgB,CAoPhB,gBAAgC,CAhNlC,oEAoNG,SC7Ma,CD8Mb,4BAA6B,CAC7B,+CAAgD,CAtNnD,4EA4NE,mBAAoB,CACpB,kBAAmB,CACnB,6BAA8B,CAC9B,UAAW,CACX,WC5OmB,CD6OnB,iBAAkB,CAjOpB,0FAoOG,cAxQe,CAyQf,eAzQe,CA0Qf,QAAS,CACT,cAAe,CACf,iBAAkB,CAClB,oBAAqB,CACrB,UCpOgB,CDqOhB,4BAA6B,CAC7B,kBAhRe,CAiRf,gBAAgC,CA7OnC,4MAkPI,SC3OY,CD4OZ,4BAA6B,CAC7B,+CAAgD,CApPpD,ghBA4PI,kBAAmB,CACnB,sBAAuB,CACvB,UAlSc,CAmSd,SAAU,CACV,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAlQ/B,giBAsQK,YAAa,CAtQlB,gIA4QG,YAAa,CA5QhB,8HAgRG,wDAAkD,CAClD,gKACC,wDAAwD,CAlR5D,gHAuRG,wDAA2C,CAC3C,kJACC,wDAAiD,CAzRrD,kHA8RG,wDAA4C,CAC5C,oJACC,wDAAkD,CAhStD,gIAqSG,wDAAmD,CACnD,kKACC,wDAAyD,CAvS7D,8HA4SG,OAAQ,CA5SX,4IAgTG,OAAQ,CAhTX,wEAyTI,gBAAiB,CAzTrB,qIA6TI,SCtTY,CDuTZ,kBAAmB,CACnB,6CAA8C,CA/TlD,2IAiUK,4BAA6B,CAjUlC,ybAmUM,aAAc,CAnUpB,uEAwUI,+BAAgC,CAChC,6CAA8C,CAzUlD,0EA4UK,UCtUc,CDuUd,kBAAmB,CA7UxB,6BAqVE,6CAA8C,CArVhD,6CAyVG,sBAAuB,CACvB,2CAA4C,CA1V/C,6CA8VG,yCAA0C,CA9V7C,0MAqWI,+BAAgC,CAChC,6CAA8C,CAtWlD,0GA0WI,kBAAmB,CACnB,UCtWiB,CDuWjB,4BAA6B,CAC7B,6CAA8C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-icon-left:before,\\n.#{$namespace}-icon-right:before,\\n.#{$namespace}-icon-double-left:before,\\n.#{$namespace}-icon-double-right:before,\\n.#{$namespace}-icon-double-left:after,\\n.#{$namespace}-icon-double-right:after {\\n content: '';\\n position: relative;\\n top: -1px;\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n vertical-align: middle;\\n border-style: solid;\\n border-color: currentColor;\\n border-width: 2px 0 0 2px;\\n border-radius: 1px;\\n box-sizing: border-box;\\n transform-origin: center;\\n transform: rotate(-45deg) scale(0.7);\\n}\\n\\n.#{$namespace}-icon-double-left:after {\\n left: -4px;\\n}\\n\\n.#{$namespace}-icon-double-right:before {\\n left: 4px;\\n}\\n\\n.#{$namespace}-icon-right:before,\\n.#{$namespace}-icon-double-right:before,\\n.#{$namespace}-icon-double-right:after {\\n transform: rotate(135deg) scale(0.7);\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-btn {\\n box-sizing: border-box;\\n line-height: 1;\\n font-size: 14px;\\n font-weight: 500;\\n padding: 7px 15px;\\n margin: 0;\\n cursor: pointer;\\n background-color: transparent;\\n outline: none;\\n border: 1px solid rgba(0, 0, 0, 0.1);\\n border-radius: 4px;\\n color: $default-color;\\n white-space: nowrap;\\n &:hover {\\n border-color: $primary-color;\\n color: $primary-color;\\n }\\n}\\n\\n.#{$namespace}-btn-text {\\n border: 0;\\n padding: 0 4px;\\n text-align: left;\\n line-height: inherit;\\n}\\n\",\"$namespace: 'mx' !default;\\n\\n$default-color: #73879c !default;\\n$primary-color: #1284e7 !default;\\n\\n$today-color: mix(#fff, $primary-color, 10%) !default;\\n\\n$popup-z-index: 2001 !default;\\n\\n$input-border-color: #ccc !default;\\n$input-color: #555 !default;\\n$input-hover-border-color: #409aff !default;\\n\\n$disabled-color: #ccc !default;\\n$disabled-background-color: #f3f3f3 !default;\\n\\n$border-color: #e8e8e8 !default;\\n\\n$calendar-active-color: #fff !default;\\n$calendar-active-background-color: $primary-color !default;\\n\\n$calendar-hover-color: $default-color !default;\\n$calendar-hover-background-color: mix(#fff, $calendar-active-background-color, 95%) !default;\\n\\n$calendar-in-range-color: $default-color !default;\\n$calendar-in-range-background-color: mix(#fff, $calendar-active-background-color, 85%) !default;\\n\\n$time-active-color: $primary-color !default;\\n$time-active-background-color: transparent !default;\\n\\n$time-hover-color: $default-color !default;\\n$time-hover-background-color: mix(#fff, $calendar-active-background-color, 95%) !default;\\n\\n$input-border-radius: 4px !default;\\n$sidebar-margin-left: 100px !default;\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-scrollbar {\\n height: 100%;\\n &:hover {\\n .#{$namespace}-scrollbar-track {\\n opacity: 1;\\n }\\n }\\n}\\n\\n.#{$namespace}-scrollbar-wrap {\\n height: 100%;\\n overflow-x: hidden;\\n overflow-y: auto;\\n}\\n\\n.#{$namespace}-scrollbar-track {\\n position: absolute;\\n top: 2px;\\n right: 2px;\\n bottom: 2px;\\n width: 6px;\\n z-index: 1;\\n border-radius: 4px;\\n opacity: 0;\\n transition: opacity 0.24s ease-out;\\n .#{$namespace}-scrollbar-thumb {\\n position: absolute;\\n width: 100%;\\n height: 0;\\n cursor: pointer;\\n border-radius: inherit;\\n background-color: rgba(144, 147, 153, 0.3);\\n transition: background-color 0.3s;\\n }\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-zoom-in-down-enter-active,\\n.#{$namespace}-zoom-in-down-leave-active {\\n opacity: 1;\\n transform: scaleY(1);\\n transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1),\\n opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);\\n transform-origin: center top;\\n}\\n\\n.#{$namespace}-zoom-in-down-enter,\\n.#{$namespace}-zoom-in-down-enter-from,\\n.#{$namespace}-zoom-in-down-leave-to {\\n opacity: 0;\\n transform: scaleY(0);\\n}\\n\",\"@import './var.scss';\\n@import './icon.scss';\\n@import './btn.scss';\\n@import './scrollbar.scss';\\n@import './animation.scss';\\n\\n.#{$namespace}-datepicker {\\n position: relative;\\n display: inline-block;\\n width: 210px;\\n svg {\\n width: 1em;\\n height: 1em;\\n vertical-align: -0.15em;\\n fill: currentColor;\\n overflow: hidden;\\n }\\n}\\n\\n.#{$namespace}-datepicker-range {\\n width: 320px;\\n}\\n\\n.#{$namespace}-datepicker-inline {\\n width: auto;\\n}\\n\\n.#{$namespace}-input-wrapper {\\n position: relative;\\n .#{$namespace}-icon-clear {\\n display: none;\\n }\\n &:hover {\\n .#{$namespace}-icon-clear {\\n display: block;\\n }\\n .#{$namespace}-icon-clear + .#{$namespace}-icon-calendar {\\n display: none;\\n }\\n }\\n}\\n\\n.#{$namespace}-input {\\n display: inline-block;\\n box-sizing: border-box;\\n width: 100%;\\n height: 34px;\\n padding: 6px 30px;\\n padding-left: 10px;\\n font-size: 14px;\\n line-height: 1.4;\\n color: $input-color;\\n background-color: #fff;\\n border: 1px solid $input-border-color;\\n border-radius: $input-border-radius;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n\\n &:hover,\\n &:focus {\\n border-color: $input-hover-border-color;\\n }\\n &:disabled,\\n &.disabled {\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n border-color: $input-border-color;\\n cursor: not-allowed;\\n }\\n &:focus {\\n outline: none;\\n }\\n &::-ms-clear {\\n display: none;\\n }\\n}\\n\\n.#{$namespace}-icon-calendar,\\n.#{$namespace}-icon-clear {\\n position: absolute;\\n top: 50%;\\n right: 8px;\\n transform: translateY(-50%);\\n font-size: 16px;\\n line-height: 1;\\n color: rgba(0, 0, 0, 0.5);\\n vertical-align: middle;\\n}\\n\\n.#{$namespace}-icon-clear {\\n cursor: pointer;\\n &:hover {\\n color: rgba(0, 0, 0, 0.8);\\n }\\n}\\n\\n.#{$namespace}-datepicker-main {\\n font: 14px/1.5 'Helvetica Neue', Helvetica, Arial, 'Microsoft Yahei', sans-serif;\\n color: $default-color;\\n background-color: #fff;\\n border: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-popup {\\n position: absolute;\\n margin-top: 1px;\\n margin-bottom: 1px;\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n z-index: $popup-z-index;\\n}\\n\\n.#{$namespace}-datepicker-sidebar {\\n float: left;\\n box-sizing: border-box;\\n width: $sidebar-margin-left;\\n padding: 6px;\\n overflow: auto;\\n}\\n\\n.#{$namespace}-datepicker-sidebar + .#{$namespace}-datepicker-content {\\n margin-left: $sidebar-margin-left;\\n border-left: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-body {\\n position: relative;\\n user-select: none;\\n}\\n\\n.#{$namespace}-btn-shortcut {\\n display: block;\\n padding: 0 6px;\\n line-height: 24px;\\n}\\n\\n.#{$namespace}-range-wrapper {\\n display: flex;\\n @media (max-width: 750px) {\\n flex-direction: column;\\n }\\n}\\n\\n.#{$namespace}-datepicker-header {\\n padding: 6px 8px;\\n border-bottom: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-footer {\\n padding: 6px 8px;\\n text-align: right;\\n border-top: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-calendar {\\n box-sizing: border-box;\\n width: 248px;\\n padding: 6px 12px;\\n & + & {\\n border-left: 1px solid $border-color;\\n }\\n}\\n\\n.#{$namespace}-calendar-header {\\n box-sizing: border-box;\\n height: 34px;\\n line-height: 34px;\\n text-align: center;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-btn-icon-left,\\n.#{$namespace}-btn-icon-double-left {\\n float: left;\\n}\\n.#{$namespace}-btn-icon-right,\\n.#{$namespace}-btn-icon-double-right {\\n float: right;\\n}\\n\\n.#{$namespace}-calendar-header-label {\\n font-size: 14px;\\n}\\n\\n.#{$namespace}-calendar-decade-separator {\\n margin: 0 2px;\\n &:after {\\n content: '~';\\n }\\n}\\n\\n.#{$namespace}-calendar-content {\\n position: relative;\\n height: 224px;\\n box-sizing: border-box;\\n .cell {\\n cursor: pointer;\\n &:hover {\\n color: $calendar-hover-color;\\n background-color: $calendar-hover-background-color;\\n }\\n &.active {\\n color: $calendar-active-color;\\n background-color: $calendar-active-background-color;\\n }\\n &.in-range,\\n &.hover-in-range {\\n color: $calendar-in-range-color;\\n background-color: $calendar-in-range-background-color;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n }\\n}\\n\\n.#{$namespace}-calendar-week-mode {\\n .#{$namespace}-date-row {\\n cursor: pointer;\\n &:hover {\\n background-color: $calendar-hover-background-color;\\n }\\n &.#{$namespace}-active-week {\\n background-color: $calendar-in-range-background-color;\\n }\\n .cell {\\n &:hover {\\n color: inherit;\\n background-color: transparent;\\n }\\n &.active {\\n color: inherit;\\n background-color: transparent;\\n }\\n }\\n }\\n}\\n\\n.#{$namespace}-week-number {\\n opacity: 0.5;\\n}\\n\\n.#{$namespace}-table {\\n table-layout: fixed;\\n border-collapse: separate;\\n border-spacing: 0;\\n width: 100%;\\n height: 100%;\\n box-sizing: border-box;\\n text-align: center;\\n\\n th {\\n padding: 0;\\n font-weight: 500;\\n vertical-align: middle;\\n }\\n td {\\n padding: 0;\\n vertical-align: middle;\\n }\\n}\\n\\n.#{$namespace}-table-date {\\n td,\\n th {\\n height: 32px;\\n font-size: 12px;\\n }\\n\\n .today {\\n color: $today-color;\\n }\\n .cell.not-current-month {\\n color: #ccc;\\n background: none; // cover the in-range style\\n }\\n}\\n\\n.#{$namespace}-time {\\n flex: 1;\\n width: 224px;\\n background: #fff;\\n & + & {\\n border-left: 1px solid $border-color;\\n }\\n}\\n.#{$namespace}-calendar-time {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n.#{$namespace}-time-header {\\n @extend .#{$namespace}-calendar-header;\\n border-bottom: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-time-content {\\n height: 224px;\\n box-sizing: border-box;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-time-columns {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-time-column {\\n flex: 1;\\n position: relative;\\n border-left: 1px solid $border-color;\\n text-align: center;\\n\\n &:first-child {\\n border-left: 0;\\n }\\n .#{$namespace}-time-list {\\n margin: 0;\\n padding: 0;\\n list-style: none;\\n &::after {\\n content: '';\\n display: block;\\n height: 32 * 6px;\\n }\\n }\\n .#{$namespace}-time-item {\\n cursor: pointer;\\n font-size: 12px;\\n height: 32px;\\n line-height: 32px;\\n &:hover {\\n color: $time-hover-color;\\n background-color: $time-hover-background-color;\\n }\\n &.active {\\n color: $time-active-color;\\n background-color: $time-active-background-color;\\n font-weight: 700;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n }\\n}\\n\\n.#{$namespace}-time-option {\\n cursor: pointer;\\n padding: 8px 10px;\\n font-size: 14px;\\n line-height: 20px;\\n &:hover {\\n color: $time-hover-color;\\n background-color: $time-hover-background-color;\\n }\\n &.active {\\n color: $time-active-color;\\n background-color: $time-active-background-color;\\n font-weight: 700;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n$cell_height: 32px;\\n\\n@import '~vue2-datepicker/scss/index';\\n\\n.mx-datepicker[data-v-#{$scope_version}] {\\n\\tuser-select: none;\\n\\tcolor: var(--color-main-text);\\n\\n\\tsvg {\\n\\t\\tfill: var(--color-main-text);\\n\\t}\\n\\n\\t/* INPUT CONTAINER */\\n\\t.mx-input-wrapper {\\n\\t\\t// input\\n\\t\\t.mx-input {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tborder: 1px solid var(--color-border);\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tbackground-clip: content-box;\\n\\t\\t}\\n\\n\\t\\t&:disabled,\\n\\t\\t&.disabled {\\n\\t\\t\\tcursor: not-allowed;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t}\\n\\n\\t\\t.mx-icon-calendar,\\n\\t\\t.mx-icon-clear {\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\t}\\n}\\n\\n// Datepicker popup wrapper\\n.mx-datepicker-main {\\n\\tcolor: var(--color-main-text);\\n\\tborder: 1px solid var(--color-border);\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-family: var(--font-face) !important;\\n\\tline-height: 1.5;\\n\\n\\tsvg {\\n\\t\\tfill: var(--color-main-text);\\n\\t}\\n\\n\\t&.mx-datepicker-popup {\\n\\t\\tz-index: 2000;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\t.mx-datepicker-sidebar + .mx-datepicker-content {\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\t\\n\\t&.show-week-number .mx-calendar {\\n\\t\\twidth: $cell_height * 8 + 2 * 5px; // week number + 7 days + padding\\n\\t}\\n\\n\\t.mx-datepicker-header {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t.mx-datepicker-footer {\\n\\t\\tborder-top: 1px solid var(--color-border);\\n\\t}\\n\\n\\t// default popup styles\\n\\t.mx-calendar {\\n\\t\\twidth: $cell_height * 7 + 2 * 5px; // 7 days + padding\\n\\t\\tpadding: 5px;\\n\\t\\t&.mx-calendar-week-mode {\\n\\t\\t\\twidth: $cell_height * 8 + 2 * 5px; // week number + 7 days + padding\\n\\t\\t}\\n\\t}\\n\\n\\t.mx-time + .mx-time,\\n\\t.mx-calendar + .mx-calendar {\\n\\t\\tborder-left: 1px solid var(--color-border);\\n\\t}\\n\\n\\t.mx-range-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\toverflow: hidden;\\n\\n\\t\\t// first active cell, range style on day picker panel only\\n\\t\\t.mx-calendar-content .mx-table-date .cell {\\n\\t\\t\\t&.active {\\n\\t\\t\\t\\tborder-radius: var(--border-radius) 0 0 var(--border-radius);\\n\\t\\t\\t}\\n\\t\\t\\t// second selected cell\\n\\t\\t\\t&.in-range + .cell.active {\\n\\t\\t\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Various panels\\n\\t.mx-table {\\n\\t\\ttext-align: center;\\n\\n\\t\\tthead > tr > th {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\n\\t\\t// Override table rule from server\\n\\t\\ttr:focus,\\n\\t\\ttr:hover,\\n\\t\\ttr:active {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\n\\t\\t// regular cell style\\n\\t\\t.cell {\\n\\t\\t\\ttransition: all 100ms ease-in-out;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: 50px;\\n\\n\\t\\t\\t// force pointer on all content\\n\\t\\t\\t> * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Selected and mouse event\\n\\t\\t\\t&.today {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.in-range,\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t}\\n\\t\\t\\t&.in-range {\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t\\t&.not-current-month {\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// hover-/focus after the other rules\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&.actived,\\n\\t\\t\\t&.active,\\n\\t\\t\\t&.in-range {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-week-number {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: 50px;\\n\\t\\t}\\n\\n\\t\\t// cell that are not in a table\\n\\t\\tspan.mx-week-number,\\n\\t\\tli.mx-week-number,\\n\\t\\tspan.cell,\\n\\t\\tli.cell {\\n\\t\\t\\tmin-height: $cell_height;\\n\\t\\t}\\n\\n\\t\\t// Standard grid/flex layout for day/month/year panels\\n\\t\\t&.mx-table-date thead,\\n\\t\\t&.mx-table-date tbody,\\n\\t\\t&.mx-table-year,\\n\\t\\t&.mx-table-month {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\tjustify-content: space-around;\\n\\t\\t\\ttr {\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tflex: 1 1 $cell_height;\\n\\t\\t\\t\\tjustify-content: space-around;\\n\\t\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\t}\\n\\t\\t\\t// Default cell style\\n\\t\\t\\tth,\\n\\t\\t\\ttd {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t// 3 rows with a little spacing\\n\\t\\t\\t\\tflex: 0 1 32%;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tmin-width: $cell_height;\\n\\t\\t\\t\\t// spacing between rows\\n\\t\\t\\t\\theight: 95%;\\n\\t\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\t\\ttransition: background 100ms ease-in-out;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&.mx-table-year {\\n\\t\\t\\ttr th,\\n\\t\\t\\ttr td {\\n\\t\\t\\t\\t// only two rows in year panel\\n\\t\\t\\t\\tflex-basis: 48%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&.mx-table-date {\\n\\t\\t\\ttr th,\\n\\t\\t\\ttr td {\\n\\t\\t\\t\\t// only two rows in year panel\\n\\t\\t\\t\\tflex-basis: $cell_height;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// default buttons: header...\\n\\t.mx-btn {\\n\\t\\tmin-width: $cell_height;\\n\\t\\theight: $cell_height;\\n\\t\\tmargin: 0 auto; // center also single element\\n\\t\\tpadding: 7px 10px;\\n\\t\\tcursor: pointer;\\n\\t\\ttext-decoration: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder-radius: $cell_height;\\n\\t\\tline-height: $cell_height - 12px; // padding minus 2px for better visual\\n\\t\\t// Mouse feedback\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t}\\n\\t}\\n\\n\\t// Header, arrows, years, months\\n\\t.mx-calendar-header {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: space-between;\\n\\t\\twidth: 100%;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin-bottom: 4px;\\n\\n\\t\\tbutton {\\n\\t\\t\\tmin-width: $cell_height;\\n\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\ttext-decoration: none;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-radius: $cell_height;\\n\\t\\t\\tline-height: $cell_height - 12px; // padding minus 2px for better visual\\n\\n\\t\\t\\t// Mouse feedback\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Header arrows\\n\\t\\t\\t&.mx-btn-icon-double-left,\\n\\t\\t\\t&.mx-btn-icon-left,\\n\\t\\t\\t&.mx-btn-icon-right,\\n\\t\\t\\t&.mx-btn-icon-double-right {\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\twidth: $cell_height;\\n\\t\\t\\t\\tpadding: 0; // leave the centering to flex\\n\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\tbackground-size: 16px;\\n\\t\\t\\t\\tbackground-position: center;\\n\\n\\t\\t\\t\\t// Hide original icons\\n\\t\\t\\t\\t> i {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-calendar-header-label {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-double-left {\\n\\t\\t\\tbackground-image: url('./chevron-double-left.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-double-left-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-left {\\n\\t\\t\\tbackground-image: url('./chevron-left.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-left-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-right {\\n\\t\\t\\tbackground-image: url('./chevron-right.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-right-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-double-right {\\n\\t\\t\\tbackground-image: url('./chevron-double-right.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-double-right-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tbutton.mx-btn-icon-right {\\n\\t\\t\\torder: 2;\\n\\t\\t}\\n\\n\\t\\tbutton.mx-btn-icon-double-right {\\n\\t\\t\\torder: 3;\\n\\t\\t}\\n\\t}\\n\\n\\t// Week panel\\n\\t.mx-calendar-week-mode {\\n\\t\\t// move focus on row and not on cell\\n\\t\\t.mx-date-row {\\n\\t\\t\\t.mx-week-number {\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&.mx-active-week {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tborder-radius: 50px;\\n\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\ttd {\\n\\t\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\t\\t&, &:hover, &:focus {\\n\\t\\t\\t\\t\\t\\tcolor: inherit;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.mx-active-week {\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\t// Remove cell feedback on selected rows\\n\\t\\t\\t\\ttd {\\n\\t\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Time panel\\n\\t.mx-time {\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\t.mx-time-header {\\n\\t\\t\\t// only one button, center it\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\t.mx-time-column {\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\t.mx-time-option,\\n\\t\\t.mx-time-item {\\n\\t\\t\\t&.active,\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\tcursor: not-allowed;\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=g},5850:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-17fd6e1]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-17fd6e1]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-17fd6e1].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-17fd6e1].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-17fd6e1].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-17fd6e1].multiselect--disabled,.multiselect[data-v-17fd6e1].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-17fd6e1].icon-loading-small::after{left:100%;margin-left:-24px}.multiselect[data-v-17fd6e1] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:1px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:3px;min-height:34px;height:100%}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:3px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:2px 1px}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__single,.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__single,.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__single *,.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__strong,.multiselect[data-v-17fd6e1] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-17fd6e1] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;height:100% !important;border:none;cursor:pointer;padding:7px 6px !important;display:none}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:transparent}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li,.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:transparent;color:var(--color-text-lighter);width:100%}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li>span::before{content:' ';background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-17fd6e1] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-17fd6e1].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-17fd6e1].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-17fd6e1].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-000)}.multiselect[data-v-17fd6e1].multiselect--multiple .multiselect__content-wrapper li>span[data-select='create']::before{background-image:var(--icon-add-000);visibility:visible}.multiselect[data-v-17fd6e1].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-17fd6e1]:hover .multiselect__placeholder,.multiselect[data-v-17fd6e1] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Multiselect/index.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCJxB,6BACC,QAAS,CACT,oBAAqB,CACrB,oBAAqB,CAErB,eAAgB,CAChB,iBAAkB,CAClB,6CAA8C,CAP/C,4EAWE,UAAW,CACX,oBAAqB,CAZvB,0EAoBG,oBAAiC,CACjC,sBAAuB,CAEvB,2DAA4D,CAC5D,wBAAyB,CAxB5B,qEA6BG,YAAa,CA7BhB,6FAoCG,2DAA4D,CApC/D,2HA2CE,wDAAyD,CA3C3D,uDAgDE,SAAU,CACV,iBAAkB,CAjDpB,gDAwDE,YAAa,CACb,gBAAiB,CACjB,eAAgB,CAChB,yCAA0C,CAC1C,cAAe,CACf,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,WAAY,CAhEd,wEAoEG,kBAAmB,CACnB,mBAAoB,CACpB,eAAgB,CAChB,cAAe,CACf,iBAAkB,CAClB,eAlBkB,CAmBlB,QAAS,CACT,gBAAiB,CA3EpB,yGA+EI,oBAAiC,CACjC,wBAAyB,CAhF7B,wIAqFK,YAAa,CArFlB,0FA0FI,gBAAiB,CACjB,eAAgB,CAChB,qBAAsB,CACtB,4BAA6B,CAC7B,yCAA0C,CAC1C,mBAAoB,CACpB,kBAAmB,CACnB,iBAAkB,CAGlB,WAAY,CACZ,qBAAsB,CACtB,0BAA2B,CAC3B,cAAe,CAvGnB,qGA2GK,aAAc,CA3GnB,2GA8GK,gBAvDgB,CAvDrB,+FAmHK,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CArHrB,+IA8HG,eAAgB,CAChB,aAAc,CACd,SAAU,CACV,6CAA8C,CAC9C,gBAAiB,CACjB,+BAAgC,CAEhC,YAAa,CACb,kBAAmB,CAtItB,kSA0II,cAAe,CA1InB,yIAgJG,gBAAiB,CACjB,+BAAgC,CAChC,mBAAoB,CACpB,kBAAmB,CACnB,UC7GgB,CD8GhB,gBA9FkB,CAgGlB,SAAU,CAvJb,yEA2JG,qBAAsB,CACtB,4BAA6B,CAC7B,QAAS,CACT,SAAU,CAEV,sBAAuB,CACvB,WAAY,CAGZ,cAAe,CAEf,0BAA2B,CAC3B,YAAa,CAvKhB,2DA6KE,iBAAkB,CAClB,UAAW,CACX,eAAgB,CAChB,yCAA0C,CAC1C,uCAAwC,CACxC,UAAW,CACX,gBAAiB,CACjB,eAAgB,CAChB,2DAA4D,CArL9D,iFAuLG,UAAW,CACX,SAAU,CAxLb,8DA2LG,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,4BAA6B,CA9LhC,iIAiMI,cAAe,CAjMnB,mEAoMI,WAAY,CACZ,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,QAAS,CACT,WAAY,CACZ,cAAe,CACf,0BAA2B,CAC3B,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,mBAAoB,CACpB,kBAAmB,CACnB,4BAA6B,CAC7B,+BAAgC,CAChC,UAAW,CApNf,2EAuNK,WAAY,CACZ,2BAA4B,CAC5B,0BAA2B,CAC3B,cAAe,CACf,eAAgB,CAChB,aAAc,CACd,UCvLgB,CDwLhB,gBAAiB,CACjB,iBAAkB,CA/NvB,iGAkOK,6CAA8C,CAC9C,UC7LgB,CDtCrB,kGAsOK,4BAA6B,CAC7B,6CAA8C,CAvOnD,qHA0OK,UAAW,CA1OhB,8NA+OM,kBAAmB,CA/OzB,8EAuPE,WAAY,CACZ,kBAAmB,CAxPrB,sEA+PG,cAAe,CA/PlB,iGAoQI,0CAA2C,CApQ/C,uHA2QK,oCAAqC,CACrC,kBAAmB,CA5QxB,+FAoRE,YAAa,CApRf,6IA2RG,4BAA6B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 160px;\\n\\tposition: relative;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t&.icon-loading-small::after {\\n\\t\\tleft: 100%;\\n\\t\\tmargin-left: -24px;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: 3px;\\n\\t\\tmin-height: 34px;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 3px $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 3px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin: 2px 1px;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:last-child) {\\n\\t\\t\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tpadding: 7px 6px; // like the input\\n\\t\\t\\tflex: 0 0 100%;\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\tposition: relative !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\t/* let's leave it on top of tags but hide it */\\n\\t\\t\\theight: 100% !important;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tpadding: 7px 6px !important;\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-000);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-000);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},6051:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-17fd6e1]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-17fd6e1][x-placement^='top'] .tooltip-arrow{bottom:0;border-bottom-width:0;border-top-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1][x-placement^='bottom'] .tooltip-arrow{top:0;border-top-width:0;border-bottom-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1][x-placement^='right'] .tooltip-arrow{right:100%;border-left-width:0;border-right-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1][x-placement^='left'] .tooltip-arrow{left:100%;border-right-width:0;border-left-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-17fd6e1][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-17fd6e1] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-17fd6e1] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:transparent;border-width:10px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/directives/Tooltip/index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAoBE,QAAS,CACT,qBAAsB,CACtB,6CAA8C,CAtBhD,mEA2BE,KAAM,CACN,kBAAmB,CACnB,gDAAiD,CA7BnD,kEAkCE,UAAW,CACX,mBAAoB,CACpB,+CAAgD,CApClD,iEAyCE,SAAU,CACV,oBAAqB,CACrB,8CAA+C,CA3CjD,iDAgDE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CAlDZ,kDAqDE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CAvDZ,4CA4DE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAjEhD,4CAsEE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,wBAAyB,CACzB,iBA/EgB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ \\n* @copyright Copyright (c) 2016, Robin Appelman \\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt \\n* @copyright Copyright (c) 2016, Erik Pellikka \\n* @copyright Copyright (c) 2015, Vincent Petry \\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] .tooltip-arrow {\\n\\t\\tbottom: 0;\\n\\t\\tborder-bottom-width: 0;\\n\\t\\tborder-top-color: var(--color-main-background);\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] .tooltip-arrow {\\n\\t\\ttop: 0;\\n\\t\\tborder-top-width: 0;\\n\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] .tooltip-arrow {\\n\\t\\tright: 100%;\\n\\t\\tborder-left-width: 0;\\n\\t\\tborder-right-color: var(--color-main-background);\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] .tooltip-arrow {\\n\\t\\tleft: 100%;\\n\\t\\tborder-right-width: 0;\\n\\t\\tborder-left-color: var(--color-main-background);\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: $arrow-width;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},7087:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-ef50c406]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-ef50c406]{background-color:var(--color-background-hover)}.action--disabled[data-v-ef50c406]{pointer-events:none;opacity:.5}.action--disabled[data-v-ef50c406]:hover,.action--disabled[data-v-ef50c406]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-ef50c406]{opacity:1 !important}.action-button[data-v-ef50c406]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-ef50c406]:hover,.action-button[data-v-ef50c406]:focus{opacity:1}.action-button>span[data-v-ef50c406]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-ef50c406]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-ef50c406] .material-design-icon{width:44px;height:44px;opacity:1}.action-button[data-v-ef50c406] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button p[data-v-ef50c406]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-ef50c406]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-ef50c406]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CACrB,gCAOD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,4EA2BE,SC9Ba,CDGf,qCA+BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,sDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,iFAkDG,qBAAsB,CAlDzB,kCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAAgD,CAEhD,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},6429:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-2fd4f3eb]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-caption[data-v-2fd4f3eb]{color:var(--color-text-maxcontrast);line-height:44px;white-space:nowrap;text-overflow:ellipsis;box-shadow:none !important;user-select:none;pointer-events:none;margin-left:12px;padding-right:14px;height:44px;display:flex;align-items:center}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/ActionCaption/ActionCaption.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8CxB,yCACC,mCAAoC,CACpC,gBC/BoB,CDgCpB,kBAAmB,CACnB,sBAAuB,CACvB,0BAA2B,CAC3B,gBAAiB,CACjB,mBAAoB,CACpB,gBAAiB,CACjB,kBAAmB,CACnB,WCvCoB,CDwCpB,YAAa,CACb,kBAAmB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-caption {\\n\\tcolor: var(--color-text-maxcontrast);\\n\\tline-height: $clickable-area;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tbox-shadow: none !important;\\n\\tuser-select: none;\\n\\tpointer-events: none;\\n\\tmargin-left: 12px;\\n\\tpadding-right: 14px;\\n\\theight: $clickable-area;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},4105:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-cae5b47a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-cae5b47a]{background-color:var(--color-background-hover)}.action--disabled[data-v-cae5b47a]{pointer-events:none;opacity:.5}.action--disabled[data-v-cae5b47a]:hover,.action--disabled[data-v-cae5b47a]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-cae5b47a]{opacity:1 !important}.action-checkbox[data-v-cae5b47a]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;line-height:44px}.action-checkbox__checkbox[data-v-cae5b47a]{position:absolute;top:auto;left:-10000px;overflow:hidden;width:1px;height:1px}.action-checkbox__checkbox:focus+.action-checkbox__label[data-v-cae5b47a]{opacity:1}.action-checkbox__label[data-v-cae5b47a]{display:flex;align-items:center;width:100%;padding:0 !important;padding-right:14px !important;opacity:.7}.action-checkbox__label[data-v-cae5b47a]::before{margin:0 14px 0 !important}.action-checkbox--disabled[data-v-cae5b47a],.action-checkbox--disabled .action-checkbox__label[data-v-cae5b47a]{cursor:pointer}.action-checkbox:not(.action-checkbox--disabled):hover .action-checkbox__label[data-v-cae5b47a],.action-checkbox:not(.action-checkbox--disabled):focus .action-checkbox__label[data-v-cae5b47a]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\",\"webpack://./src/components/ActionCheckbox/ActionCheckbox.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CEsHxB,kCACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,gBDxJoB,CC2JpB,4CACC,iBAAkB,CAClB,QAAS,CACT,aAAc,CAEd,eAAgB,CAEhB,SAAU,CACV,UAAW,CARX,0EAUC,SDlJa,CCmJb,yCAID,YAAa,CACb,kBAAmB,CAEnB,UAAW,CACX,oBAAqB,CACrB,6BAAsC,CAEtC,UD/JiB,CCuJjB,iDAYC,0BAA2B,CAC3B,gHAMA,cAAe,CAvDlB,gMA8DG,SDhLa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n.action-checkbox {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t/* checkbox/radio fixes */\\n\\t&__checkbox {\\n\\t\\tposition: absolute;\\n\\t\\ttop: auto;\\n\\t\\tleft: -10000px;\\n\\n\\t\\toverflow: hidden;\\n\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\t&:focus + .action-checkbox__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center; // align checkbox to text\\n\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 !important;\\n\\t\\tpadding-right: $icon-margin !important;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\t// checkbox-width is 12px, border is 2\\n\\t\\t// (44 - 14 - 2) / 2 = 14\\n\\t\\t&::before {\\n\\t\\t\\tmargin: 0 14px 0 !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\t&,\\n\\t\\t.action-checkbox__label {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.action-checkbox--disabled):hover,\\n\\t&:not(.action-checkbox--disabled):focus {\\n\\t\\t.action-checkbox__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},3949:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-3a716b2a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button[data-v-3a716b2a]:not(.button-vue),input[data-v-3a716b2a]:not([type='range']),textarea[data-v-3a716b2a]{margin:0;padding:7px 6px;cursor:text;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-size:13px}button[data-v-3a716b2a]:not(.button-vue):not(:disabled):not(.primary):hover,button[data-v-3a716b2a]:not(.button-vue):not(:disabled):not(.primary):focus,button:not(.button-vue):not(:disabled):not(.primary).active[data-v-3a716b2a],input[data-v-3a716b2a]:not([type='range']):not(:disabled):not(.primary):hover,input[data-v-3a716b2a]:not([type='range']):not(:disabled):not(.primary):focus,input:not([type='range']):not(:disabled):not(.primary).active[data-v-3a716b2a],textarea[data-v-3a716b2a]:not(:disabled):not(.primary):hover,textarea[data-v-3a716b2a]:not(:disabled):not(.primary):focus,textarea:not(:disabled):not(.primary).active[data-v-3a716b2a]{border-color:var(--color-primary-element);outline:none}button[data-v-3a716b2a]:not(.button-vue):not(:disabled):not(.primary):active,input[data-v-3a716b2a]:not([type='range']):not(:disabled):not(.primary):active,textarea[data-v-3a716b2a]:not(:disabled):not(.primary):active{color:var(--color-text-light);outline:none;background-color:var(--color-main-background)}button[data-v-3a716b2a]:not(.button-vue):disabled,input[data-v-3a716b2a]:not([type='range']):disabled,textarea[data-v-3a716b2a]:disabled{cursor:default;opacity:.5;color:var(--color-text-maxcontrast);background-color:var(--color-background-dark)}button[data-v-3a716b2a]:not(.button-vue):required,input[data-v-3a716b2a]:not([type='range']):required,textarea[data-v-3a716b2a]:required{box-shadow:none}button[data-v-3a716b2a]:not(.button-vue):invalid,input[data-v-3a716b2a]:not([type='range']):invalid,textarea[data-v-3a716b2a]:invalid{border-color:var(--color-error);box-shadow:none !important}button:not(.button-vue).primary[data-v-3a716b2a],input:not([type='range']).primary[data-v-3a716b2a],textarea.primary[data-v-3a716b2a]{cursor:pointer;color:var(--color-primary-text);border-color:var(--color-primary-element);background-color:var(--color-primary-element)}button:not(.button-vue).primary[data-v-3a716b2a]:not(:disabled):hover,button:not(.button-vue).primary[data-v-3a716b2a]:not(:disabled):focus,button:not(.button-vue).primary[data-v-3a716b2a]:not(:disabled):active,input:not([type='range']).primary[data-v-3a716b2a]:not(:disabled):hover,input:not([type='range']).primary[data-v-3a716b2a]:not(:disabled):focus,input:not([type='range']).primary[data-v-3a716b2a]:not(:disabled):active,textarea.primary[data-v-3a716b2a]:not(:disabled):hover,textarea.primary[data-v-3a716b2a]:not(:disabled):focus,textarea.primary[data-v-3a716b2a]:not(:disabled):active{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}button:not(.button-vue).primary[data-v-3a716b2a]:not(:disabled):active,input:not([type='range']).primary[data-v-3a716b2a]:not(:disabled):active,textarea.primary[data-v-3a716b2a]:not(:disabled):active{color:var(--color-primary-text-dark)}button:not(.button-vue).primary[data-v-3a716b2a]:disabled,input:not([type='range']).primary[data-v-3a716b2a]:disabled,textarea.primary[data-v-3a716b2a]:disabled{cursor:default;color:var(--color-primary-text-dark);background-color:var(--color-primary-element)}li.active[data-v-3a716b2a]{background-color:var(--color-background-hover)}.action--disabled[data-v-3a716b2a]{pointer-events:none;opacity:.5}.action--disabled[data-v-3a716b2a]:hover,.action--disabled[data-v-3a716b2a]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-3a716b2a]{opacity:1 !important}.action-input[data-v-3a716b2a]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal}.action-input[data-v-3a716b2a] .material-design-icon{width:44px;height:44px;opacity:1}.action-input[data-v-3a716b2a] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-input[data-v-3a716b2a]:not(.action-input--picker){opacity:.7}.action-input[data-v-3a716b2a]:not(.action-input--picker):hover,.action-input[data-v-3a716b2a]:not(.action-input--picker):focus{opacity:1}.action-input--picker .action-input__icon[data-v-3a716b2a]{opacity:.7}.action-input--picker:hover .action-input__icon[data-v-3a716b2a],.action-input--picker:focus .action-input__icon[data-v-3a716b2a]{opacity:1}.action-input>span[data-v-3a716b2a]{cursor:pointer;white-space:nowrap}.action-input__icon[data-v-3a716b2a]{min-width:0;min-height:0;padding:22px 0 22px 44px;background-position:14px center;background-size:16px}.action-input__form[data-v-3a716b2a]{display:flex;align-items:center;flex:1 1 auto;margin:4px 0;padding-right:14px}.action-input__submit[data-v-3a716b2a]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.action-input__label[data-v-3a716b2a]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;box-sizing:border-box;margin:0 0 0 -8px;padding:7px 6px;opacity:1;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-left-color:transparent;border-radius:0 var(--border-radius) var(--border-radius) 0;background-color:var(--color-main-background);background-clip:padding-box}.action-input__label[data-v-3a716b2a],.action-input__label *[data-v-3a716b2a]{cursor:pointer}.action-input__input[data-v-3a716b2a]{flex:1 1 auto;min-width:132px;min-height:36px;max-height:36px;margin:0}.action-input__input[data-v-3a716b2a]:disabled{cursor:default}.action-input__input:not(:active):not(:hover):not(:focus):invalid+.action-input__label[data-v-3a716b2a]{border-color:var(--color-error);border-left-color:transparent}.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-3a716b2a]:active,.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-3a716b2a]:hover,.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-3a716b2a]:focus{border-color:var(--color-primary-element);border-radius:var(--border-radius)}.action-input__input:active:not(:disabled)+.action-input__label[data-v-3a716b2a],.action-input__input:hover:not(:disabled)+.action-input__label[data-v-3a716b2a],.action-input__input:focus:not(:disabled)+.action-input__label[data-v-3a716b2a]{z-index:2;border-color:var(--color-primary-element);border-left-color:transparent}.action-input__picker[data-v-3a716b2a] .mx-input{margin:0}.action-input__multi[data-v-3a716b2a]{width:100%}li:last-child>.action-input[data-v-3a716b2a]{padding-bottom:10px}li:first-child>.action-input[data-v-3a716b2a]{padding-top:10px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/inputs.scss\",\"webpack://./src/assets/variables.scss\",\"webpack://./src/assets/action.scss\",\"webpack://./src/components/ActionInput/ActionInput.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,8GCuBA,QAAS,CACT,eAAgB,CAEhB,WAAY,CAEZ,+BAAgC,CAChC,yCAA0C,CAC1C,kCAAmC,CACnC,YAAa,CACb,6CAA8C,CAE9C,cAAe,CAdhB,woBAqBG,yCAA0C,CAC1C,YAAa,CAtBhB,0NA0BG,6BAA8B,CAC9B,YAAa,CACb,6CAA8C,CA5BjD,yIAiCE,cAAe,CACf,UCrBmB,CDsBnB,mCAAoC,CACpC,6CAA8C,CApChD,yIAwCE,eAAgB,CAxClB,sIA4CE,+BAAgC,CAChC,0BAA2B,CA7C7B,sIAkDE,cAAe,CACf,+BAAgC,CAChC,yCAA0C,CAC1C,6CAA8C,CArDhD,klBA2DI,+CAAgD,CAChD,mDAAoD,CA5DxD,wMA+DI,oCAAqC,CA/DzC,iKAoEG,cAAe,CACf,oCAAqC,CAErC,6CAA8C,CAC9C,2BE3EA,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UDQmB,CCVpB,kFAIE,cAAe,CACf,UDKkB,CCVpB,qCAQE,oBAAqB,CCiOxB,+BACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CAlBpB,qDAqBE,UFrQmB,CEsQnB,WFtQmB,CEuQnB,SFpPc,CE6NhB,gFA0BG,qBAAsB,CA1BzB,0DAgCE,UF9PiB,CE8NnB,gIAmCG,SFhQa,CEiQb,2DAMA,UFxQgB,CEsQjB,kIAMC,SF3Qa,CE6NhB,oCAmDE,cAAe,CACf,kBAAmB,CACnB,qCAGA,WAAY,CACZ,YAAa,CAGb,wBF5SmB,CE8SnB,+BAA2C,CAC3C,oBF3Sc,CE4Sd,qCAIA,YAAa,CACb,kBAAmB,CACnB,aAAc,CAEd,YAAuB,CACvB,kBFjT8C,CEkT9C,uCAGA,iBAAkB,CAClB,aAAc,CACd,QAAS,CACT,SAAU,CACV,UAAW,CACX,eAAgB,CAChB,sCAGA,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CAEvB,UAAO,CACP,WAAQ,CACR,qBAAsB,CACtB,iBAAkB,CAClB,eAAgB,CAEhB,SF7Tc,CE8Td,+BAAgC,CAChC,yCAA0C,CAC1C,6BAA8B,CAC9B,2DAA4D,CAE5D,6CAA8C,CAC9C,2BAA4B,CAlB5B,8EAqBC,cAAe,CACf,sCAKD,aAAc,CAEd,eAA8B,CAC9B,eAAY,CACZ,eAAY,CACZ,QAAS,CANT,+CAUC,cAAe,CAVhB,wGAiBG,+BAAgC,CAChC,6BAA8B,CAlBjC,gWAyBG,yCAA0C,CAC1C,kCAAmC,CA1BtC,iPAmCE,SAAU,CAEV,yCAA0C,CAC1C,6BAA8B,CAC9B,iDAMD,QAAS,CACT,sCAID,UAAW,CACX,6CAOD,mBAA4C,CAC5C,8CAIA,gBAAyC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n\\n/* Default global values */\\nbutton:not(.button-vue),\\ninput:not([type='range']),\\ntextarea {\\n\\tmargin: 0;\\n\\tpadding: 7px 6px;\\n\\n\\tcursor: text;\\n\\n\\tcolor: var(--color-text-lighter);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\tfont-size: 13px;\\n\\n\\t&:not(:disabled):not(.primary) {\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&.active {\\n\\t\\t\\t/* active class used for multiselect */\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\toutline: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&:required {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&:invalid {\\n\\t\\tborder-color: var(--color-error);\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t/* Primary action button, use sparingly */\\n\\t&.primary {\\n\\t\\tcursor: pointer;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tborder-color: var(--color-primary-element);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\n\\t\\t&:not(:disabled) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t}\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t// opacity is already defined to .5 if disabled\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/inputs';\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n$input-margin: 4px;\\n\\n.action-input {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_full;\\n\\n\\t\\t.material-design-icon__svg {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n\\n\\t// do not change the opacity of the datepicker\\n\\t&:not(.action-input--picker) {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t// only change for the icon then\\n\\t&--picker {\\n\\t\\t.action-input__icon {\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t}\\n\\t\\t&:hover .action-input__icon,\\n\\t\\t&:focus .action-input__icon {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t& > span {\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\tmin-height: 0;\\n\\t\\t/* Keep padding to define the width to\\n\\t\\t\\tassure correct position of a possible text */\\n\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\n\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\tbackground-size: $icon-size;\\n\\t}\\n\\n\\t// Forms & text inputs\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmargin: $input-margin 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute;\\n\\t\\tleft: -10000px;\\n\\t\\ttop: auto;\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\n\\t\\twidth: #{$clickable-area - $input-margin * 2};\\n\\t\\theight: #{$clickable-area - $input-margin * 2};\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0 0 0 -8px;\\n\\t\\tpadding: 7px 6px;\\n\\n\\t\\topacity: $opacity_full;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tborder-left-color: transparent;\\n\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\\n\\t\\t/* Avoid background under border */\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-clip: padding-box;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Inputs inside popover supports text, submit & reset */\\n\\t&__input {\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmin-width: $clickable-area * 3;\\n\\t\\tmin-height: #{$clickable-area - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmax-height: #{$clickable-area - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmargin: 0;\\n\\n\\t\\t// if disabled, change cursor\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t/* only show confirm borders if input is not focused */\\n\\t\\t&:not(:active):not(:hover):not(:focus) {\\n\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t& + .action-input__label {\\n\\t\\t\\t\\t\\tborder-color: var(--color-error);\\n\\t\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(:disabled) + .action-input__label {\\n\\t\\t\\t\\t&:active,\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:active,\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\t&:not(:disabled) + .action-input__label {\\n\\t\\t\\t\\t/* above previous input */\\n\\t\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__picker::v-deep {\\n\\t\\t.mx-input {\\n\\t\\t\\tmargin: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&__multi {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n// if a form is the last of the list\\n// add the same bottomMargin as the right padding\\n// for visual balance\\nli:last-child > .action-input {\\n\\tpadding-bottom: $icon-margin - $input-margin;\\n}\\n\\n// same for first item\\nli:first-child > .action-input {\\n\\tpadding-top: $icon-margin - $input-margin;\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},4975:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-c8248868]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-c8248868]{background-color:var(--color-background-hover)}.action-link[data-v-c8248868]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-link[data-v-c8248868]:hover,.action-link[data-v-c8248868]:focus{opacity:1}.action-link>span[data-v-c8248868]{cursor:pointer;white-space:nowrap}.action-link__icon[data-v-c8248868]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-link[data-v-c8248868] .material-design-icon{width:44px;height:44px;opacity:1}.action-link[data-v-c8248868] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-link p[data-v-c8248868]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-link__longtext[data-v-c8248868]{cursor:pointer;white-space:pre-wrap}.action-link__title[data-v-c8248868]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,8BAqBD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,wEA2BE,SC9Ba,CDGf,mCA+BE,cAAe,CACf,kBAAmB,CACnB,oCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,oDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,+EAkDG,qBAAsB,CAlDzB,gCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAAgD,CAEhD,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,wCAGA,cAAe,CAEf,oBAAqB,CACrB,qCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},8631:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-9e294d1a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-9e294d1a]{background-color:var(--color-background-hover)}.action--disabled[data-v-9e294d1a]{pointer-events:none;opacity:.5}.action--disabled[data-v-9e294d1a]:hover,.action--disabled[data-v-9e294d1a]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-9e294d1a]{opacity:1 !important}.action-radio[data-v-9e294d1a]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;line-height:44px}.action-radio__radio[data-v-9e294d1a]{position:absolute;top:auto;left:-10000px;overflow:hidden;width:1px;height:1px}.action-radio__radio:focus+.action-radio__label[data-v-9e294d1a]{opacity:1}.action-radio__label[data-v-9e294d1a]{display:flex;align-items:center;width:100%;padding:0 !important;padding-right:14px !important;opacity:.7}.action-radio__label[data-v-9e294d1a]::before{margin:0 14px 0 !important}.action-radio--disabled[data-v-9e294d1a],.action-radio--disabled .action-radio__label[data-v-9e294d1a]{cursor:pointer}.action-radio:not(.action-radio--disabled):hover .action-radio__label[data-v-9e294d1a],.action-radio:not(.action-radio--disabled):focus .action-radio__label[data-v-9e294d1a]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\",\"webpack://./src/components/ActionRadio/ActionRadio.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CEmHxB,+BACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,gBDrJoB,CCwJpB,sCACC,iBAAkB,CAClB,QAAS,CACT,aAAc,CAEd,eAAgB,CAEhB,SAAU,CACV,UAAW,CARX,iEAUC,SD/Ia,CCgJb,sCAID,YAAa,CACb,kBAAmB,CAEnB,UAAW,CACX,oBAAqB,CACrB,6BAAsC,CAEtC,UD5JiB,CCoJjB,8CAYC,0BAA2B,CAC3B,uGAMA,cAAe,CAvDlB,8KA8DG,SD7Ka\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n.action-radio {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t/* checkbox/radio fixes */\\n\\t&__radio {\\n\\t\\tposition: absolute;\\n\\t\\ttop: auto;\\n\\t\\tleft: -10000px;\\n\\n\\t\\toverflow: hidden;\\n\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\t&:focus + .action-radio__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center; // align radio to text\\n\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 !important;\\n\\t\\tpadding-right: $icon-margin !important;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\t// radio-width is 12px, border is 2\\n\\t\\t// (44 - 14 - 2) / 2 = 14\\n\\t\\t&::before {\\n\\t\\t\\tmargin: 0 14px 0 !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\t&,\\n\\t\\t.action-radio__label {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.action-radio--disabled):hover,\\n\\t&:not(.action-radio--disabled):focus {\\n\\t\\t.action-radio__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},8477:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-0dbcc9ff]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-0dbcc9ff]{background-color:var(--color-background-hover)}.action-router[data-v-0dbcc9ff]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-router[data-v-0dbcc9ff]:hover,.action-router[data-v-0dbcc9ff]:focus{opacity:1}.action-router>span[data-v-0dbcc9ff]{cursor:pointer;white-space:nowrap}.action-router__icon[data-v-0dbcc9ff]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-router[data-v-0dbcc9ff] .material-design-icon{width:44px;height:44px;opacity:1}.action-router[data-v-0dbcc9ff] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-router p[data-v-0dbcc9ff]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-router__longtext[data-v-0dbcc9ff]{cursor:pointer;white-space:pre-wrap}.action-router__title[data-v-0dbcc9ff]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action--disabled[data-v-0dbcc9ff]{pointer-events:none;opacity:.5}.action--disabled[data-v-0dbcc9ff]:hover,.action--disabled[data-v-0dbcc9ff]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-0dbcc9ff]{opacity:1 !important}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,gCAqBD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,4EA2BE,SC9Ba,CDGf,qCA+BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,sDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,iFAkDG,qBAAsB,CAlDzB,kCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAAgD,CAEhD,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB,CAjGvB,mCACC,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},2103:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-5339ba06]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-separator[data-v-5339ba06]{height:0;margin:5px 10px 5px 15px;border-bottom:1px solid var(--color-border-dark);cursor:default}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/ActionSeparator/ActionSeparator.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC6BxB,mCACC,QAAS,CACT,wBAAyB,CACzB,gDAAiD,CACjD,cAAe\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.action-separator {\\n\\theight: 0;\\n\\tmargin: 5px 10px 5px 15px;\\n\\tborder-bottom: 1px solid var(--color-border-dark);\\n\\tcursor: default;\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},7727:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-304eec30]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-304eec30]{background-color:var(--color-background-hover)}.action-text[data-v-304eec30]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-text[data-v-304eec30]:hover,.action-text[data-v-304eec30]:focus{opacity:1}.action-text>span[data-v-304eec30]{cursor:pointer;white-space:nowrap}.action-text__icon[data-v-304eec30]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-text[data-v-304eec30] .material-design-icon{width:44px;height:44px;opacity:1}.action-text[data-v-304eec30] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-text p[data-v-304eec30]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-text__longtext[data-v-304eec30]{cursor:pointer;white-space:pre-wrap}.action-text__title[data-v-304eec30]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action--disabled[data-v-304eec30]{pointer-events:none;opacity:.5}.action--disabled[data-v-304eec30]:hover,.action--disabled[data-v-304eec30]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-304eec30]{opacity:1 !important}.action-text[data-v-304eec30],.action-text span[data-v-304eec30]{cursor:default}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/action.scss\",\"webpack://./src/assets/variables.scss\",\"webpack://./src/components/ActionText/ActionText.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,8BAqBD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,wEA2BE,SC9Ba,CDGf,mCA+BE,cAAe,CACf,kBAAmB,CACnB,oCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,oDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,+EAkDG,qBAAsB,CAlDzB,gCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAAgD,CAEhD,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,wCAGA,cAAe,CAEf,oBAAqB,CACrB,qCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB,CAjGvB,mCACC,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CEwCxB,iEAGE,cAAe\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action-item('text');\\n@include action--disabled;\\n\\n.action-text {\\n\\t&,\\n\\tspan {\\n\\t\\tcursor: default;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},2476:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-b3a35a96]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button[data-v-b3a35a96]:not(.button-vue),input[data-v-b3a35a96]:not([type='range']),textarea[data-v-b3a35a96]{margin:0;padding:7px 6px;cursor:text;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-size:13px}button[data-v-b3a35a96]:not(.button-vue):not(:disabled):not(.primary):hover,button[data-v-b3a35a96]:not(.button-vue):not(:disabled):not(.primary):focus,button:not(.button-vue):not(:disabled):not(.primary).active[data-v-b3a35a96],input[data-v-b3a35a96]:not([type='range']):not(:disabled):not(.primary):hover,input[data-v-b3a35a96]:not([type='range']):not(:disabled):not(.primary):focus,input:not([type='range']):not(:disabled):not(.primary).active[data-v-b3a35a96],textarea[data-v-b3a35a96]:not(:disabled):not(.primary):hover,textarea[data-v-b3a35a96]:not(:disabled):not(.primary):focus,textarea:not(:disabled):not(.primary).active[data-v-b3a35a96]{border-color:var(--color-primary-element);outline:none}button[data-v-b3a35a96]:not(.button-vue):not(:disabled):not(.primary):active,input[data-v-b3a35a96]:not([type='range']):not(:disabled):not(.primary):active,textarea[data-v-b3a35a96]:not(:disabled):not(.primary):active{color:var(--color-text-light);outline:none;background-color:var(--color-main-background)}button[data-v-b3a35a96]:not(.button-vue):disabled,input[data-v-b3a35a96]:not([type='range']):disabled,textarea[data-v-b3a35a96]:disabled{cursor:default;opacity:.5;color:var(--color-text-maxcontrast);background-color:var(--color-background-dark)}button[data-v-b3a35a96]:not(.button-vue):required,input[data-v-b3a35a96]:not([type='range']):required,textarea[data-v-b3a35a96]:required{box-shadow:none}button[data-v-b3a35a96]:not(.button-vue):invalid,input[data-v-b3a35a96]:not([type='range']):invalid,textarea[data-v-b3a35a96]:invalid{border-color:var(--color-error);box-shadow:none !important}button:not(.button-vue).primary[data-v-b3a35a96],input:not([type='range']).primary[data-v-b3a35a96],textarea.primary[data-v-b3a35a96]{cursor:pointer;color:var(--color-primary-text);border-color:var(--color-primary-element);background-color:var(--color-primary-element)}button:not(.button-vue).primary[data-v-b3a35a96]:not(:disabled):hover,button:not(.button-vue).primary[data-v-b3a35a96]:not(:disabled):focus,button:not(.button-vue).primary[data-v-b3a35a96]:not(:disabled):active,input:not([type='range']).primary[data-v-b3a35a96]:not(:disabled):hover,input:not([type='range']).primary[data-v-b3a35a96]:not(:disabled):focus,input:not([type='range']).primary[data-v-b3a35a96]:not(:disabled):active,textarea.primary[data-v-b3a35a96]:not(:disabled):hover,textarea.primary[data-v-b3a35a96]:not(:disabled):focus,textarea.primary[data-v-b3a35a96]:not(:disabled):active{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}button:not(.button-vue).primary[data-v-b3a35a96]:not(:disabled):active,input:not([type='range']).primary[data-v-b3a35a96]:not(:disabled):active,textarea.primary[data-v-b3a35a96]:not(:disabled):active{color:var(--color-primary-text-dark)}button:not(.button-vue).primary[data-v-b3a35a96]:disabled,input:not([type='range']).primary[data-v-b3a35a96]:disabled,textarea.primary[data-v-b3a35a96]:disabled{cursor:default;color:var(--color-primary-text-dark);background-color:var(--color-primary-element)}li.active[data-v-b3a35a96]{background-color:var(--color-background-hover)}.action--disabled[data-v-b3a35a96]{pointer-events:none;opacity:.5}.action--disabled[data-v-b3a35a96]:hover,.action--disabled[data-v-b3a35a96]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-b3a35a96]{opacity:1 !important}.action-text-editable[data-v-b3a35a96]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;line-height:44px}.action-text-editable[data-v-b3a35a96]:hover,.action-text-editable[data-v-b3a35a96]:focus{opacity:1}.action-text-editable>span[data-v-b3a35a96]{cursor:pointer;white-space:nowrap}.action-text-editable__icon[data-v-b3a35a96]{min-width:0;min-height:0;padding:22px 0 22px 44px;background-position:14px center;background-size:16px}.action-text-editable__form[data-v-b3a35a96]{display:flex;flex:1 1 auto;flex-direction:column;position:relative;margin:4px 0;padding-right:14px}.action-text-editable__submit[data-v-b3a35a96]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.action-text-editable__label[data-v-b3a35a96]{display:flex;align-items:center;justify-content:center;position:absolute;right:15px;bottom:1px;width:36px;height:36px;box-sizing:border-box;margin:0;padding:7px 6px;opacity:1;color:var(--color-text-lighter);border:0;border-radius:50%;background-color:var(--color-main-background);background-clip:padding-box}.action-text-editable__label[data-v-b3a35a96],.action-text-editable__label *[data-v-b3a35a96]{cursor:pointer}.action-text-editable__textarea[data-v-b3a35a96]{flex:1 1 auto;min-height:80px;max-height:124px;min-width:176px;width:100% !important;margin:0}.action-text-editable__textarea[data-v-b3a35a96]:disabled{cursor:default}.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid+.action-text-editable__label[data-v-b3a35a96]{background-color:var(--color-error)}.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-b3a35a96]:active,.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-b3a35a96]:hover,.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-b3a35a96]:focus{background-color:var(--color-primary-element);color:var(--color-primary-text)}.action-text-editable__textarea:active:not(:disabled)+.action-text-editable__label[data-v-b3a35a96],.action-text-editable__textarea:hover:not(:disabled)+.action-text-editable__label[data-v-b3a35a96],.action-text-editable__textarea:focus:not(:disabled)+.action-text-editable__label[data-v-b3a35a96]{z-index:2;border-color:var(--color-primary-element);border-left-color:transparent}li:last-child>.action-text-editable[data-v-b3a35a96]{margin-bottom:10px}li:first-child>.action-text-editable[data-v-b3a35a96]{margin-top:10px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/assets/inputs.scss\",\"webpack://./src/assets/variables.scss\",\"webpack://./src/assets/action.scss\",\"webpack://./src/components/ActionTextEditable/ActionTextEditable.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,8GCuBA,QAAS,CACT,eAAgB,CAEhB,WAAY,CAEZ,+BAAgC,CAChC,yCAA0C,CAC1C,kCAAmC,CACnC,YAAa,CACb,6CAA8C,CAE9C,cAAe,CAdhB,woBAqBG,yCAA0C,CAC1C,YAAa,CAtBhB,0NA0BG,6BAA8B,CAC9B,YAAa,CACb,6CAA8C,CA5BjD,yIAiCE,cAAe,CACf,UCrBmB,CDsBnB,mCAAoC,CACpC,6CAA8C,CApChD,yIAwCE,eAAgB,CAxClB,sIA4CE,+BAAgC,CAChC,0BAA2B,CA7C7B,sIAkDE,cAAe,CACf,+BAAgC,CAChC,yCAA0C,CAC1C,6CAA8C,CArDhD,klBA2DI,+CAAgD,CAChD,mDAAoD,CA5DxD,wMA+DI,oCAAqC,CA/DzC,iKAoEG,cAAe,CACf,oCAAqC,CAErC,6CAA8C,CAC9C,2BE3EA,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UDQmB,CCVpB,kFAIE,cAAe,CACf,UDKkB,CCVpB,qCAQE,oBAAqB,CC8HxB,uCACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,UFvIkB,CEwIlB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,gBFjKoB,CE6IrB,0FAwBE,SFlJc,CE0HhB,4CA4BE,cAAe,CACf,kBAAmB,CACnB,6CAGA,WAAY,CACZ,YAAa,CAGb,wBFlLmB,CEoLnB,+BAA2C,CAC3C,oBFjLc,CEkLd,6CAIA,YAAa,CACb,aAAc,CACd,qBAAsB,CAEtB,iBAAkB,CAClB,YAAuB,CACvB,kBFxL8C,CEyL9C,+CAGA,iBAAkB,CAClB,aAAc,CACd,QAAS,CACT,SAAU,CACV,UAAW,CACX,eAAgB,CAChB,8CAGA,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CAGvB,iBAAkB,CAClB,UAAuB,CACvB,UAAW,CACX,UAAO,CACP,WAAQ,CACR,qBAAsB,CACtB,QAAS,CACT,eAAgB,CAEhB,SFxMc,CEyMd,+BAAgC,CAChC,QAAS,CACT,iBAAkB,CAElB,6CAA8C,CAC9C,2BAA4B,CArB5B,8FAwBC,cAAe,CACf,iDAKD,aAAc,CAEd,eAAY,CACZ,gBAAY,CAEZ,eAA8B,CAC9B,qBAAsB,CACtB,QAAS,CART,0DAYC,cAAe,CAZhB,2HAmBG,mCAAoC,CAnBvC,yZA0BG,6CAA8C,CAC9C,+BAAgC,CA3BnC,0SAoCE,SAAU,CAEV,yCAA0C,CAC1C,6BAA8B,CAC9B,qDASH,kBAA2C,CAC3C,sDAIA,eAAwC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n\\n/* Default global values */\\nbutton:not(.button-vue),\\ninput:not([type='range']),\\ntextarea {\\n\\tmargin: 0;\\n\\tpadding: 7px 6px;\\n\\n\\tcursor: text;\\n\\n\\tcolor: var(--color-text-lighter);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\tfont-size: 13px;\\n\\n\\t&:not(:disabled):not(.primary) {\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&.active {\\n\\t\\t\\t/* active class used for multiselect */\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\toutline: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&:required {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&:invalid {\\n\\t\\tborder-color: var(--color-error);\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t/* Primary action button, use sparingly */\\n\\t&.primary {\\n\\t\\tcursor: pointer;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tborder-color: var(--color-primary-element);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\n\\t\\t&:not(:disabled) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t}\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t// opacity is already defined to .5 if disabled\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6 * 14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/inputs';\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n$input-margin: 4px;\\n\\n.action-text-editable {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\topacity: $opacity_normal;\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\topacity: $opacity_full;\\n\\t}\\n\\n\\t& > span {\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\tmin-height: 0;\\n\\t\\t/* Keep padding to define the width to\\n\\t\\t\\tassure correct position of a possible text */\\n\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\n\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\tbackground-size: $icon-size;\\n\\t}\\n\\n\\t// Forms & text inputs\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 auto;\\n\\t\\tflex-direction: column;\\n\\n\\t\\tposition: relative;\\n\\t\\tmargin: $input-margin 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute;\\n\\t\\tleft: -10000px;\\n\\t\\ttop: auto;\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\n\\t\\t// bottom-right corner\\n\\t\\tposition: absolute;\\n\\t\\tright: $icon-margin + 1;\\n\\t\\tbottom: 1px;\\n\\t\\twidth: #{$clickable-area - $input-margin * 2};\\n\\t\\theight: #{$clickable-area - $input-margin * 2};\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 7px 6px;\\n\\n\\t\\topacity: $opacity_full;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 50%;\\n\\t\\t/* Avoid background under border */\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-clip: padding-box;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Inputs inside popover supports text, submit & reset */\\n\\t&__textarea {\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmin-height: #{$clickable-area * 2 - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmax-height: #{$clickable-area * 3 - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\t// block width widening\\n\\t\\tmin-width: $clickable-area * 4;\\n\\t\\twidth: 100% !important;\\n\\t\\tmargin: 0;\\n\\n\\t\\t// if disabled, change cursor\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t/* only show confirm borders if input is not focused */\\n\\t\\t&:not(:active):not(:hover):not(:focus) {\\n\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t& + .action-text-editable__label {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(:disabled) + .action-text-editable__label {\\n\\t\\t\\t\\t&:active,\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:active,\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\t&:not(:disabled) + .action-text-editable__label {\\n\\t\\t\\t\\t/* above previous input */\\n\\t\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n// if a form is the last of the list\\n// add the same bottomMargin as the right padding\\n// for visual balance\\nli:last-child > .action-text-editable {\\n\\tmargin-bottom: $icon-margin - $input-margin;\\n}\\n\\n// same for first item\\nli:first-child > .action-text-editable {\\n\\tmargin-top: $icon-margin - $input-margin;\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},9224:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-2a98ba3b]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-item[data-v-2a98ba3b]{position:relative;display:inline-block}.action-item--single[data-v-2a98ba3b]:hover,.action-item--single[data-v-2a98ba3b]:focus,.action-item--single[data-v-2a98ba3b]:active,.action-item__menutoggle[data-v-2a98ba3b]:hover,.action-item__menutoggle[data-v-2a98ba3b]:focus,.action-item__menutoggle[data-v-2a98ba3b]:active{opacity:1;background-color:rgba(127,127,127,0.25) !important}.action-item__menutoggle[data-v-2a98ba3b]:disabled,.action-item--single[data-v-2a98ba3b]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-2a98ba3b]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-2a98ba3b],.action-item__menutoggle[data-v-2a98ba3b]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:0;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item--single--with-title[data-v-2a98ba3b],.action-item__menutoggle--with-title[data-v-2a98ba3b]{position:relative;padding:0 14px;padding-left:44px;white-space:nowrap;opacity:1;border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);background-position:14px center;font-size:inherit}.action-item--single--with-title[data-v-2a98ba3b] span,.action-item__menutoggle--with-title[data-v-2a98ba3b] span{width:24px;height:24px;line-height:16px;position:absolute;top:0;left:0}.action-item[data-v-2a98ba3b] .material-design-icon{width:44px;height:44px;opacity:1}.action-item[data-v-2a98ba3b] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-item__menutoggle[data-v-2a98ba3b]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle--primary[data-v-2a98ba3b]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-2a98ba3b],.action-item__menutoggle--primary[data-v-2a98ba3b]:hover,.action-item__menutoggle--primary[data-v-2a98ba3b]:focus,.action-item__menutoggle--primary[data-v-2a98ba3b]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-2a98ba3b]{opacity:.7}.action-item--single[data-v-2a98ba3b]:hover,.action-item--single[data-v-2a98ba3b]:focus,.action-item--single[data-v-2a98ba3b]:active{opacity:1}.action-item--single>[hidden][data-v-2a98ba3b]{display:none}.ie .action-item__menu[data-v-2a98ba3b],.ie .action-item__menu .action-item__menu_arrow[data-v-2a98ba3b],.edge .action-item__menu[data-v-2a98ba3b],.edge .action-item__menu .action-item__menu_arrow[data-v-2a98ba3b]{border:1px solid var(--color-border)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Actions/Actions.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCopBxB,8BACC,iBAAkB,CAClB,oBAAqB,CAIrB,sRAMC,SC5nBc,CD8nBd,kDAA2C,CAC3C,kGAKA,qBAAsB,CApBxB,yEAwBE,SCxoBc,CDyoBd,uCCroBgD,CDsoBhD,gFAKA,qBAAsB,CACtB,UAAW,CACX,cCpqBmB,CDqqBnB,WCrqBmB,CDsqBnB,QAAS,CACT,SAAU,CACV,cAAe,CACf,WAAY,CACZ,kBAAkC,CAClC,4BAA6B,CAE7B,wGACC,iBAAkB,CAClB,cCvqB6C,CDwqB7C,iBChrBkB,CDirBlB,kBAAmB,CACnB,SC/pBa,CDgqBb,yCAA0C,CAE1C,6CAA8C,CAC9C,+BAAwC,CACxC,iBAAkB,CAVlB,oHAeC,UAAW,CACX,WAAY,CACZ,gBC1rBY,CD2rBZ,iBAAkB,CAClB,KAAM,CACN,MAAO,CA9DX,oDAoEE,UCvsBmB,CDwsBnB,WCxsBmB,CDysBnB,SCtrBc,CDgnBhB,+EAyEG,qBAAsB,CACtB,0CAMD,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UCpsBiB,CDqsBjB,gBAAiB,CACjB,gBCptBc,CDstBd,mDACC,SCxsBa,CDysBb,+BAAgC,CAChC,WAAY,CACZ,6CAA8C,CAC9C,kPAIC,0CAA2C,CAC3C,8DAA+D,CAC/D,sCAKF,UCxtBiB,CDutBjB,qIAKC,SC3tBa,CDstBd,+CASC,YAAa,CACb,sNAQD,oCAAqC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t// put a grey round background when menu is opened\\n\\t// or hover-focused\\n\\t&--single:hover,\\n\\t&--single:focus,\\n\\t&--single:active,\\n\\t&__menutoggle:hover,\\n\\t&__menutoggle:focus,\\n\\t&__menutoggle:active {\\n\\t\\topacity: $opacity_full;\\n\\t\\t// good looking on dark AND white bg, override server styling\\n\\t\\tbackground-color: $icon-focus-bg !important;\\n\\t}\\n\\n\\t// TODO: handle this in the future button component\\n\\t&__menutoggle:disabled,\\n\\t&--single:disabled {\\n\\t\\topacity: .3 !important;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\n\\t}\\n\\n\\t// icons\\n\\t&--single,\\n\\t&__menutoggle {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: auto;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 0 $icon-margin;\\n\\t\\t\\tpadding-left: $clickable-area;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t// with a title, we need to display this as a real button\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tfont-size: inherit;\\n\\n\\t\\t\\t// non-background icon class\\n\\t\\t\\t// image slot\\n\\t\\t\\t::v-deep span {\\n\\t\\t\\t\\twidth: 24px;\\n\\t\\t\\t\\theight: 24px;\\n\\t\\t\\t\\tline-height: $icon-size;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 0;\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_full;\\n\\n\\t\\t.material-design-icon__svg {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n\\n\\t// icon-more\\n\\t&__menutoggle {\\n\\t\\t// align menu icon in center\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-weight: bold;\\n\\t\\tline-height: $icon-size;\\n\\n\\t\\t&--primary {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t.action-item--open &,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--single {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t\\t// hide anything the slot is displaying\\n\\t\\t& > [hidden] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie,\\n.edge {\\n\\t.action-item__menu,\\n\\t.action-item__menu .action-item__menu_arrow {\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},4247:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-61c97b1e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-content[data-v-61c97b1e]{position:relative;z-index:1000;flex-basis:100vw;min-width:0;min-height:100%;margin:0 !important;background-color:var(--color-main-background)}.app-content-wrapper--mobile.app-content-wrapper--show-list[data-v-61c97b1e] .app-content-list{display:block}.app-content-wrapper--mobile.app-content-wrapper--show-list[data-v-61c97b1e] .app-content-details{display:none}.app-content-wrapper--mobile.app-content-wrapper--show-details[data-v-61c97b1e] .app-content-list{display:none}.app-content-wrapper--mobile.app-content-wrapper--show-details[data-v-61c97b1e] .app-content-details{display:block}[data-v-61c97b1e] .splitpanes.default-theme .app-content-list{max-width:none}[data-v-61c97b1e] .splitpanes.default-theme .splitpanes__pane{background-color:transparent;transition:none}[data-v-61c97b1e] .splitpanes.default-theme .splitpanes__pane-list{min-width:200px;position:sticky;top:var(--header-height)}@media only screen and (max-width: 1024px){[data-v-61c97b1e] .splitpanes.default-theme .splitpanes__pane-list{display:none}}[data-v-61c97b1e] .splitpanes.default-theme .splitpanes__pane-details{overflow-y:scroll}@media only screen and (max-width: 1024px){[data-v-61c97b1e] .splitpanes.default-theme .splitpanes__pane-details{min-width:100%}}[data-v-61c97b1e] .splitpanes.default-theme .splitpanes__splitter{width:9px;margin-left:-5px;background-color:transparent;border-left:none}[data-v-61c97b1e] .splitpanes.default-theme .splitpanes__splitter:before,[data-v-61c97b1e] .splitpanes.default-theme .splitpanes__splitter:after{display:none}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppContent/AppContent.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCuTxB,8BACC,iBAAkB,CAClB,YAAa,CACb,gBAAiB,CACjB,WAAY,CACZ,eAAgB,CAEhB,mBAAoB,CACpB,6CAA8C,CAC9C,gGAME,aAAc,CAHjB,mGAMG,YAAa,CANhB,mGAWG,YAAa,CAXhB,sGAcG,aAAc,CACd,8DAMD,cAAe,CAFjB,8DAME,4BAA6B,CAC7B,eAAgB,CAPlB,mEAUG,eAAgB,CAChB,eAAgB,CAChB,wBAAyB,CAEzB,2CAdH,mEAeI,YAAa,CAEd,CAjBH,sEAoBG,iBAAkB,CAElB,2CAtBH,sEAuBI,cAAe,CAEhB,CAzBH,kEA6BE,SAAU,CACV,gBAAiB,CACjB,4BAA6B,CAC7B,gBAAiB,CAhCnB,iJAoCG,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-content {\\n\\tposition: relative;\\n\\tz-index: 1000;\\n\\tflex-basis: 100vw;\\n\\tmin-width: 0;\\n\\tmin-height: 100%;\\n\\t// Overriding server styles TODO: cleanup!\\n\\tmargin: 0 !important;\\n\\tbackground-color: var(--color-main-background);\\n}\\n\\n// Mobile list/details handling\\n.app-content-wrapper--mobile {\\n\\t&.app-content-wrapper--show-list ::v-deep {\\n\\t\\t.app-content-list {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t\\t.app-content-details {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\t&.app-content-wrapper--show-details ::v-deep {\\n\\t\\t.app-content-list {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t\\t.app-content-details {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n}\\n\\n::v-deep .splitpanes.default-theme {\\n\\t.app-content-list {\\n\\t\\tmax-width: none;\\n\\t}\\n\\n\\t.splitpanes__pane {\\n\\t\\tbackground-color: transparent;\\n\\t\\ttransition: none;\\n\\n\\t\\t&-list {\\n\\t\\t\\tmin-width: 200px;\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\ttop: var(--header-height);\\n\\n\\t\\t\\t@media only screen and (max-width: $breakpoint-mobile) {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&-details {\\n\\t\\t\\toverflow-y: scroll;\\n\\n\\t\\t\\t@media only screen and (max-width: $breakpoint-mobile) {\\n\\t\\t\\t\\tmin-width: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.splitpanes__splitter {\\n\\t\\twidth: 9px;\\n\\t\\tmargin-left: -5px;\\n\\t\\tbackground-color: transparent;\\n\\t\\tborder-left: none;\\n\\n\\t\\t&:before,\\n\\t\\t&:after {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},4707:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-24f4ece3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-details-toggle[data-v-24f4ece3]{position:fixed;width:44px;height:44px;padding:14px;cursor:pointer;opacity:.6;transform:rotate(180deg);background-color:var(--color-main-background);z-index:2000}.app-details-toggle[data-v-24f4ece3]:active,.app-details-toggle[data-v-24f4ece3]:hover,.app-details-toggle[data-v-24f4ece3]:focus{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppContent/AppDetailsToggle.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCyDxB,qCACC,cAAe,CACf,UC1CoB,CD2CpB,WC3CoB,CD4CpB,YCpC+C,CDqC/C,cAAe,CACf,UAAW,CACX,wBAAyB,CACzB,6CAA8C,CAC9C,YAAa,CATd,kIAcE,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-details-toggle {\\n\\tposition: fixed;\\n\\twidth: $clickable-area;\\n\\theight: $clickable-area;\\n\\tpadding: $icon-margin;\\n\\tcursor: pointer;\\n\\topacity: .6;\\n\\ttransform: rotate(180deg);\\n\\tbackground-color: var(--color-main-background);\\n\\tz-index: 2000;\\n\\n\\t&:active,\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},2400:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-146e0c06]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation[data-v-146e0c06]{will-change:transform;transition:transform var(--animation-quick),margin var(--animation-quick);width:300px;position:sticky;position:-webkit-sticky;top:50px;left:0;z-index:1800;height:calc(100vh - 50px);box-sizing:border-box;background-color:var(--color-main-background);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-right:1px solid var(--color-border);display:flex;flex-direction:column;flex-grow:0;flex-shrink:0}.app-navigation--close[data-v-146e0c06]{margin-left:-300px;transform:translateX(-100%)}.app-navigation ul[data-v-146e0c06],.app-navigation__list[data-v-146e0c06]{position:relative;height:100%;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column}@media only screen and (max-width: 1024px){.app-navigation[data-v-146e0c06]:not(.app-navigation--close){margin-left:-300px}}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigation/AppNavigation.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCoIxB,iCACC,qBAAsB,CACtB,yEAA2E,CAC3E,WC1FuB,CD2FvB,eAAgB,CAChB,uBAAwB,CACxB,QC9FmB,CD+FnB,MAAO,CAEP,YAAa,CACb,yBAAuC,CACvC,qBAAsB,CACtB,6CAA8C,CAC9C,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,0CAA2C,CAC3C,YAAa,CACb,qBAAsB,CACtB,WAAY,CACZ,aAAc,CAEd,wCACC,kBC/GsB,CDgHtB,2BAA4B,CAzB9B,2EA+BE,iBAAkB,CAClB,WAAY,CACZ,UAAW,CACX,iBAAkB,CAClB,eAAgB,CAChB,qBAAsB,CACtB,YAAa,CACb,qBAAsB,CACtB,2CAKD,6DACC,kBCpIsB,CDqItB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation {\\n\\twill-change: transform;\\n\\ttransition: transform var(--animation-quick), margin var(--animation-quick);\\n\\twidth: $navigation-width;\\n\\tposition: sticky;\\n\\tposition: -webkit-sticky;\\n\\ttop: $header-height;\\n\\tleft: 0;\\n\\t// Above appcontent\\n\\tz-index: 1800;\\n\\theight: calc(100vh - #{$header-height});\\n\\tbox-sizing: border-box;\\n\\tbackground-color: var(--color-main-background);\\n\\t-webkit-user-select: none;\\n\\t-moz-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none;\\n\\tborder-right: 1px solid var(--color-border);\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex-grow: 0;\\n\\tflex-shrink: 0;\\n\\n\\t&--close {\\n\\t\\tmargin-left: - $navigation-width;\\n\\t\\ttransform: translateX(-100%);\\n\\t}\\n\\n\\t//list of navigation items\\n\\tul,\\n\\t&__list {\\n\\t\\tposition: relative;\\n\\t\\theight: 100%;\\n\\t\\twidth: 100%;\\n\\t\\toverflow-x: hidden;\\n\\t\\toverflow-y: auto;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t}\\n}\\n\\n// When on mobile, we make the navigation slide over the appcontent\\n@media only screen and (max-width: $breakpoint-mobile) {\\n\\t.app-navigation:not(.app-navigation--close) {\\n\\t\\tmargin-left: - $navigation-width;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},4609:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-45d39094]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-caption[data-v-45d39094]{display:flex;justify-content:space-between;padding:0 8px 0 22px}.app-navigation-caption__title[data-v-45d39094]{font-weight:bold;color:var(--color-primary-element);line-height:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.7;box-shadow:none !important;flex-shrink:0}.app-navigation-caption__actions[data-v-45d39094]{flex:0 0 44px}.app-navigation-caption[data-v-45d39094]:not(:first-child){margin-top:22px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationCaption/AppNavigationCaption.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCiDxB,yCACC,YAAa,CACb,6BAA8B,CAC9B,oBAAoC,CAEpC,gDACC,gBAAiB,CACjB,kCAAmC,CACnC,gBCxCmB,CDyCnB,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,UC1BiB,CD2BjB,0BAA2B,CAC3B,aAAc,CACd,kDAGA,aClDmB,CDmDnB,2DAKD,eAA+B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-caption {\\n\\tdisplay: flex;\\n\\tjustify-content: space-between;\\n\\tpadding: 0 8px 0 $clickable-area / 2;\\n\\n\\t&__title {\\n\\t\\tfont-weight: bold;\\n\\t\\tcolor: var(--color-primary-element);\\n\\t\\tline-height: $clickable-area;\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tbox-shadow: none !important;\\n\\t\\tflex-shrink: 0;\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t}\\n}\\n\\n// extra top space if it's not the first item on the list\\n.app-navigation-caption:not(:first-child) {\\n\\tmargin-top: $clickable-area / 2;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},9325:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-3e9952b7]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry__counter[data-v-3e9952b7]{font-size:calc(var(--default-font-size) * .8);overflow:hidden;width:fit-content;max-width:44px;text-align:center;text-overflow:ellipsis;line-height:1em;padding:4px 8px;border-radius:var(--border-radius-pill);background-color:var(--color-background-darker)}.app-navigation-entry__counter--highlighted[data-v-3e9952b7]{padding:4px 6px;color:var(--color-primary-text);background-color:var(--color-primary)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationCounter/AppNavigationCounter.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0DxB,gDACC,6CAA8C,CAC9C,eAAgB,CAChB,iBAAkB,CAClB,cC7CoB,CD8CpB,iBAAkB,CAClB,sBAAuB,CACvB,eAAgB,CAChB,eAAgB,CAChB,uCAAwC,CACxC,+CAAgD,CAEhD,6DACC,eAAgB,CAChB,+BAAgC,CAChC,qCAAsC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-entry__counter {\\n\\tfont-size: calc(var(--default-font-size) * .8);\\n\\toverflow: hidden;\\n\\twidth: fit-content;\\n\\tmax-width: $clickable-area;\\n\\ttext-align: center;\\n\\ttext-overflow: ellipsis;\\n\\tline-height: 1em;\\n\\tpadding: 4px 8px;\\n\\tborder-radius: var(--border-radius-pill);\\n\\tbackground-color: var(--color-background-darker);\\n\\n\\t&--highlighted {\\n\\t\\tpadding: 4px 6px;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},533:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-71402848]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry__icon-bullet[data-v-71402848]{display:block;padding:15px}.app-navigation-entry__icon-bullet div[data-v-71402848]{width:14px;height:14px;cursor:pointer;transition:background 100ms ease-in-out;border:none;border-radius:50%}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationIconBullet/AppNavigationIconBullet.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+ExB,oDACC,aAAc,CAEd,YAA2B,CAH5B,wDAKE,UAAuB,CACvB,WAAwB,CACxB,cAAe,CACf,uCAAwC,CACxC,WAAY,CACZ,iBAAkB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-entry__icon-bullet {\\n\\tdisplay: block;\\n\\t// there is 2 margins\\n\\tpadding: $icon-margin + 1px;\\n\\tdiv {\\n\\t\\twidth: $icon-size - 2px;\\n\\t\\theight: $icon-size - 2px;\\n\\t\\tcursor: pointer;\\n\\t\\ttransition: background 100ms ease-in-out;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: 50%;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},6456:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-4b0d387e]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.icon-collapse[data-v-4b0d387e]{position:absolute;z-index:105;width:44px;height:44px;margin:0;padding:0;transition:opacity var(--animation-quick) ease-in-out;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);color:var(--color-main-text);border:none;border-radius:0;outline:none !important;background-color:transparent;box-shadow:none}.icon-collapse[data-v-4b0d387e]:hover{color:var(--color-primary)}.icon-collapse--rotated[data-v-4b0d387e]{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);color:var(--color-main-text)}.icon-collapse--rotated[data-v-4b0d387e]:hover{color:var(--color-primary)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationItem/AppNavigationIconCollapsible.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCmDxB,gCACC,iBAAkB,CAClB,WAAY,CACZ,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,qDAAsD,CACtD,gCAAiC,CACjC,4BAA6B,CAC7B,wBAAyB,CACzB,4BAA6B,CAC7B,WAAY,CACZ,eAAgB,CAChB,uBAAwB,CACxB,4BAA6B,CAC7B,eAAgB,CAhBjB,sCAmBE,0BAA2B,CAC3B,yCAEA,8BAA+B,CAC/B,0BAA2B,CAC3B,sBAAuB,CACvB,4BAA6B,CAJ7B,+CAMC,0BAA2B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.icon-collapse {\\n\\tposition: absolute;\\n\\tz-index: 105; // above a, under button\\n\\twidth: 44px;\\n\\theight: 44px;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\ttransition: opacity var(--animation-quick) ease-in-out;\\n\\t-webkit-transform: rotate(-90deg);\\n\\t-ms-transform: rotate(-90deg);\\n\\ttransform: rotate(-90deg);\\n\\tcolor: var(--color-main-text);\\n\\tborder: none;\\n\\tborder-radius: 0;\\n\\toutline: none !important;\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\t&:hover{\\n\\t\\tcolor: var(--color-primary);\\n\\t}\\n\\t&--rotated {\\n\\t\\t-webkit-transform: rotate(0deg);\\n\\t\\t-ms-transform: rotate(0deg);\\n\\t\\ttransform: rotate(0deg);\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\t&:hover{\\n\\t\\t\\tcolor: var(--color-primary);\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},183:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-entry{position:relative;display:flex;flex-shrink:0;flex-wrap:wrap;box-sizing:border-box;width:100%;min-height:44px;padding-right:8px}.app-navigation-entry.active{background-color:var(--color-primary-light) !important}.app-navigation-entry:focus-within,.app-navigation-entry:hover{background-color:var(--color-background-hover)}.app-navigation-entry.active .app-navigation-entry__children,.app-navigation-entry:focus-within .app-navigation-entry__children,.app-navigation-entry:hover .app-navigation-entry__children{background-color:var(--color-main-background)}.app-navigation-entry.app-navigation-entry--deleted>ul,.app-navigation-entry.app-navigation-entry--collapsible:not(.app-navigation-entry--opened)>ul{display:none}.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-link,.app-navigation-entry:not(.app-navigation-entry--editing) .app-navigation-entry-div{padding-right:14px}.app-navigation-entry .app-navigation-entry-link,.app-navigation-entry .app-navigation-entry-div{z-index:100;display:flex;overflow:hidden;flex:1 1 0;box-sizing:border-box;min-height:44px;padding:0;white-space:nowrap;color:var(--color-main-text);background-repeat:no-repeat;background-position:14px center;background-size:16px 16px;line-height:44px}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry-icon,.app-navigation-entry .app-navigation-entry-div .app-navigation-entry-icon{display:flex;align-items:center;flex:0 0 44px;justify-content:center;width:44px;height:44px;background-size:16px 16px}.app-navigation-entry .app-navigation-entry-link .app-navigation-entry__title,.app-navigation-entry .app-navigation-entry-div .app-navigation-entry__title{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}.app-navigation-entry .app-navigation-entry-link .editingContainer,.app-navigation-entry .app-navigation-entry-div .editingContainer{width:calc(100% - 44px);margin:auto}.app-navigation-entry .app-navigation-entry__children{position:relative;display:flex;flex:0 1 auto;flex-direction:column;width:100%}.app-navigation-entry .app-navigation-entry__children .app-navigation-entry{display:inline-flex;flex-wrap:wrap;padding-left:16px;padding-right:0}.app-navigation-entry__deleted{display:inline-flex;flex:1 1 0;padding-left:30px !important}.app-navigation-entry__deleted .app-navigation-entry__deleted-description{position:relative;overflow:hidden;flex:1 1 0;white-space:nowrap;text-overflow:ellipsis;line-height:44px}.app-navigation-entry--collapsible .icon-collapse{visibility:hidden}.app-navigation-entry--collapsible.app-navigation-entry--no-icon a .app-navigation-entry-icon,.app-navigation-entry--collapsible:hover a .app-navigation-entry-icon,.app-navigation-entry--collapsible:focus a .app-navigation-entry-icon{visibility:hidden}.app-navigation-entry--collapsible.app-navigation-entry--no-icon .icon-collapse,.app-navigation-entry--collapsible:hover .icon-collapse,.app-navigation-entry--collapsible:focus .icon-collapse{visibility:visible}.app-navigation-entry--collapsible.app-navigation-entry--no-icon .app-navigation-entry__children li:not(.app-navigation-entry--collapsible) a :first-child,.app-navigation-entry--collapsible:hover .app-navigation-entry__children li:not(.app-navigation-entry--collapsible) a :first-child,.app-navigation-entry--collapsible:focus .app-navigation-entry__children li:not(.app-navigation-entry--collapsible) a :first-child{visibility:visible}.app-navigation-entry__utils{display:flex;align-items:center;flex:0 1 auto}.app-navigation-entry__counter-wrapper{margin-right:2px;display:flex;align-items:center;flex:0 1 auto}.app-navigation-entry--editing .app-navigation-entry-edit{z-index:250;opacity:1}.app-navigation-entry--deleted .app-navigation-entry-deleted{z-index:250;transform:translateX(0)}.app-navigation-entry--pinned{order:2;margin-top:auto}.app-navigation-entry--pinned ~ .app-navigation-entry--pinned{margin-top:0}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationItem/AppNavigationItem.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgexB,sBACC,iBAAkB,CAClB,YAAa,CACb,aAAc,CACd,cAAe,CACf,qBAAsB,CACtB,UAAW,CACX,eCtdoB,CDudpB,iBAAkB,CARnB,6BAaE,sDAAuD,CAbzD,+DAiBE,8CAA+C,CAjBjD,4LAuBG,6CAA8C,CAvBjD,qJAgCG,YAAa,CAhChB,yKAsCG,kBC7e6C,CDuchD,iGA4CE,WAAY,CACZ,YAAa,CACb,eAAgB,CAChB,UAAW,CACX,qBAAsB,CACtB,eChgBmB,CDigBnB,SAAU,CACV,kBAAmB,CACnB,4BAA6B,CAC7B,2BAA4B,CAC5B,+BAAwC,CACxC,yBClgBc,CDmgBd,gBCvgBmB,CD+crB,uJA2DG,YAAa,CACb,kBAAmB,CACnB,aC5gBkB,CD6gBlB,sBAAuB,CACvB,UC9gBkB,CD+gBlB,WC/gBkB,CDghBlB,yBC5gBa,CD2chB,2JAqEG,eAAgB,CAChB,cAAe,CACf,kBAAmB,CACnB,sBAAuB,CAxE1B,qIA4EG,uBAAsC,CACtC,WAAY,CA7Ef,sDAmFE,iBAAkB,CAClB,YAAa,CACb,aAAc,CACd,qBAAsB,CACtB,UAAW,CAvFb,4EA0FG,mBAAoB,CACpB,cAAe,CACf,iBCviBa,CDwiBb,eAAgB,CAChB,+BAMF,mBAAoB,CACpB,UAAW,CACX,4BAAuD,CAHxD,0EAKE,iBAAkB,CAClB,eAAgB,CAChB,UAAW,CACX,kBAAmB,CACnB,sBAAuB,CACvB,gBC5jBmB,CD6jBnB,kDAQA,iBAAkB,CAHpB,0OASG,iBAAkB,CATrB,gMAaG,kBAAmB,CAbtB,iaAkBG,kBAAmB,CACnB,6BAMF,YAAa,CACb,kBAAmB,CACnB,aAAc,CACd,uCAKA,gBAAiB,CACjB,YAAa,CACb,kBAAmB,CACnB,aAAc,CACd,0DAMC,WAAY,CACZ,SAAU,CACV,6DAMA,WAAY,CACZ,uBAAwB,CACxB,8BAKD,OAAQ,CACR,eAAgB,CAFjB,8DAKE,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-entry {\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tflex-shrink: 0;\\n\\tflex-wrap: wrap;\\n\\tbox-sizing: border-box;\\n\\twidth: 100%;\\n\\tmin-height: $clickable-area;\\n\\tpadding-right: 8px;\\n\\n\\t// When .active class is applied, change color background of link and utils. The\\n\\t// !important prevents the focus state to override the active state.\\n\\t&.active {\\n\\t\\tbackground-color: var(--color-primary-light) !important;\\n\\t}\\n\\t&:focus-within,\\n\\t&:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\t&.active,\\n\\t&:focus-within,\\n\\t&:hover {\\n\\t\\t.app-navigation-entry__children {\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t/* hide deletion/collapse of subitems */\\n\\t&.app-navigation-entry--deleted,\\n\\t&.app-navigation-entry--collapsible:not(.app-navigation-entry--opened) {\\n\\t\\t> ul {\\n\\t\\t\\t// NO ANIMATE because if not really hidden, we can still tab through it\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.app-navigation-entry--editing) {\\n\\t\\t.app-navigation-entry-link, .app-navigation-entry-div {\\n\\t\\t\\tpadding-right: $icon-margin;\\n\\t\\t}\\n\\t}\\n\\n\\t// Main entry link\\n\\t.app-navigation-entry-link, .app-navigation-entry-div {\\n\\t\\tz-index: 100; /* above the bullet to allow click*/\\n\\t\\tdisplay: flex;\\n\\t\\toverflow: hidden;\\n\\t\\tflex: 1 1 0;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmin-height: $clickable-area;\\n\\t\\tpadding: 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: $icon-margin center;\\n\\t\\tbackground-size: $icon-size $icon-size;\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t.app-navigation-entry-icon {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tflex: 0 0 $clickable-area;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\tbackground-size: $icon-size $icon-size;\\n\\t\\t}\\n\\n\\t\\t.app-navigation-entry__title {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t.editingContainer {\\n\\t\\t\\twidth: calc(100% - #{$clickable-area});\\n\\t\\t\\tmargin: auto;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Second level nesting for lists */\\n\\t.app-navigation-entry__children {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 0 1 auto;\\n\\t\\tflex-direction: column;\\n\\t\\twidth: 100%;\\n\\n\\t\\t.app-navigation-entry {\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t\\tpadding-left: $icon-size;\\n\\t\\t\\tpadding-right: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Deleted entries */\\n.app-navigation-entry__deleted {\\n\\tdisplay: inline-flex;\\n\\tflex: 1 1 0;\\n\\tpadding-left: $clickable-area - $icon-margin !important;\\n\\t.app-navigation-entry__deleted-description {\\n\\t\\tposition: relative;\\n\\t\\toverflow: hidden;\\n\\t\\tflex: 1 1 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: $clickable-area;\\n\\t}\\n}\\n\\n/* Makes the icon of the collapsible element disappear\\n* When hovering on the root element */\\n.app-navigation-entry--collapsible {\\n\\t//shows the triangle button\\n\\t.icon-collapse {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\t&.app-navigation-entry--no-icon,\\n\\t&:hover, &:focus {\\n\\t\\ta .app-navigation-entry-icon {\\n\\t\\t\\t// hides the icon\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t}\\n\\t\\t.icon-collapse {\\n\\t\\t\\t//shows the triangle button\\n\\t\\t\\tvisibility: visible;\\n\\t\\t}\\n\\t\\t// prevent the icon of children elements from being hidden\\n\\t\\t// by the previous rule\\n\\t\\t.app-navigation-entry__children li:not(.app-navigation-entry--collapsible) a :first-child {\\n\\t\\t\\tvisibility: visible;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* counter and actions */\\n.app-navigation-entry__utils {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tflex: 0 1 auto;\\n}\\n\\n/* counter */\\n.app-navigation-entry__counter-wrapper {\\n\\t// Add slightly more space to the right of the counter\\n\\tmargin-right: 2px;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tflex: 0 1 auto;\\n}\\n\\n// STATES\\n/* editing state */\\n.app-navigation-entry--editing {\\n\\t.app-navigation-entry-edit {\\n\\t\\tz-index: 250;\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n/* deleted state */\\n.app-navigation-entry--deleted {\\n\\t.app-navigation-entry-deleted {\\n\\t\\tz-index: 250;\\n\\t\\ttransform: translateX(0);\\n\\t}\\n}\\n\\n/* pinned state */\\n.app-navigation-entry--pinned {\\n\\torder: 2;\\n\\tmargin-top: auto;\\n\\t// only put a marginTop auto to the first one!\\n\\t~ .app-navigation-entry--pinned {\\n\\t\\tmargin-top: 0;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},484:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-input-confirm{flex:1 0 100%;width:100%}.app-navigation-input-confirm form{display:flex}.app-navigation-input-confirm__input{height:34px;flex:1 1 100%;font-size:14px;margin:3px;margin-left:0;padding:7px}.app-navigation-input-confirm__input:active,.app-navigation-input-confirm__input:focus,.app-navigation-input-confirm__input:hover{outline:none;background-color:var(--color-main-background);color:var(--color-text-light);border-color:var(--color-primary-element)}.app-navigation-input-confirm__input:active+.app-navigation-input-confirm__confirm,.app-navigation-input-confirm__input:focus+.app-navigation-input-confirm__confirm,.app-navigation-input-confirm__input:hover+.app-navigation-input-confirm__confirm{border-color:var(--color-primary-element);border-left-color:transparent !important;border-radius:0 var(--border-radius) var(--border-radius) 0 !important}.app-navigation-input-confirm button{display:flex;align-items:center;justify-content:center;width:44px !important;color:var(--color-main-text);border-radius:0}.app-navigation-input-confirm button span{opacity:.7}.app-navigation-input-confirm button:hover span,.app-navigation-input-confirm button:focus span{opacity:1}.app-navigation-input-confirm__confirm{margin-left:-8px;border-left-color:transparent !important;border-radius:0 var(--border-radius) var(--border-radius) 0 !important;background-clip:padding-box;background-color:var(--color-main-background);opacity:1;height:34px;width:34px;padding:7px;cursor:pointer;margin-right:0}.app-navigation-input-confirm__confirm:focus,.app-navigation-input-confirm__confirm:hover{border-radius:var(--border-radius) !important;border-color:var(--color-primary-element) !important}.app-navigation-input-confirm__close{margin:0;border:none;background-color:transparent}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationItem/InputConfirmCancel.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC6GxB,8BACC,aAAc,CACd,UAAW,CAFZ,mCAKE,YAAa,CACb,qCAGA,WAbiB,CAcjB,aAAc,CACd,cAAe,CACf,UAdgB,CAehB,aAAc,CACd,WAjBiB,CAWjB,kIAWC,YAAa,CACb,6CAA8C,CAC9C,6BAA8B,CAC9B,yCAA0C,CAd3C,uPAiBE,yCAA0C,CAC1C,wCAAyC,CACzC,sEAAuE,CA3B3E,qCAkCE,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,qBAAiC,CACjC,4BAA6B,CAC7B,eAAgB,CAvClB,0CA2CG,UCrHgB,CD0EnB,gGAgDI,SCzHY,CD0HZ,uCAKF,gBAAiB,CACjB,wCAAyC,CACzC,sEAAuE,CACvE,2BAA4B,CAC5B,6CAA8C,CAC9C,SAAU,CACV,WAhEiB,CAiEjB,UAjEiB,CAkEjB,WAjEiB,CAkEjB,cAAe,CACf,cAAe,CAXf,0FAeC,6CAA8C,CAC9C,oDAAqD,CACrD,qCAID,QAAS,CACT,WAAY,CACZ,4BAA6B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$input-height: 34px;\\n$input-padding: 7px;\\n$input-margin: 3px;\\n\\n.app-navigation-input-confirm {\\n\\tflex: 1 0 100%;\\n\\twidth: 100%;\\n\\n\\tform {\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t&__input {\\n\\t\\theight: $input-height;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tfont-size: 14px;\\n\\t\\tmargin: $input-margin;\\n\\t\\tmargin-left: 0;\\n\\t\\tpadding: $input-padding;\\n\\n\\t\\t&:active,\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\n\\t\\t\\t+ .app-navigation-input-confirm__confirm {\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0 !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// submit and cancel buttons\\n\\tbutton {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: $clickable-area !important;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: 0;\\n\\n\\t\\t// icon hover/focus feedback\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t}\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\tspan {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__confirm {\\n\\t\\tmargin-left: -8px;\\n\\t\\tborder-left-color: transparent !important;\\n\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0 !important;\\n\\t\\tbackground-clip: padding-box;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\topacity: 1;\\n\\t\\theight: $input-height;\\n\\t\\twidth: $input-height;\\n\\t\\tpadding: $input-padding;\\n\\t\\tcursor: pointer;\\n\\t\\tmargin-right: 0;\\n\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\tborder-radius: var(--border-radius) !important;\\n\\t\\t\\tborder-color: var(--color-primary-element) !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&__close {\\n\\t\\tmargin: 0;\\n\\t\\tborder: none;\\n\\t\\tbackground-color: transparent;\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},7004:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-7286e935]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-new[data-v-7286e935]{display:block;padding:10px}.app-navigation-new button[data-v-7286e935]{display:inline-block;width:100%;padding:10px;padding-left:34px;background-position:10px center;text-align:left;margin:0}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationNew/AppNavigationNew.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCuDxB,qCACC,aAAc,CACd,YAAa,CAFd,4CAIE,oBAAqB,CACrB,UAAW,CACX,YAAa,CACb,iBAAkB,CAClB,+BAAgC,CAChC,eAAgB,CAChB,QAAS\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* 'New' button */\\n.app-navigation-new {\\n\\tdisplay: block;\\n\\tpadding: 10px;\\n\\tbutton {\\n\\t\\tdisplay: inline-block;\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 10px;\\n\\t\\tpadding-left: 34px;\\n\\t\\tbackground-position: 10px center;\\n\\t\\ttext-align: left;\\n\\t\\tmargin: 0;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},8704:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-navigation-new-item__title{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis;padding-left:7px;font-size:14px}.newItemContainer{width:calc(100% - 44px);margin:auto}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationNewItem/AppNavigationNewItem.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+IxB,gCACC,eAAgB,CAChB,cAAe,CACf,kBAAmB,CACnB,sBAAuB,CACvB,gBAAiB,CACjB,cAAe,CACf,kBAGA,uBAAsC,CACtC,WAAY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-navigation-new-item__title {\\n\\toverflow: hidden;\\n\\tmax-width: 100%;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tpadding-left: 7px;\\n\\tfont-size: 14px;\\n}\\n\\n.newItemContainer {\\n\\twidth: calc(100% - #{$clickable-area});\\n\\tmargin: auto;\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},8323:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-20bf47dc]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}#app-settings[data-v-20bf47dc]{margin-top:auto}#app-settings__header[data-v-20bf47dc]{box-sizing:border-box;background-color:var(--color-main-background)}#app-settings__header .settings-button[data-v-20bf47dc]{display:flex;flex:1 1 0;height:44px;width:100%;padding:0;margin:0;background-color:var(--color-main-background);box-shadow:none;border:0;border-radius:0;text-align:left;font-weight:normal;font-size:100%;color:var(--color-main-text);padding-right:14px;line-height:44px}#app-settings__header .settings-button[data-v-20bf47dc]:hover,#app-settings__header .settings-button[data-v-20bf47dc]:focus{background-color:var(--color-background-hover)}#app-settings__header .settings-button__icon[data-v-20bf47dc]{width:44px;height:44px;min-width:44px}#app-settings__header .settings-button__label[data-v-20bf47dc]{overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}#app-settings__content[data-v-20bf47dc]{display:block;padding:10px;background-color:var(--color-main-background);max-height:300px;overflow-y:auto;box-sizing:border-box}.slide-up-leave-active[data-v-20bf47dc],.slide-up-enter-active[data-v-20bf47dc]{transition-duration:var(--animation-slow);transition-property:max-height, padding;overflow-y:hidden !important}.slide-up-enter[data-v-20bf47dc],.slide-up-leave-to[data-v-20bf47dc]{max-height:0 !important;padding:0 10px !important}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationSettings/AppNavigationSettings.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+ExB,+BACC,eAAgB,CAEhB,uCACC,qBAAsB,CACtB,6CAA8C,CAF9C,wDAKC,YAAa,CACb,UAAW,CACX,WCxEkB,CDyElB,UAAW,CACX,SAAU,CACV,QAAS,CACT,6CAA8C,CAC9C,eAAgB,CAChB,QAAS,CACT,eAAgB,CAChB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,4BAA6B,CAC7B,kBAAmB,CACnB,gBCrFkB,CDiEnB,4HAwBE,8CAA+C,CAxBjD,8DA4BE,UC7FiB,CD8FjB,WC9FiB,CD+FjB,cC/FiB,CDiEnB,+DAiCE,eAAgB,CAChB,cAAe,CACf,kBAAmB,CACnB,sBAAuB,CACvB,wCAKF,aAAc,CACd,YAAa,CACb,6CAA8C,CAE9C,gBAAiB,CACjB,eAAgB,CAChB,qBAAsB,CACtB,gFAKD,yCAA0C,CAC1C,uCAAwC,CACxC,4BAA6B,CAC7B,qEAIA,uBAAwB,CACxB,yBAA0B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n#app-settings {\\n\\tmargin-top: auto;\\n\\n\\t&__header {\\n\\t\\tbox-sizing: border-box;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\t.settings-button {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 0;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t\\tborder: 0;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t\\ttext-align: left;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tfont-size: 100%;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tpadding-right: 14px;\\n\\t\\t\\tline-height: $clickable-area;\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&__icon {\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\t}\\n\\t\\t\\t&__label {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\tmax-width: 100%;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: block;\\n\\t\\tpadding: 10px;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t/* restrict height of settings and make scrollable */\\n\\t\\tmax-height: 300px;\\n\\t\\toverflow-y: auto;\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n}\\n\\n.slide-up-leave-active,\\n.slide-up-enter-active {\\n\\ttransition-duration: var(--animation-slow);\\n\\ttransition-property: max-height, padding;\\n\\toverflow-y: hidden !important;\\n}\\n\\n.slide-up-enter,\\n.slide-up-leave-to {\\n\\tmax-height: 0 !important;\\n\\tpadding: 0 10px !important;\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},805:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-31c70ec3]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button.app-navigation-toggle[data-v-31c70ec3]{position:absolute;top:0;right:0;margin-right:-44px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppNavigationToggle/AppNavigationToggle.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqExB,8CACC,iBAAkB,CAClB,KAAM,CACN,OAAQ,CACR,kBCxDoB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nbutton.app-navigation-toggle {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tmargin-right: - $clickable-area;\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},6527:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-268855c9]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}[data-v-268855c9] .modal-wrapper .modal-container{display:flex}.app-settings[data-v-268855c9]{display:flex;width:100%}.app-settings__navigation[data-v-268855c9]{min-width:200px;margin-right:20px}.app-settings__content[data-v-268855c9]{max-width:100vw;overflow-y:auto;overflow-x:hidden;padding:24px;width:100%}.navigation-list[data-v-268855c9]{height:100%;box-sizing:border-box;overflow-y:auto;padding:12px}.navigation-list__link[data-v-268855c9]{display:block;font-size:16px;height:44px;margin:4px 0;line-height:44px;border-radius:var(--border-radius-pill);font-weight:bold;padding:0 20px;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;background-color:transparent;border:none}.navigation-list__link[data-v-268855c9]:hover,.navigation-list__link[data-v-268855c9]:focus{background-color:var(--color-background-hover)}.navigation-list__link--active[data-v-268855c9]{background-color:var(--color-primary-light) !important}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppSettingsDialog/AppSettingsDialog.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC2RxB,kDACC,YAAa,CACb,+BAGA,YAAa,CACb,UAAW,CACX,2CACC,eAAgB,CAChB,iBAAkB,CAClB,wCAEA,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,YAAa,CACb,UAAW,CACX,kCAID,WAAY,CACZ,qBAAsB,CACtB,eAAgB,CAChB,YAAa,CACb,wCACC,aAAc,CACd,cAAe,CACf,WCtSmB,CDuSnB,YAAa,CACb,gBCxSmB,CDySnB,uCAAwC,CACxC,gBAAiB,CACjB,cAAe,CACf,cAAe,CACf,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CAChB,4BAA6B,CAC7B,WAAY,CAdZ,4FAiBC,8CAA+C,CAC/C,gDAEA,sDAAuD\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n::v-deep .modal-wrapper .modal-container {\\n\\tdisplay: flex;\\n}\\n\\n.app-settings {\\n\\tdisplay: flex;\\n\\twidth: 100%;\\n\\t&__navigation {\\n\\t\\tmin-width: 200px;\\n\\t\\tmargin-right: 20px;\\n\\t}\\n\\t&__content {\\n\\t\\tmax-width: 100vw;\\n\\t\\toverflow-y: auto;\\n\\t\\toverflow-x: hidden;\\n\\t\\tpadding: 24px;\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n.navigation-list {\\n\\theight: 100%;\\n\\tbox-sizing: border-box;\\n\\toverflow-y: auto;\\n\\tpadding: 12px;\\n\\t&__link {\\n\\t\\tdisplay: block;\\n\\t\\tfont-size: 16px;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 4px 0;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\tfont-weight: bold;\\n\\t\\tpadding: 0 20px;\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t\\tbackground-color: transparent;\\n\\t\\tborder: none;\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t&--active {\\n\\t\\t\\tbackground-color: var(--color-primary-light) !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},8736:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-0e33da14]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-settings-section[data-v-0e33da14]{margin-bottom:80px}.app-settings-section__title[data-v-0e33da14]{font-size:20px;font-weight:bold;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppSettingsSection/AppSettingsSection.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8CxB,uCACC,kBAAmB,CACnB,8CACC,cAAe,CACf,gBAAiB,CACjB,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-settings-section {\\n\\tmargin-bottom: 80px;\\n\\t&__title {\\n\\t\\tfont-size: 20px;\\n\\t\\tfont-weight: bold;\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},8711:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-68d5c99c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar[data-v-68d5c99c]{position:-webkit-sticky;position:sticky;z-index:1500;top:var(--header-height);right:0;display:flex;overflow-x:hidden;overflow-y:auto;flex-direction:column;flex-shrink:0;width:27vw;min-width:300px;max-width:500px;height:calc(100vh - var(--header-height));border-left:1px solid var(--color-border);background:var(--color-main-background)}.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-68d5c99c]{position:absolute;z-index:100;top:6px;right:6px;width:44px;height:44px;opacity:.7;border-radius:22px}.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-68d5c99c]:hover,.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-68d5c99c]:active,.app-sidebar .app-sidebar-header>.app-sidebar__close[data-v-68d5c99c]:focus{opacity:1;background-color:rgba(127,127,127,0.25)}.app-sidebar .app-sidebar-header>.app-sidebar__close .app-sidebar__close-icon[data-v-68d5c99c]{width:44px;height:44px}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info[data-v-68d5c99c]{flex-direction:row}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__figure[data-v-68d5c99c]{z-index:2;width:70px;height:70px;margin:9px;border-radius:3px;flex:0 0 auto}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc[data-v-68d5c99c]{padding-left:0;flex:1 1 auto;min-width:0;padding-right:94px}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-68d5c99c]{padding-right:50px}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-68d5c99c]{z-index:3;position:absolute;top:9px;left:-44px}.app-sidebar .app-sidebar-header--compact.app-sidebar-header--with-figure .app-sidebar-header__info .app-sidebar-header__desc .app-sidebar-header__menu[data-v-68d5c99c]{top:6px;right:50px;background-color:transparent;position:absolute}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__menu[data-v-68d5c99c]{position:absolute;top:6px;right:50px}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc[data-v-68d5c99c]{padding-right:94px}.app-sidebar .app-sidebar-header:not(.app-sidebar-header--with-figure) .app-sidebar-header__desc.app-sidebar-header__desc--without-actions[data-v-68d5c99c]{padding-right:50px}.app-sidebar .app-sidebar-header .app-sidebar-header__info[data-v-68d5c99c]{display:flex;flex-direction:column}.app-sidebar .app-sidebar-header__figure[data-v-68d5c99c]{width:100%;height:250px;max-height:250px;background-repeat:no-repeat;background-position:center;background-size:contain}.app-sidebar .app-sidebar-header__figure--with-action[data-v-68d5c99c]{cursor:pointer}.app-sidebar .app-sidebar-header__desc[data-v-68d5c99c]{position:relative;display:flex;flex-direction:row;justify-content:center;padding:18px 6px 18px 9px}.app-sidebar .app-sidebar-header__desc--with-tertiary-action[data-v-68d5c99c]{padding-left:0}.app-sidebar .app-sidebar-header__desc--editable .app-sidebar-header__maintitle-form[data-v-68d5c99c],.app-sidebar .app-sidebar-header__desc--with-subtitle--editable .app-sidebar-header__maintitle-form[data-v-68d5c99c]{margin-top:-2px;margin-bottom:-2px}.app-sidebar .app-sidebar-header__desc--with-subtitle--editable .app-sidebar-header__subtitle[data-v-68d5c99c]{margin-top:-2px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__tertiary-actions[data-v-68d5c99c]{display:flex;height:44px;width:44px;justify-content:center;flex:0 0 auto}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container[data-v-68d5c99c]{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;min-width:0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container[data-v-68d5c99c]{display:flex;align-items:center}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle[data-v-68d5c99c]{padding:0;min-height:30px;font-size:20px;line-height:30px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle[data-v-68d5c99c] .linkified{cursor:pointer;text-decoration:underline;margin:0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle-form[data-v-68d5c99c]{display:flex;flex:1 1 auto}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle-form .icon-confirm[data-v-68d5c99c]{margin:0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__maintitle-form input.app-sidebar-header__maintitle-input[data-v-68d5c99c]{flex:1 1 auto;margin:0;padding:7px;font-size:20px;font-weight:bold}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle-container .app-sidebar-header__menu[data-v-68d5c99c]{height:44px;width:44px;border-radius:22px;background-color:rgba(127,127,127,0.25);margin-left:5px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__maintitle[data-v-68d5c99c],.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__subtitle[data-v-68d5c99c]{overflow:hidden;width:100%;margin:0;white-space:nowrap;text-overflow:ellipsis}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__title-container .app-sidebar-header__subtitle[data-v-68d5c99c]{padding:0;opacity:.7;font-size:var(--default-font-size)}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__star[data-v-68d5c99c]{display:block;width:44px;height:44px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__star .icon-loading-small[data-v-68d5c99c]{display:block;width:44px;height:44px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__star .star[data-v-68d5c99c]{width:44px;height:44px}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__star .star--star[data-v-68d5c99c]{color:#000;opacity:.5}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__star .star--star[data-v-68d5c99c]:hover{color:#FC0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__star .star--starred[data-v-68d5c99c]{color:#FC0}.app-sidebar .app-sidebar-header__desc .app-sidebar-header__star .star--starred[data-v-68d5c99c]:hover{color:#000;opacity:.5}.app-sidebar .app-sidebar-header__description[data-v-68d5c99c]{display:flex;align-items:center;margin:0 10px}.slide-right-leave-active[data-v-68d5c99c],.slide-right-enter-active[data-v-68d5c99c]{transition-duration:var(--animation-quick);transition-property:max-width, min-width}.slide-right-enter-to[data-v-68d5c99c],.slide-right-leave[data-v-68d5c99c]{min-width:300px;max-width:500px}.slide-right-enter[data-v-68d5c99c],.slide-right-leave-to[data-v-68d5c99c]{min-width:0 !important;max-width:0 !important}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppSidebar/AppSidebar.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCokBxB,8BACC,uBAAwB,CACxB,eAAgB,CAChB,YAAa,CACb,wBAAyB,CACzB,OAAQ,CACR,YAAa,CACb,iBAAkB,CAClB,eAAgB,CAChB,qBAAsB,CACtB,aAAc,CACd,UAAW,CACX,eA7BwB,CA8BxB,eA7BwB,CA8BxB,yCAA0C,CAC1C,yCAA0C,CAC1C,uCAAwC,CAhBzC,sEAmBG,iBAAkB,CAClB,WAAY,CACZ,OA3BsB,CA4BtB,SA5BsB,CA6BtB,UC1kBkB,CD2kBlB,WC3kBkB,CD4kBlB,UC1jBgB,CD2jBhB,kBAAkC,CA1BrC,qOA8BI,SC9jBY,CD+jBZ,uCC3jB8C,CD4hBlD,+FAmCI,UCtlBiB,CDulBjB,WCvlBiB,CDmjBrB,qHA2CI,kBAAmB,CA3CvB,iJA8CK,SAAU,CACV,UAA4C,CAC5C,WAA6C,CAC7C,UAAkC,CAClC,iBAAkB,CAClB,aAAc,CAnDnB,+IAsDK,cAAe,CACf,aAAc,CACd,WAAY,CACZ,kBAAyD,CAzD9D,yLA4DM,kBAAe,CA5DrB,qLAgEM,SAAU,CACV,iBAAkB,CAClB,OAA+B,CAC/B,UAA0B,CAnEhC,yKAsEM,OA5EmB,CA6EnB,UAA6C,CAC7C,4BAA6B,CAC7B,iBAAkB,CAzExB,kHAmFI,iBAAkB,CAClB,OA1FqB,CA2FrB,UAA6C,CArFjD,kHAyFI,kBAAe,CAzFnB,4JA4FK,kBAAe,CA5FpB,4EAmGG,YAAa,CACb,qBAAsB,CApGzB,0DAyGG,UAAW,CACX,YAAa,CACb,gBAAiB,CACjB,2BAA4B,CAC5B,0BAA2B,CAC3B,uBAAwB,CA9G3B,uEAgHI,cAAe,CAhHnB,wDAsHG,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,yBAAkH,CA1HrH,8EA8HI,cAAe,CA9HnB,2NAmII,eAAgB,CAChB,kBAAmB,CApIvB,+GAwII,eAAgB,CAxIpB,8FA4II,YAAa,CACb,WChsBiB,CDisBjB,UCjsBiB,CDksBjB,sBAAuB,CACvB,aAAc,CAhJlB,6FAqJI,aAAc,CACd,YAAa,CACb,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CAzJhB,sIA4JK,YAAa,CACb,kBAAmB,CA7JxB,qKAiKM,SAAU,CACV,eAAgB,CAChB,cAAe,CACf,gBA9KkB,CAUxB,gLAwKO,cAAe,CACf,yBAA0B,CAC1B,QAAS,CA1KhB,0KA+KM,YAAa,CACb,aAAc,CAhLpB,wLAmLO,QAAS,CAnLhB,oNAuLO,aAAc,CACd,QAAS,CACT,WAtMiB,CAuMjB,cAAe,CACf,gBAAiB,CA3LxB,gKAiMM,WCpvBe,CDqvBf,UCrvBe,CDsvBf,kBAAkC,CAClC,uCChuB4C,CDiuB5C,eAAgB,CArMtB,uPA4MK,eAAgB,CAChB,UAAW,CACX,QAAS,CACT,kBAAmB,CACnB,sBAAuB,CAhN5B,2HAqNK,SAAU,CACV,UCvvBc,CDwvBd,kCAAmC,CAvNxC,kFA6NI,aAAc,CACd,UCjxBiB,CDkxBjB,WClxBiB,CDmjBrB,sGAkOK,aAAc,CACd,UCtxBgB,CDuxBhB,WCvxBgB,CDmjBrB,wFAwOK,UC3xBgB,CD4xBhB,WC5xBgB,CDmjBrB,8FA2OM,UAAW,CACX,UAAW,CA5OjB,oGA8OO,UAAW,CA9OlB,iGAkPM,UAAW,CAlPjB,uGAoPO,UAAW,CACX,UAAW,CArPlB,+DA8PG,YAAa,CACb,kBAAmB,CACnB,aAAc,CACd,sFAMF,0CAA2C,CAC3C,wCAAyC,CACzC,2EAIA,eA9RwB,CA+RxB,eA9RwB,CA+RxB,2EAIA,sBAAuB,CACvB,sBAAuB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$sidebar-min-width: 300px;\\n$sidebar-max-width: 500px;\\n\\n$desc-vertical-padding: 18px;\\n$desc-input-padding: 7px;\\n\\n// title and subtitle\\n$desc-title-height: 30px;\\n$desc-subtitle-height: 22px;\\n$desc-height: $desc-title-height + $desc-subtitle-height;\\n\\n$top-buttons-spacing: 6px;\\n\\n/*\\n\\tSidebar: to be used within #content\\n\\tapp-content will be shrinked properly\\n*/\\n.app-sidebar {\\n\\tposition: -webkit-sticky; // Safari support\\n\\tposition: sticky;\\n\\tz-index: 1500;\\n\\ttop: var(--header-height);\\n\\tright: 0;\\n\\tdisplay: flex;\\n\\toverflow-x: hidden;\\n\\toverflow-y: auto;\\n\\tflex-direction: column;\\n\\tflex-shrink: 0;\\n\\twidth: 27vw;\\n\\tmin-width: $sidebar-min-width;\\n\\tmax-width: $sidebar-max-width;\\n\\theight: calc(100vh - var(--header-height));\\n\\tborder-left: 1px solid var(--color-border);\\n\\tbackground: var(--color-main-background);\\n\\t.app-sidebar-header {\\n\\t\\t> .app-sidebar__close {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tz-index: 100;\\n\\t\\t\\ttop: $top-buttons-spacing;\\n\\t\\t\\tright: $top-buttons-spacing;\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:active,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tbackground-color: $action-background-hover;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.app-sidebar__close-icon {\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Compact mode only affects a sidebar with a figure\\n\\t\\t&--compact.app-sidebar-header--with-figure {\\n\\t\\t\\t.app-sidebar-header__info {\\n\\t\\t\\t\\tflex-direction: row;\\n\\n\\t\\t\\t\\t.app-sidebar-header__figure {\\n\\t\\t\\t\\t\\tz-index: 2;\\n\\t\\t\\t\\t\\twidth: $desc-height + $desc-vertical-padding;\\n\\t\\t\\t\\t\\theight: $desc-height + $desc-vertical-padding;\\n\\t\\t\\t\\t\\tmargin: $desc-vertical-padding / 2;\\n\\t\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t.app-sidebar-header__desc {\\n\\t\\t\\t\\t\\tpadding-left: 0;\\n\\t\\t\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\t\\tpadding-right: 2 * $clickable-area + $top-buttons-spacing;\\n\\n\\t\\t\\t\\t\\t&.app-sidebar-header__desc--without-actions {\\n\\t\\t\\t\\t\\t\\tpadding-right: #{$clickable-area + $top-buttons-spacing};\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t.app-sidebar-header__tertiary-actions {\\n\\t\\t\\t\\t\\t\\tz-index: 3; // above star\\n\\t\\t\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\t\\t\\ttop: $desc-vertical-padding / 2;\\n\\t\\t\\t\\t\\t\\tleft: -1 * $clickable-area;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t.app-sidebar-header__menu {\\n\\t\\t\\t\\t\\t\\ttop: $top-buttons-spacing;\\n\\t\\t\\t\\t\\t\\tright: $clickable-area + $top-buttons-spacing; // left of the close button\\n\\t\\t\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// sidebar without figure\\n\\t\\t&:not(.app-sidebar-header--with-figure) {\\n\\t\\t\\t// align the menu with the close button\\n\\t\\t\\t.app-sidebar-header__menu {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: $top-buttons-spacing;\\n\\t\\t\\t\\tright: $top-buttons-spacing + $clickable-area;\\n\\t\\t\\t}\\n\\t\\t\\t// increase the padding to not overlap the menu\\n\\t\\t\\t.app-sidebar-header__desc {\\n\\t\\t\\t\\tpadding-right: #{$clickable-area * 2 + $top-buttons-spacing};\\n\\n\\t\\t\\t\\t&.app-sidebar-header__desc--without-actions {\\n\\t\\t\\t\\t\\tpadding-right: #{$clickable-area + $top-buttons-spacing};\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// the container with the figure and the description\\n\\t\\t.app-sidebar-header__info {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t}\\n\\n\\t\\t// header background\\n\\t\\t&__figure {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 250px;\\n\\t\\t\\tmax-height: 250px;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-size: contain;\\n\\t\\t\\t&--with-action {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// description\\n\\t\\t&__desc {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tpadding: #{$desc-vertical-padding} #{$top-buttons-spacing} #{$desc-vertical-padding} #{$desc-vertical-padding / 2};\\n\\n\\t\\t\\t// custom overrides\\n\\t\\t\\t&--with-tertiary-action {\\n\\t\\t\\t\\tpadding-left: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--editable .app-sidebar-header__maintitle-form,\\n\\t\\t\\t&--with-subtitle--editable .app-sidebar-header__maintitle-form {\\n\\t\\t\\t\\tmargin-top: -2px;\\n\\t\\t\\t\\tmargin-bottom: -2px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&--with-subtitle--editable .app-sidebar-header__subtitle {\\n\\t\\t\\t\\tmargin-top: -2px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t.app-sidebar-header__tertiary-actions {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// titles\\n\\t\\t\\t.app-sidebar-header__title-container {\\n\\t\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tflex-direction: column;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tmin-width: 0;\\n\\n\\t\\t\\t\\t.app-sidebar-header__maintitle-container {\\n\\t\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t\\t\\t// main title\\n\\t\\t\\t\\t\\t.app-sidebar-header__maintitle {\\n\\t\\t\\t\\t\\t\\tpadding: 0;\\n\\t\\t\\t\\t\\t\\tmin-height: 30px;\\n\\t\\t\\t\\t\\t\\tfont-size: 20px;\\n\\t\\t\\t\\t\\t\\tline-height: $desc-title-height;\\n\\n\\t\\t\\t\\t\\t\\t// Needs 'deep' as the link is generated by the linkify directive\\n\\t\\t\\t\\t\\t\\t&::v-deep .linkified {\\n\\t\\t\\t\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\t\\t\\t\\ttext-decoration: underline;\\n\\t\\t\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t.app-sidebar-header__maintitle-form {\\n\\t\\t\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\t\\t\\tflex: 1 1 auto;\\n\\n\\t\\t\\t\\t\\t\\t& .icon-confirm {\\n\\t\\t\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\tinput.app-sidebar-header__maintitle-input {\\n\\t\\t\\t\\t\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\t\\t\\tpadding: $desc-input-padding;\\n\\t\\t\\t\\t\\t\\t\\tfont-size: 20px;\\n\\t\\t\\t\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// main menu\\n\\t\\t\\t\\t\\t.app-sidebar-header__menu {\\n\\t\\t\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\t\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\t\\t\\t\\t\\tbackground-color: $action-background-hover;\\n\\t\\t\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// shared between main and subtitle\\n\\t\\t\\t\\t.app-sidebar-header__maintitle,\\n\\t\\t\\t\\t.app-sidebar-header__subtitle {\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// subtitle\\n\\t\\t\\t\\t.app-sidebar-header__subtitle {\\n\\t\\t\\t\\t\\tpadding: 0;\\n\\t\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t\\t\\tfont-size: var(--default-font-size);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// favourite\\n\\t\\t\\t.app-sidebar-header__star {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\n\\t\\t\\t\\t.icon-loading-small {\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t.star {\\n\\t\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\t\\t&--star {\\n\\t\\t\\t\\t\\t\\tcolor: #000;\\n\\t\\t\\t\\t\\t\\topacity: .5;\\n\\t\\t\\t\\t\\t\\t&:hover {\\n\\t\\t\\t\\t\\t\\t\\tcolor: #FC0;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t&--starred {\\n\\t\\t\\t\\t\\t\\tcolor: #FC0;\\n\\t\\t\\t\\t\\t\\t&:hover {\\n\\t\\t\\t\\t\\t\\t\\tcolor: #000;\\n\\t\\t\\t\\t\\t\\t\\topacity: .5;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// sidebar description slot\\n\\t\\t&__description {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmargin: 0 10px;\\n\\t\\t}\\n\\t}\\n}\\n\\n.slide-right-leave-active,\\n.slide-right-enter-active {\\n\\ttransition-duration: var(--animation-quick);\\n\\ttransition-property: max-width, min-width;\\n}\\n\\n.slide-right-enter-to,\\n.slide-right-leave {\\n\\tmin-width: $sidebar-min-width;\\n\\tmax-width: $sidebar-max-width;\\n}\\n\\n.slide-right-enter,\\n.slide-right-leave-to {\\n\\tmin-width: 0 !important;\\n\\tmax-width: 0 !important;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},7464:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar-header__description button,.app-sidebar-header__description .button,.app-sidebar-header__description input[type='button'],.app-sidebar-header__description input[type='submit'],.app-sidebar-header__description input[type='reset']{padding:6px 22px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppSidebar/AppSidebar.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+1BxB,kPAKE,gBAAiB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n// ! slots specific designs, cannot be scoped\\n// if any button inside the description slot, increase visual padding\\n.app-sidebar-header__description {\\n\\tbutton, .button,\\n\\tinput[type='button'],\\n\\tinput[type='submit'],\\n\\tinput[type='reset'] {\\n\\t\\tpadding: 6px 22px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},1128:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-15932673]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar-tabs[data-v-15932673]{display:flex;flex-direction:column;min-height:0;flex:1 1 100%}.app-sidebar-tabs__nav[data-v-15932673]{margin-top:10px}.app-sidebar-tabs__nav ul[data-v-15932673]{display:flex;justify-content:stretch}.app-sidebar-tabs__tab[data-v-15932673]{display:block;flex:1 1;min-width:0;text-align:center}.app-sidebar-tabs__tab a[data-v-15932673]{position:relative;display:block;overflow:hidden;padding:25px 5px 5px 5px;transition:color var(--animation-quick),opacity var(--animation-quick),border-color var(--animation-quick);text-align:center;white-space:nowrap;text-overflow:ellipsis;opacity:.7;color:var(--color-main-text);border-bottom:1px solid var(--color-border)}.app-sidebar-tabs__tab a[data-v-15932673]:hover,.app-sidebar-tabs__tab a[data-v-15932673]:focus,.app-sidebar-tabs__tab a[data-v-15932673]:active,.app-sidebar-tabs__tab a.active[data-v-15932673]{opacity:1}.app-sidebar-tabs__tab a:hover .app-sidebar-tabs__tab-icon[data-v-15932673],.app-sidebar-tabs__tab a:focus .app-sidebar-tabs__tab-icon[data-v-15932673],.app-sidebar-tabs__tab a:active .app-sidebar-tabs__tab-icon[data-v-15932673],.app-sidebar-tabs__tab a.active .app-sidebar-tabs__tab-icon[data-v-15932673]{opacity:1}.app-sidebar-tabs__tab a[data-v-15932673]:not(.active):hover,.app-sidebar-tabs__tab a[data-v-15932673]:not(.active):focus{border-bottom-color:var(--color-background-darker);box-shadow:inset 0 -1px 0 var(--color-background-darker)}.app-sidebar-tabs__tab a.active[data-v-15932673]{color:var(--color-text-light);border-bottom-color:var(--color-text-light);box-shadow:inset 0 -1px 0 var(--color-text-light);font-weight:bold}.app-sidebar-tabs__tab a[data-v-15932673]:focus{border-bottom-color:var(--color-primary-element);box-shadow:inset 0 -1px 0 var(--color-primary-element)}.app-sidebar-tabs__tab-icon[data-v-15932673]{position:absolute;top:0;left:0;width:100%;height:25px;transition:opacity var(--animation-quick);opacity:.7}.app-sidebar-tabs__tab-icon>span[data-v-15932673]{display:flex;align-items:center;justify-content:center;background-size:16px}.app-sidebar-tabs__content[data-v-15932673]{position:relative;min-height:0;height:100%}.app-sidebar-tabs__content--multiple[data-v-15932673]>:not(section){display:none}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppSidebar/AppSidebarTabs.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+QxB,mCACC,YAAa,CACb,qBAAsB,CACtB,YAAa,CACb,aAAc,CAEd,wCACC,eAAgB,CADhB,2CAGC,YAAa,CACb,uBAAwB,CACxB,wCAGD,aAAc,CACd,QAAS,CACT,WAAY,CACZ,iBAAkB,CAJlB,0CAMC,iBAAkB,CAClB,aAAc,CACd,eAAgB,CAChB,wBAAyB,CACzB,0GAA6G,CAC7G,iBAAkB,CAClB,kBAAmB,CACnB,sBAAuB,CACvB,UCvQgB,CDwQhB,4BAA6B,CAC7B,2CAA4C,CAhB7C,kMAsBE,SC9QY,CDwPd,kTAwBG,SChRW,CDwPd,0HA6BE,kDAAmD,CACnD,wDAAyD,CA9B3D,iDAiCE,6BAA8B,CAC9B,2CAA4C,CAC5C,iDAAkD,CAClD,gBAAiB,CApCnB,gDA0CE,gDAAiD,CACjD,sDAAuD,CACvD,6CAKF,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,UAAW,CACX,WAAY,CACZ,yCAA0C,CAC1C,UChTiB,CDySjB,kDAUC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,oBAAqB,CACrB,4CAID,iBAAkB,CAElB,YAAa,CACb,WAAY,CAGZ,oEACC,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-sidebar-tabs {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tmin-height: 0;\\n\\tflex: 1 1 100%;\\n\\n\\t&__nav {\\n\\t\\tmargin-top: 10px;\\n\\t\\tul {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tjustify-content: stretch;\\n\\t\\t}\\n\\t}\\n\\t&__tab {\\n\\t\\tdisplay: block;\\n\\t\\tflex: 1 1;\\n\\t\\tmin-width: 0;\\n\\t\\ttext-align: center;\\n\\t\\ta {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tpadding: 25px 5px 5px 5px;\\n\\t\\t\\ttransition: color var(--animation-quick), opacity var(--animation-quick), border-color var(--animation-quick);\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active,\\n\\t\\t\\t&.active {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t.app-sidebar-tabs__tab-icon {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(.active):hover,\\n\\t\\t\\t&:not(.active):focus {\\n\\t\\t\\t\\tborder-bottom-color: var(--color-background-darker);\\n\\t\\t\\t\\tbox-shadow: inset 0 -1px 0 var(--color-background-darker);\\n\\t\\t\\t}\\n\\t\\t\\t&.active {\\n\\t\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\t\\tborder-bottom-color: var(--color-text-light);\\n\\t\\t\\t\\tbox-shadow: inset 0 -1px 0 var(--color-text-light);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t// differentiate the two for accessibility purpose\\n\\t\\t\\t// make sure the user knows she's focusing the navigation\\n\\t\\t\\t// and can use arrows/home/pageup...\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\tborder-bottom-color: var(--color-primary-element);\\n\\t\\t\\t\\tbox-shadow: inset 0 -1px 0 var(--color-primary-element);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__tab-icon {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\twidth: 100%;\\n\\t\\theight: 25px;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t& > span {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tbackground-size: 16px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__content {\\n\\t\\tposition: relative;\\n\\t\\t// take full available height\\n\\t\\tmin-height: 0;\\n\\t\\theight: 100%;\\n\\t\\t// force the use of the tab component if more than one tab\\n\\t\\t// you can just put raw content if you don't use tabs\\n\\t\\t&--multiple > :not(section) {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},3126:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-28609fd2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.app-sidebar__tab[data-v-28609fd2]{display:none;padding:10px;min-height:100%;max-height:100%;height:100%;overflow:auto}.app-sidebar__tab[data-v-28609fd2]:focus{border-color:var(--color-primary);box-shadow:0 0 0.2em var(--color-primary);outline:0}.app-sidebar__tab--active[data-v-28609fd2]{display:block}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/AppSidebarTab/AppSidebarTab.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+ExB,mCACC,YAAa,CACb,YAAa,CACb,eAAgB,CAChB,eAAgB,CAChB,WAAY,CACZ,aAAc,CANf,yCASE,iCAAkC,CAClC,yCAA0C,CAC1C,SAAU,CACV,2CAGA,aAAc\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.app-sidebar__tab {\\n\\tdisplay: none;\\n\\tpadding: 10px;\\n\\tmin-height: 100%; // fill available height\\n\\tmax-height: 100%; // scroll inside\\n\\theight: 100%;\\n\\toverflow: auto;\\n\\n\\t&:focus {\\n\\t\\tborder-color: var(--color-primary);\\n\\t\\tbox-shadow: 0 0 0.2em var(--color-primary);\\n\\t\\toutline: 0;\\n\\t}\\n\\n\\t&--active {\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},6016:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r),s=e(1667),l=e.n(s),c=e(8887),d=e(4831),A=e(2842),u=o()(a()),p=l()(c.Z),m=l()(d.Z),T=l()(A.Z);u.push([n.id,\".material-design-icon[data-v-41fc3610]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-41fc3610]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-41fc3610]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-41fc3610]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-41fc3610]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-41fc3610]{cursor:pointer}.avatardiv--with-menu[data-v-41fc3610] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-41fc3610],.avatardiv--with-menu .icon-loading[data-v-41fc3610]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-41fc3610]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-41fc3610],.avatardiv--with-menu:hover .icon-more[data-v-41fc3610]{opacity:1}.avatardiv--with-menu:focus img[data-v-41fc3610],.avatardiv--with-menu:hover img[data-v-41fc3610]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-41fc3610],.avatardiv--with-menu img[data-v-41fc3610]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-41fc3610]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-41fc3610]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-41fc3610]{position:absolute;right:-4px;bottom:-4px;max-height:18px;max-width:18px;height:40%;width:40%;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-41fc3610]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-41fc3610]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-41fc3610]{background-image:url(\"+p+\")}.avatardiv .avatardiv__user-status--dnd[data-v-41fc3610]{background-image:url(\"+m+\");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-41fc3610]{background-image:url(\"+T+\")}.avatardiv .avatardiv__user-status--icon[data-v-41fc3610]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-41fc3610]{position:relative;display:inline-block}.avatar-class-icon[data-v-41fc3610]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Avatar/Avatar.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCylBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,eAAgB,CAChB,cAAe,CACf,UAAW,CACX,SAAU,CACV,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CAjG/C,4DAqGG,wDAAyE,CArG5E,yDAwGG,wDAAsE,CACtE,wBAAyB,CAzG5B,0DA4GG,wDAAuE,CA5G1E,0DA+GG,WAAY,CACZ,4BAA6B,CAhHhC,iDAqHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB,+CAAgD,CAChD,WAAY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more, .icon-loading {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--size);\\n\\t\\t\\theight: var(--size);\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\tmax-height: 18px;\\n\\t\\tmax-width: 18px;\\n\\t\\theight: 40%;\\n\\t\\twidth: 40%;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=u},430:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-771b8b5f]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-crumb[data-v-771b8b5f]{background-image:none;display:inline-flex;height:44px;padding:0}.vue-crumb[data-v-771b8b5f]:last-child{max-width:210px;font-weight:bold}.vue-crumb:last-child>a[data-v-771b8b5f],.vue-crumb:last-child>a[data-v-771b8b5f] *{cursor:default}.vue-crumb:last-child .vue-crumb__separator[data-v-771b8b5f]{display:none}.vue-crumb:not(:last-child)>a[data-v-771b8b5f]:hover,.vue-crumb:not(:last-child)>a[data-v-771b8b5f]:focus{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb--hidden[data-v-771b8b5f]{display:none}.vue-crumb.vue-crumb--hovered>a[data-v-771b8b5f]{background-color:var(--color-background-dark);color:var(--color-main-text)}.vue-crumb__separator[data-v-771b8b5f]{padding:0;color:var(--color-text-maxcontrast)}.vue-crumb>a[data-v-771b8b5f]{overflow:hidden;color:var(--color-text-maxcontrast);padding:12px;max-width:100%;border-radius:var(--border-radius-pill);align-items:center;display:inline-flex}.vue-crumb>a>span[data-v-771b8b5f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vue-crumb[data-v-771b8b5f] .action-item{max-width:100%}.vue-crumb[data-v-771b8b5f] .action-item .trigger{max-width:100%}.vue-crumb[data-v-771b8b5f] .action-item__menutoggle--with-title,.vue-crumb[data-v-771b8b5f] .action-item--single--with-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;background-color:unset;border:none;padding-right:44px;padding-left:14px}.vue-crumb[data-v-771b8b5f] .action-item__menutoggle--with-title:hover,.vue-crumb[data-v-771b8b5f] .action-item__menutoggle--with-title:focus,.vue-crumb[data-v-771b8b5f] .action-item__menutoggle--with-title:active,.vue-crumb[data-v-771b8b5f] .action-item--single--with-title:hover,.vue-crumb[data-v-771b8b5f] .action-item--single--with-title:focus,.vue-crumb[data-v-771b8b5f] .action-item--single--with-title:active{background-color:var(--color-background-dark) !important;color:var(--color-main-text)}.vue-crumb[data-v-771b8b5f] .action-item__menutoggle--with-title>span.material-design-icon,.vue-crumb[data-v-771b8b5f] .action-item--single--with-title>span.material-design-icon{right:0;left:unset}.vue-crumb[data-v-771b8b5f] .action-item.action-item--open .action-item__menutoggle--with-title{background-color:var(--color-background-dark);color:var(--color-main-text)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Breadcrumb/Breadcrumb.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCsOxB,4BACC,qBAAsB,CACtB,mBAAoB,CACpB,WCxNoB,CDyNpB,SAAU,CAJX,uCAOE,eAAgB,CAChB,gBAAiB,CARnB,oFAYG,cAAe,CAZlB,6DAiBG,YAAa,CAjBhB,0GAyBG,6CAA8C,CAC9C,4BAA6B,CAC7B,oCAID,YAAa,CA/Bf,iDAmCE,6CAA8C,CAC9C,4BAA6B,CAC7B,uCAGA,SAAU,CACV,mCAAoC,CAzCtC,8BA6CE,eAAgB,CAChB,mCAAoC,CACpC,YAAa,CACb,cAAe,CACf,uCAAwC,CACxC,kBAAmB,CACnB,mBAAoB,CAnDtB,mCAsDG,eAAgB,CAChB,sBAAuB,CACvB,kBAAmB,CAxDtB,yCAgEE,cAAe,CAhEjB,kDAkEG,cAAe,CAlElB,8HAwEG,cAAe,CACf,eAAgB,CAChB,sBAAuB,CACvB,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,sBAAuB,CACvB,WAAY,CAUZ,kBAAmB,CACnB,iBAAkB,CA3FrB,gaAqFI,wDAAyD,CACzD,4BAA6B,CAtFjC,kLA6FI,OAAQ,CACR,UAAW,CA9Ff,gGAmGG,6CAA8C,CAC9C,4BAA6B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.vue-crumb {\\n\\tbackground-image: none;\\n\\tdisplay: inline-flex;\\n\\theight: $clickable-area;\\n\\tpadding: 0;\\n\\n\\t&:last-child {\\n\\t\\tmax-width: 210px;\\n\\t\\tfont-weight: bold;\\n\\n\\t\\t> a,\\n\\t\\t> a::v-deep * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t// Don't show breadcrumb separator for last crumb\\n\\t\\t.vue-crumb__separator {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Hover and focus effect for crumbs, but not the last one\\n\\t&:not(:last-child) > a {\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n\\n\\t&--hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t&#{&}--hovered > a {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n\\n\\t&__separator {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t> a {\\n\\t\\toverflow: hidden;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tpadding: 12px;\\n\\t\\tmax-width: 100%;\\n\\t\\tborder-radius: var(--border-radius-pill);\\n\\t\\talign-items: center;\\n\\t\\tdisplay: inline-flex;\\n\\n\\t\\t> span {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t}\\n\\n\\t// Adjust action item appearance for crumbs with actions\\n\\t// to match other crumbs\\n\\t&::v-deep .action-item {\\n\\t\\t// Adjustments necessary to correctly shrink on small screens\\n\\t\\tmax-width: 100%;\\n\\t\\t.trigger {\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t}\\n\\n\\t\\t&__menutoggle--with-title,\\n\\t\\t&--single--with-title {\\n\\t\\t\\t// Adjustments necessary to correctly shrink on small screens\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\n\\t\\t\\tbackground-color: unset;\\n\\t\\t\\tborder: none;\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Show the icon on the right\\n\\t\\t\\tpadding-right: 44px;\\n\\t\\t\\tpadding-left: 14px;\\n\\t\\t\\t& > span.material-design-icon {\\n\\t\\t\\t\\tright: 0;\\n\\t\\t\\t\\tleft: unset;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t// Adjust the background of the last crumb when the action is open\\n\\t\\t&.action-item--open .action-item__menutoggle--with-title {\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},9474:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-2d7b61fe]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.breadcrumb[data-v-2d7b61fe]{width:100%;flex-grow:1;display:inline-flex}.breadcrumb--collapsed .vue-crumb[data-v-2d7b61fe]:last-child{min-width:100px;flex-shrink:1}.breadcrumb .breadcrumb__crumbs[data-v-2d7b61fe]{flex-shrink:1;max-width:100%;min-width:228px}.breadcrumb .breadcrumb__crumbs[data-v-2d7b61fe],.breadcrumb .breadcrumb__actions[data-v-2d7b61fe]{display:inline-flex}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Breadcrumbs/Breadcrumbs.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+jBxB,6BACC,UAAW,CACX,WAAY,CACZ,mBAAoB,CAEpB,8DACC,eAAgB,CAChB,aAAc,CAPhB,iDAWE,aAAc,CACd,cAAe,CAKf,eAAgB,CAjBlB,mGAsBE,mBAAoB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.breadcrumb {\\n\\twidth: 100%;\\n\\tflex-grow: 1;\\n\\tdisplay: inline-flex;\\n\\n\\t&--collapsed .vue-crumb:last-child {\\n\\t\\tmin-width: 100px;\\n\\t\\tflex-shrink: 1;\\n\\t}\\n\\n\\t& #{&}__crumbs {\\n\\t\\tflex-shrink: 1;\\n\\t\\tmax-width: 100%;\\n\\t\\t/**\\n\\t\\t * This value is given by the min-width of the last crumb (100px) plus\\n\\t\\t * two times the width of a crumb with an icon (first crumb and hidden crumbs actions).\\n\\t\\t */\\n\\t\\tmin-width: 228px;\\n\\t}\\n\\n\\t& #{&}__crumbs,\\n\\t& #{&}__actions {\\n\\t\\tdisplay: inline-flex;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},3352:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-27e36536]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.button-vue[data-v-27e36536]{position:relative;width:fit-content;overflow:hidden;border:0;padding:0;font-size:var(--default-font-size);font-weight:bold;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:22px;transition:background-color 0.1s linear !important;transition:border 0.1s linear;background-color:var(--color-primary-element-lighter);color:var(--color-primary-light-text)}.button-vue *[data-v-27e36536]{cursor:pointer}.button-vue[data-v-27e36536]:focus{outline:none}.button-vue[data-v-27e36536]:disabled{cursor:default;opacity:.5;filter:saturate(.7)}.button-vue:disabled *[data-v-27e36536]{cursor:default}.button-vue[data-v-27e36536]:hover:not(:disabled){background-color:var(--color-primary-light-hover)}.button-vue[data-v-27e36536]:active{background-color:var(--color-primary-element-lighter)}.button-vue__wrapper[data-v-27e36536]{display:inline-flex;align-items:center;justify-content:space-around}.button-vue__icon[data-v-27e36536]{height:44px;width:44px;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}.button-vue__text[data-v-27e36536]{font-weight:bold;margin-bottom:1px;padding:2px 0}.button-vue--icon-only[data-v-27e36536]{width:44px !important}.button-vue--text-only[data-v-27e36536]{padding:0 12px}.button-vue--text-only .button-vue__text[data-v-27e36536]{margin-left:4px;margin-right:4px}.button-vue--icon-and-text[data-v-27e36536]{padding:0 16px 0 4px}.button-vue--wide[data-v-27e36536]{width:100%}.button-vue--tabbed[data-v-27e36536],.button-vue[data-v-27e36536]:focus-visible{box-shadow:0 0 0 2px var(--color-main-text);background-color:var(--color-primary-light-hover)}.button-vue--tabbed.button-vue--vue-primary[data-v-27e36536],.button-vue:focus-visible.button-vue--vue-primary[data-v-27e36536]{background-color:var(--color-primary-hover)}.button-vue--tabbed.button-vue--vue-secondary[data-v-27e36536],.button-vue:focus-visible.button-vue--vue-secondary[data-v-27e36536]{box-shadow:0 0 0 2px var(--color-main-text)}.button-vue--tabbed.button-vue--vue-tertiary-no-background[data-v-27e36536],.button-vue:focus-visible.button-vue--vue-tertiary-no-background[data-v-27e36536]{opacity:1}.button-vue--tabbed.button-vue--vue-success[data-v-27e36536],.button-vue:focus-visible.button-vue--vue-success[data-v-27e36536]{background-color:var(--color-success-hover)}.button-vue--tabbed.button-vue--vue-warning[data-v-27e36536],.button-vue:focus-visible.button-vue--vue-warning[data-v-27e36536]{background-color:var(--color-warning-hover)}.button-vue--tabbed.button-vue--vue-error[data-v-27e36536],.button-vue:focus-visible.button-vue--vue-error[data-v-27e36536]{background-color:var(--color-error-hover)}.button-vue--vue-primary[data-v-27e36536]{background-color:var(--color-primary-element);color:var(--color-primary-text)}.button-vue--vue-primary[data-v-27e36536]:hover:not(:disabled){background-color:var(--color-primary-element-hover)}.button-vue--vue-primary[data-v-27e36536]:active{background-color:var(--color-primary-element)}.button-vue--vue-secondary[data-v-27e36536]{color:var(--color-main-text);background-color:var(--color-background-dark);box-shadow:0 0 0 2px var(--color-border-dark)}.button-vue--vue-secondary[data-v-27e36536]:hover:not(:disabled){color:var(--color-main-text);background-color:var(--color-background-dark);box-shadow:0 0 0 2px var(--color-primary-element)}.button-vue--vue-tertiary[data-v-27e36536]{color:var(--color-main-text);background-color:transparent}.button-vue--vue-tertiary[data-v-27e36536]:hover:not(:disabled){background-color:var(--color);background-color:var(--color-background-hover)}.button-vue--vue-tertiary-no-background[data-v-27e36536]{color:var(--color-main-text);background-color:transparent;opacity:.7}.button-vue--vue-tertiary-no-background[data-v-27e36536]:hover:not(:disabled){background-color:transparent;opacity:1}.button-vue--vue-success[data-v-27e36536]{background-color:var(--color-success);color:white}.button-vue--vue-success[data-v-27e36536]:hover:not(:disabled){background-color:var(--color-success-hover)}.button-vue--vue-success[data-v-27e36536]:active{background-color:var(--color-success)}.button-vue--vue-warning[data-v-27e36536]{background-color:var(--color-warning);color:white}.button-vue--vue-warning[data-v-27e36536]:hover:not(:disabled){background-color:var(--color-warning-hover)}.button-vue--vue-warning[data-v-27e36536]:active{background-color:var(--color-warning)}.button-vue--vue-error[data-v-27e36536]{background-color:var(--color-error);color:white}.button-vue--vue-error[data-v-27e36536]:hover:not(:disabled){background-color:var(--color-error-hover)}.button-vue--vue-error[data-v-27e36536]:active{background-color:var(--color-error)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Button/Button.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0YxB,6BACC,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,QAAS,CACT,SAAU,CACV,kCAAmC,CACnC,gBAAiB,CACjB,eCjYoB,CDkYpB,cClYoB,CDmYpB,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CAGvB,cAAe,CAIf,kBAAkC,CAClC,kDAAmD,CACnD,6BAA8B,CAkB9B,qDAAsD,CACtD,qCAAsC,CAxCvC,+BAiBE,cAAe,CAjBjB,mCAyBE,YAAa,CAzBf,sCA6BE,cAAe,CAIf,UCzYmB,CD2YnB,mBAAiC,CAnCnC,wCA+BG,cAAe,CA/BlB,kDA0CE,iDAAkD,CA1CpD,oCAgDE,qDAAsD,CACtD,sCAGA,mBAAoB,CACpB,kBAAmB,CACnB,4BAA6B,CAC7B,mCAGA,WCnbmB,CDobnB,UCpbmB,CDqbnB,eCrbmB,CDsbnB,cCtbmB,CDubnB,YAAa,CACb,sBAAuB,CACvB,kBAAmB,CACnB,mCAGA,gBAAiB,CACjB,iBAAkB,CAClB,aAAc,CACd,wCAIA,qBAAiC,CACjC,wCAIA,cAAe,CADf,0DAGC,eAAgB,CAChB,gBAAiB,CACjB,4CAKD,oBAAqB,CACrB,mCAIA,UAAW,CACX,gFAMA,2CAA4C,CAC5C,iDAAkD,CAFlD,gIAIC,2CAA4C,CAJ7C,oIAOC,2CAA4C,CAP7C,8JAUC,SAAU,CAVX,gIAaC,2CAA4C,CAb7C,gIAgBC,2CAA4C,CAhB7C,4HAmBC,yCAA0C,CAC1C,0CAOD,6CAA8C,CAC9C,+BAAgC,CAFhC,+DAIC,mDAAoD,CAJrD,iDASC,6CAA8C,CAC9C,4CAKD,4BAA6B,CAC7B,6CAA8C,CAC9C,6CAA8C,CAH9C,iEAKC,4BAA6B,CAC7B,6CAA8C,CAC9C,iDAAkD,CAClD,2CAKD,4BAA6B,CAC7B,4BAA6B,CAF7B,gEAIC,6BAA8B,CAC9B,8CAA+C,CAC/C,yDAKD,4BAA6B,CAC7B,4BAA6B,CAC7B,UAAW,CAHX,8EAKC,4BAA6B,CAC7B,SAAU,CACV,0CAKD,qCAAsC,CACtC,WAAY,CAFZ,+DAIC,2CAA4C,CAJ7C,iDASC,qCAAsC,CACtC,0CAKD,qCAAsC,CACtC,WAAY,CAFZ,+DAIC,2CAA4C,CAJ7C,iDASC,qCAAsC,CACtC,wCAKD,mCAAoC,CACpC,WAAY,CAFZ,6DAIC,yCAA0C,CAJ3C,+CASC,mCAAoC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.button-vue {\\n\\tposition: relative;\\n\\twidth: fit-content;\\n\\toverflow: hidden;\\n\\tborder: 0;\\n\\tpadding: 0;\\n\\tfont-size: var(--default-font-size);\\n\\tfont-weight: bold;\\n\\tmin-height: $clickable-area;\\n\\tmin-width: $clickable-area;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\n\\t// Cursor pointer on element and all children\\n\\tcursor: pointer;\\n\\t& * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\tborder-radius: $clickable-area / 2;\\n\\ttransition: background-color 0.1s linear !important;\\n\\ttransition: border 0.1s linear;\\n\\n\\t// No outline feedback for focus. Handled with a toggled class in js (see data)\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\t& * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t// Gives a wash out effect\\n\\t\\tfilter: saturate($opacity_normal);\\n\\t}\\n\\n\\t// Default button type\\n\\tbackground-color: var(--color-primary-element-lighter);\\n\\tcolor: var(--color-primary-light-text);\\n\\t&:hover:not(:disabled) {\\n\\t\\tbackground-color: var(--color-primary-light-hover);\\n\\t}\\n\\n\\t// Back to the default color for this button when active\\n\\t// TODO: add ripple effect\\n\\t&:active {\\n\\t\\tbackground-color: var(--color-primary-element-lighter);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: space-around;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\theight: $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-height: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__text {\\n\\t\\tfont-weight: bold;\\n\\t\\tmargin-bottom: 1px;\\n\\t\\tpadding: 2px 0;\\n\\t}\\n\\n\\t// Icon-only button\\n\\t&--icon-only {\\n\\t\\twidth: $clickable-area !important;\\n\\t}\\n\\n\\t// Text-only button\\n\\t&--text-only {\\n\\t\\tpadding: 0 12px;\\n\\t\\t& .button-vue__text {\\n\\t\\t\\tmargin-left: 4px;\\n\\t\\t\\tmargin-right: 4px;\\n\\t\\t}\\n\\t}\\n\\n\\t// Icon and text button\\n\\t&--icon-and-text {\\n\\t\\tpadding: 0 16px 0 4px;\\n\\t}\\n\\n\\t// Wide button spans the whole width of the container\\n\\t&--wide {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t// We use box-shadow around our buttons instead of an outline, so that the added \\\"border\\\"\\n\\t// coincides with the border of the element. It's not possible to add a border-radius to\\n\\t// the outline\\n\\t&--tabbed, &:focus-visible {\\n\\t\\tbox-shadow: 0 0 0 2px var(--color-main-text);\\n\\t\\tbackground-color: var(--color-primary-light-hover);\\n\\t\\t&.button-vue--vue-primary {\\n\\t\\t\\tbackground-color: var(--color-primary-hover);\\n\\t\\t}\\n\\t\\t&.button-vue--vue-secondary {\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-main-text);\\n\\t\\t}\\n\\t\\t&.button-vue--vue-tertiary-no-background {\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t\\t&.button-vue--vue-success {\\n\\t\\t\\tbackground-color: var(--color-success-hover);\\n\\t\\t}\\n\\t\\t&.button-vue--vue-warning {\\n\\t\\t\\tbackground-color: var(--color-warning-hover);\\n\\t\\t}\\n\\t\\t&.button-vue--vue-error {\\n\\t\\t\\tbackground-color: var(--color-error-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Button types\\n\\n\\t// Primary\\n\\t&--vue-primary {\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-primary-element-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n\\n\\t// Secondary\\n\\t&--vue-secondary {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\tbox-shadow: 0 0 0 2px var(--color-border-dark);\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbox-shadow: 0 0 0 2px var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary\\n\\t&--vue-tertiary {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n\\n\\t// Tertiary, no background\\n\\t&--vue-tertiary-no-background {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground-color: transparent;\\n\\t\\topacity: .7;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t// Success\\n\\t&--vue-success {\\n\\t\\tbackground-color: var(--color-success);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-success-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// : add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t}\\n\\n\\t// Warning\\n\\t&--vue-warning {\\n\\t\\tbackground-color: var(--color-warning);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-warning-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-warning);\\n\\t\\t}\\n\\t}\\n\\n\\t// Error\\n\\t&--vue-error {\\n\\t\\tbackground-color: var(--color-error);\\n\\t\\tcolor: white;\\n\\t\\t&:hover:not(:disabled) {\\n\\t\\t\\tbackground-color: var(--color-error-hover);\\n\\t\\t}\\n\\t\\t// Back to the default color for this button when active\\n\\t\\t// TODO: add ripple effect\\n\\t\\t&:active {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},2778:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-036397c2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.checkbox-radio-switch[data-v-036397c2]{display:flex}.checkbox-radio-switch__input[data-v-036397c2]{position:fixed;z-index:-1;top:-5000px;left:-5000px;opacity:0}.checkbox-radio-switch__label[data-v-036397c2]{display:flex;align-items:center;user-select:none;height:44px;border-radius:44px;padding:0 14px;margin:0 -14px}.checkbox-radio-switch__label[data-v-036397c2],.checkbox-radio-switch__label *[data-v-036397c2]{cursor:pointer}.checkbox-radio-switch__icon[data-v-036397c2]{margin-right:4px;margin-left:-2px;color:var(--color-primary-element);width:var(--icon-size);height:var(--icon-size)}.checkbox-radio-switch--disabled .checkbox-radio-switch__label[data-v-036397c2]{opacity:.5}.checkbox-radio-switch--disabled .checkbox-radio-switch__label .checkbox-radio-switch__icon[data-v-036397c2]{color:var(--color-text-light)}.checkbox-radio-switch:not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__input:hover+.checkbox-radio-switch__label[data-v-036397c2],.checkbox-radio-switch:not(.checkbox-radio-switch--disabled) .checkbox-radio-switch__input:focus+.checkbox-radio-switch__label[data-v-036397c2]{background-color:var(--color-primary-light)}.checkbox-radio-switch-switch:not(.checkbox-radio-switch--checked) .checkbox-radio-switch__icon[data-v-036397c2]{color:var(--color-text-lighter)}.checkbox-radio-switch-switch.checkbox-radio-switch--disabled.checkbox-radio-switch--checked .checkbox-radio-switch__icon[data-v-036397c2]{color:var(--color-primary-element-light)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/CheckboxRadioSwitch/CheckboxRadioSwitch.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCmZxB,wCACC,YAAa,CAEb,+CACC,cAAe,CACf,UAAW,CACX,WAAY,CACZ,YAAa,CACb,SAAU,CACV,+CAGA,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,WCjZmB,CDkZnB,kBClZmB,CDmZnB,cC3Y8C,CD4Y9C,cAA0B,CAP1B,gGAUC,cAAe,CACf,8CAID,gBA5BW,CA8BX,gBAAiB,CACjB,kCAAmC,CACnC,sBAAuB,CACvB,uBAAwB,CACxB,gFAGA,UCpZmB,CDmZnB,6GAGC,6BAA8B,CArCjC,gSA2CE,2CAA4C,CAC5C,iHAIA,+BAAgC,CAChC,2IAIA,wCAAyC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$spacing: 4px;\\n\\n.checkbox-radio-switch {\\n\\tdisplay: flex;\\n\\n\\t&__input {\\n\\t\\tposition: fixed;\\n\\t\\tz-index: -1;\\n\\t\\ttop: -5000px;\\n\\t\\tleft: -5000px;\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tuser-select: none;\\n\\t\\theight: $clickable-area;\\n\\t\\tborder-radius: $clickable-area;\\n\\t\\tpadding: 0 $icon-margin;\\n\\t\\tmargin: 0 #{-$icon-margin};\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmargin-right: $spacing;\\n\\t\\t// Remove the left margin of material design icons to align text\\n\\t\\tmargin-left: -2px;\\n\\t\\tcolor: var(--color-primary-element);\\n\\t\\twidth: var(--icon-size);\\n\\t\\theight: var(--icon-size);\\n\\t}\\n\\n\\t&--disabled &__label {\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t.checkbox-radio-switch__icon {\\n\\t\\t\\tcolor: var(--color-text-light)\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(&--disabled) &__input:hover + &__label,\\n\\t&:not(&--disabled) &__input:focus + &__label {\\n\\t\\tbackground-color: var(--color-primary-light);\\n\\t}\\n\\n\\t// Switch specific rules\\n\\t&-switch:not(&--checked) &__icon {\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t}\\n\\n\\t// If switch is checked AND disabled, use the fade primary colour\\n\\t&-switch.checkbox-radio-switch--disabled.checkbox-radio-switch--checked &__icon {\\n\\t\\tcolor: var(--color-primary-element-light);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},5682:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-146dc9d9]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.color-picker[data-v-146dc9d9]{display:flex;overflow:hidden;align-content:flex-end;flex-direction:column;justify-content:space-between;box-sizing:content-box !important;width:176px;padding:4px;border-radius:3px;height:196px}.color-picker__simple[data-v-146dc9d9]{display:grid;grid-template-columns:repeat(4, 44px);grid-auto-rows:44px}.color-picker__simple-color-circle[data-v-146dc9d9]{display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;margin:auto;padding:0;color:white;border:none;border-radius:17px;font-size:16px}.color-picker__simple-color-circle[data-v-146dc9d9]:hover{opacity:.6}.color-picker__simple-color-circle--active[data-v-146dc9d9]{opacity:1 !important}.color-picker__advanced[data-v-146dc9d9]{box-shadow:none !important}.color-picker__navigation[data-v-146dc9d9]{display:flex;flex-direction:row;justify-content:space-between;margin-top:10px}.color-picker__navigation-button[data-v-146dc9d9]{display:flex;align-content:center;justify-content:center;min-width:44px;height:44px;padding:0;margin:0;border:none;border-radius:22px;background:none;justify-self:flex-end;opacity:.7}.color-picker__navigation-button[data-v-146dc9d9]:focus,.color-picker__navigation-button[data-v-146dc9d9]:hover{background-color:rgba(127,127,127,0.25);opacity:1}.color-picker__navigation-button.confirm[data-v-146dc9d9]{display:flex;align-items:center;justify-content:center;padding:4px 8px;color:white !important;background-color:var(--color-primary)}.color-picker__navigation-button.confirm[data-v-146dc9d9]:hover{background-color:var(--color-primary-element-light)}.color-picker__navigation-button.more-settings[data-v-146dc9d9]{margin-left:auto}[data-v-146dc9d9] .vc-chrome{width:176px;height:13}[data-v-146dc9d9] .vc-chrome-color-wrap{width:30px;height:30px}[data-v-146dc9d9] .vc-chrome-active-color{width:34px;height:34px;border-radius:17px}[data-v-146dc9d9] .vc-chrome-body{padding:14px 0 0 0}[data-v-146dc9d9] .vc-chrome-saturation-wrap{border-radius:3px}[data-v-146dc9d9] .vc-chrome-saturation-circle{width:20px;height:20px}.slide-enter[data-v-146dc9d9]{transform:translateX(-50%);opacity:0}.slide-enter-to[data-v-146dc9d9]{transform:translateX(0);opacity:1}.slide-leave[data-v-146dc9d9]{transform:translateX(0);opacity:1}.slide-leave-to[data-v-146dc9d9]{transform:translateX(-50%);opacity:0}.slide-enter-active[data-v-146dc9d9],.slide-leave-active[data-v-146dc9d9]{transition:all 50ms ease-in-out}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/ColorPicker/ColorPicker.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC4QxB,+BACC,YAAa,CACb,eAAgB,CAChB,sBAAuB,CACvB,qBAAsB,CACtB,6BAA8B,CAC9B,iCAAkC,CAClC,WAAY,CACZ,WAAY,CACZ,iBAAkB,CAClB,YAAa,CAEb,uCACC,YAAa,CACb,qCAAiD,CACjD,mBC1QmB,CD4QnB,oDACC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UAAW,CACX,WAAY,CACZ,eAAgB,CAChB,WAAY,CACZ,SAAU,CACV,WAAY,CACZ,WAAY,CACZ,kBAAmB,CACnB,cAAe,CAZf,0DAcC,UAAW,CACX,4DAEA,oBAAqB,CACrB,yCAKF,0BAA2B,CAC3B,2CAGA,YAAa,CACb,kBAAmB,CACnB,6BAA8B,CAC9B,eAAgB,CAChB,kDACC,YAAa,CACb,oBAAqB,CACrB,sBAAuB,CACvB,cC/SkB,CDgTlB,WChTkB,CDiTlB,SAAU,CACV,QAAS,CACT,WAAY,CACZ,kBAAkC,CAClC,eAAgB,CAChB,qBAAsB,CACtB,UCrSgB,CDyRhB,gHAgBC,uCChToC,CDiTpC,SCzSY,CDwRb,0DAqBC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CAChB,sBAAuB,CACvB,qCAAsC,CA1BvC,gEA4BE,mDAAoD,CA5BtD,gEAgCC,gBAAiB,CACjB,6BAOF,WAAY,CACZ,SAAU,CAHZ,wCAKG,UAAW,CACX,WAAY,CANf,0CAUG,UAAW,CACX,WAAY,CACZ,kBAAmB,CAZtB,kCAgBG,kBAAmB,CAhBtB,6CAqBI,iBAAkB,CArBtB,+CAyBI,UAAW,CACX,WAAY,CACZ,8BAOF,0BAA2B,CAC3B,SAAU,CACV,iCAEA,uBAAwB,CACxB,SAAU,CACV,8BAEA,uBAAwB,CACxB,SAAU,CACV,iCAEA,0BAA2B,CAC3B,SAAU,CACV,0EAGA,+BAAgC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.color-picker {\\n\\tdisplay: flex;\\n\\toverflow: hidden;\\n\\talign-content: flex-end;\\n\\tflex-direction: column;\\n\\tjustify-content: space-between;\\n\\tbox-sizing: content-box !important;\\n\\twidth: 176px;\\n\\tpadding: 4px;\\n\\tborder-radius: 3px;\\n\\theight: 196px;\\n\\n\\t&__simple {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-template-columns: repeat(4, $clickable-area);\\n\\t\\tgrid-auto-rows: $clickable-area;\\n\\n\\t\\t&-color-circle {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: 34px;\\n\\t\\t\\theight: 34px;\\n\\t\\t\\tmin-height: 34px;\\n\\t\\t\\tmargin: auto;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcolor: white;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tborder-radius: 17px;\\n\\t\\t\\tfont-size: 16px;\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\topacity: .6;\\n\\t\\t\\t}\\n\\t\\t\\t&--active {\\n\\t\\t\\t\\topacity: 1 !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__advanced {\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t&__navigation {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tjustify-content: space-between;\\n\\t\\tmargin-top: 10px;\\n\\t\\t&-button {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-content: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\t\\tbackground: none;\\n\\t\\t\\tjustify-self: flex-end;\\n\\t\\t\\topacity: $opacity_normal;\\n\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tbackground-color: $icon-focus-bg;\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.confirm {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tpadding: 4px 8px;\\n\\t\\t\\t\\tcolor: white !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary);\\n\\t\\t\\t\\t&:hover {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.more-settings {\\n\\t\\t\\t\\tmargin-left: auto;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n::v-deep .vc {\\n\\t&-chrome {\\n\\t\\twidth: 176px;\\n\\t\\theight: 13;\\n\\t\\t&-color-wrap {\\n\\t\\t\\twidth: 30px;\\n\\t\\t\\theight: 30px;\\n\\t\\t}\\n\\n\\t\\t&-active-color {\\n\\t\\t\\twidth: 34px;\\n\\t\\t\\theight: 34px;\\n\\t\\t\\tborder-radius: 17px;\\n\\t\\t}\\n\\n\\t\\t&-body {\\n\\t\\t\\tpadding: 14px 0 0 0;\\n\\t\\t}\\n\\n\\t\\t&-saturation {\\n\\t\\t\\t&-wrap {\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&-circle {\\n\\t\\t\\t\\twidth: 20px;\\n\\t\\t\\t\\theight: 20px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.slide {\\n\\t&-enter {\\n\\t\\ttransform: translateX(-50%);\\n\\t\\topacity: 0;\\n\\t}\\n\\t&-enter-to {\\n\\t\\ttransform: translateX(0);\\n\\t\\topacity: 1;\\n\\t}\\n\\t&-leave {\\n\\t\\ttransform: translateX(0);\\n\\t\\topacity: 1;\\n\\t}\\n\\t&-leave-to {\\n\\t\\ttransform: translateX(-50%);\\n\\t\\topacity: 0;\\n\\t}\\n\\t&-enter-active,\\n\\t&-leave-active {\\n\\t\\ttransition: all 50ms ease-in-out;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},6919:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-4d37098a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.content[data-v-4d37098a]{box-sizing:border-box;position:relative;display:flex;padding-top:50px;min-height:100%}.content[data-v-4d37098a] *{box-sizing:border-box}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Content/Content.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0ExB,0BACC,qBAAsB,CACtB,iBAAkB,CAClB,YAAa,CACb,gBAAiB,CACjB,eAAgB,CALjB,6BAOE,qBAAsB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.content {\\n\\tbox-sizing: border-box;\\n\\tposition: relative;\\n\\tdisplay: flex;\\n\\tpadding-top: 50px;\\n\\tmin-height: 100%;\\n\\t::v-deep * {\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},8560:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-0f57a605]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.counter-bubble__counter[data-v-0f57a605]{font-size:calc(var(--default-font-size) * .8);overflow:hidden;width:fit-content;max-width:44px;text-align:center;text-overflow:ellipsis;line-height:1em;padding:4px 6px;border-radius:var(--border-radius-pill);background-color:var(--color-background-darker);font-weight:bold}.counter-bubble__counter--highlighted[data-v-0f57a605]{color:var(--color-primary-text);background-color:var(--color-primary)}.counter-bubble__counter--outlined[data-v-0f57a605]{color:var(--color-primary);background:transparent;box-shadow:inset 0 0 0 2px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/CounterBubble/CounterBubble.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCwExB,0CACC,6CAA8C,CAC9C,eAAgB,CAChB,iBAAkB,CAClB,cC3DoB,CD4DpB,iBAAkB,CAClB,sBAAuB,CACvB,eAAgB,CAChB,eAAgB,CAChB,uCAAwC,CACxC,+CAAgD,CAChD,gBAAiB,CAEjB,uDACC,+BAAgC,CAChC,qCAAsC,CACtC,oDAGA,0BAA2B,CAC3B,sBAAuB,CACvB,0BAA2B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.counter-bubble__counter {\\n\\tfont-size: calc(var(--default-font-size) * .8);\\n\\toverflow: hidden;\\n\\twidth: fit-content;\\n\\tmax-width: $clickable-area;\\n\\ttext-align: center;\\n\\ttext-overflow: ellipsis;\\n\\tline-height: 1em;\\n\\tpadding: 4px 6px;\\n\\tborder-radius: var(--border-radius-pill);\\n\\tbackground-color: var(--color-background-darker);\\n\\tfont-weight: bold;\\n\\n\\t&--highlighted {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary);\\n\\t}\\n\\n\\t&--outlined {\\n\\t\\tcolor: var(--color-primary);\\n\\t\\tbackground: transparent;\\n\\t\\tbox-shadow: inset 0 0 0 2px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},8004:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-6e184da2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.datetime-picker-inline-icon[data-v-6e184da2]{opacity:.3;border:none;background-color:transparent;border-radius:0;padding:6px !important}.datetime-picker-inline-icon--highlighted[data-v-6e184da2]{opacity:.7}.datetime-picker-inline-icon[data-v-6e184da2]:focus,.datetime-picker-inline-icon[data-v-6e184da2]:hover{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/DatetimePicker/DatetimePicker.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0VxB,8CACC,UAAW,CACX,WAAY,CACZ,4BAA6B,CAC7B,eAAgB,CAChB,sBAAuB,CAEvB,2DACC,UAAW,CARb,wGAaE,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.datetime-picker-inline-icon {\\n\\topacity: .3;\\n\\tborder: none;\\n\\tbackground-color: transparent;\\n\\tborder-radius: 0;\\n\\tpadding: 6px !important;\\n\\n\\t&--highlighted {\\n\\t\\topacity: .7;\\n\\t}\\n\\n\\t&:focus,\\n\\t&:hover {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},1271:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-c0b73214]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.empty-content[data-v-c0b73214]{display:flex;align-items:center;flex-direction:column;margin-top:20vh}.empty-content__icon[data-v-c0b73214]{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 15px;opacity:.4;background-repeat:no-repeat;background-position:center;background-size:64px}.empty-content__icon[data-v-c0b73214] svg{width:64px;height:64px}.empty-content__title[data-v-c0b73214]{margin-bottom:10px;text-align:center}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/EmptyContent/EmptyContent.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCmFxB,gCACC,YAAa,CACb,kBAAmB,CACnB,qBAAsB,CACtB,eAAgB,CAEhB,sCACC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UAAW,CACX,WAAY,CACZ,kBAAmB,CACnB,UAAW,CACX,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAAqB,CAVrB,2CAaC,UAAW,CACX,WAAY,CACZ,uCAID,kBAAmB,CACnB,iBAAkB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.empty-content {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tflex-direction: column;\\n\\tmargin-top: 20vh;\\n\\n\\t&__icon {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 64px;\\n\\t\\theight: 64px;\\n\\t\\tmargin: 0 auto 15px;\\n\\t\\topacity: .4;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 64px;\\n\\n\\t\\t::v-deep svg {\\n\\t\\t\\twidth: 64px;\\n\\t\\t\\theight: 64px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\tmargin-bottom: 10px;\\n\\t\\ttext-align: center;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},1087:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-609d49c7]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.list-item__wrapper[data-v-609d49c7]{position:relative;width:100%}.list-item[data-v-609d49c7]{display:block;position:relative;flex:0 0 auto;justify-content:flex-start;padding:8px;border-radius:16px;margin:2px 0;width:100%;cursor:pointer;transition:background-color 200ms ease-in-out;list-style:none}.list-item[data-v-609d49c7]:hover,.list-item[data-v-609d49c7]:focus{background-color:var(--color-background-hover)}.list-item--active[data-v-609d49c7],.list-item[data-v-609d49c7]:active,.list-item:active ~ .app-navigation-entry__utils[data-v-609d49c7]{background-color:var(--color-primary-light)}.list-item-content__wrapper[data-v-609d49c7]{display:flex;align-items:center}.list-item-content[data-v-609d49c7]{display:flex;flex:1 1 auto;justify-content:space-between;padding-left:8px}.list-item-content__main[data-v-609d49c7]{flex:1 1 auto;flex-direction:column;width:0;margin:auto 0}.list-item-content__actions[data-v-609d49c7]{flex:0 0 auto;align-self:center;justify-content:center}.list-item__extra[data-v-609d49c7]{margin-top:4px}.line-one[data-v-609d49c7]{display:flex;align-items:center;justify-content:space-between;white-space:nowrap;margin:0 auto}.line-one--bold[data-v-609d49c7]{font-weight:bold}.line-one__title[data-v-609d49c7]{overflow:hidden;flex-grow:1;cursor:pointer;text-overflow:ellipsis;color:var(--color-main-text)}.line-one__details[data-v-609d49c7]{color:var(--color-text-lighter);margin:0 8px;font-weight:normal}.line-two[data-v-609d49c7]{display:flex;align-items:flex-start;justify-content:space-between;white-space:nowrap}.line-two--bold[data-v-609d49c7]{font-weight:bold}.line-two__subtitle[data-v-609d49c7]{overflow:hidden;flex-grow:1;padding-right:4px;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-lighter)}.line-two__counter[data-v-609d49c7]{margin:2px 4px 0 0}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/ListItem/ListItem.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgdxB,qCACC,iBAAkB,CAClB,UAAW,CACX,4BAIA,aAAc,CACd,iBAAkB,CAClB,aAAc,CACd,0BAA2B,CAC3B,WAAY,CACZ,kBAAmB,CACnB,YAAa,CACb,UAAW,CACX,cAAe,CACf,6CAA8C,CAC9C,eAAgB,CAXjB,oEAcE,8CAA+C,CAC/C,yIAIA,2CAA4C,CAC5C,6CAGA,YAAa,CACb,kBAAmB,CACnB,oCAGA,YAAa,CACb,aAAc,CACd,6BAA8B,CAC9B,gBAAiB,CAEjB,0CACC,aAAc,CACd,qBAAsB,CACtB,OAAQ,CACR,aAAc,CACd,6CAGA,aAAc,CACd,iBAAkB,CAClB,sBAAuB,CAEvB,mCAID,cAAe,CACf,2BAID,YAAa,CACb,kBAAmB,CACnB,6BAA8B,CAC9B,kBAAmB,CACnB,aAAc,CACd,iCACC,gBAAiB,CACjB,kCAGA,eAAgB,CAChB,WAAY,CACZ,cAAe,CACf,sBAAuB,CACvB,4BAA6B,CAC7B,oCAGA,+BAAgC,CAChC,YAAa,CACb,kBAAmB,CACnB,2BAID,YAAa,CACb,sBAAuB,CACvB,6BAA8B,CAC9B,kBAAmB,CACnB,iCACC,gBAAiB,CACjB,qCAGA,eAAgB,CAChB,WAAY,CACZ,iBAAkB,CAClB,cAAe,CACf,kBAAmB,CACnB,sBAAuB,CACvB,+BAAgC,CAChC,oCAGA,kBAAmB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.list-item__wrapper{\\n\\tposition: relative;\\n\\twidth: 100%;\\n}\\n\\n// listItem\\n.list-item {\\n\\tdisplay: block;\\n\\tposition: relative;\\n\\tflex: 0 0 auto;\\n\\tjustify-content: flex-start;\\n\\tpadding: 8px;\\n\\tborder-radius: 16px;\\n\\tmargin: 2px 0;\\n\\twidth: 100%;\\n\\tcursor: pointer;\\n\\ttransition: background-color 200ms ease-in-out;\\n\\tlist-style: none;\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\t&--active,\\n\\t&:active,\\n\\t&:active ~ .app-navigation-entry__utils {\\n\\t\\tbackground-color: var(--color-primary-light);\\n\\t}\\n\\n\\t&-content__wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&-content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 auto;\\n\\t\\tjustify-content: space-between;\\n\\t\\tpadding-left: 8px;\\n\\n\\t\\t&__main {\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 0;\\n\\t\\t\\tmargin: auto 0;\\n\\t\\t}\\n\\n\\t\\t&__actions {\\n\\t\\t\\tflex: 0 0 auto;\\n\\t\\t\\talign-self: center;\\n\\t\\t\\tjustify-content: center;\\n\\n\\t\\t}\\n\\t}\\n\\n\\t&__extra {\\n\\t\\tmargin-top: 4px;\\n\\t}\\n}\\n\\n.line-one {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: space-between;\\n\\twhite-space: nowrap;\\n\\tmargin: 0 auto;\\n\\t&--bold {\\n\\t\\tfont-weight: bold;\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tflex-grow: 1;\\n\\t\\tcursor: pointer;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: var(--color-main-text);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tmargin: 0 8px;\\n\\t\\tfont-weight: normal;\\n\\t}\\n}\\n\\n.line-two {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\tjustify-content: space-between;\\n\\twhite-space: nowrap;\\n\\t&--bold {\\n\\t\\tfont-weight: bold;\\n\\t}\\n\\n\\t&__subtitle {\\n\\t\\toverflow: hidden;\\n\\t\\tflex-grow: 1;\\n\\t\\tpadding-right: 4px;\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t}\\n\\n\\t&__counter {\\n\\t\\tmargin: 2px 4px 0 0;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},9863:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-1e7d5981]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-1e7d5981]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-1e7d5981]{margin-right:var(--margin)}.option__details[data-v-1e7d5981]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-1e7d5981]{color:var(--color-text-light)}.option__linetwo[data-v-1e7d5981]{opacity:.7}.option__lineone[data-v-1e7d5981],.option__linetwo[data-v-1e7d5981]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-1e7d5981],.option__linetwo strong[data-v-1e7d5981]{font-weight:bold}.option__icon[data-v-1e7d5981]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/ListItemIcon/ListItemIcon.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC6NxB,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UChNiB,CDiNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aChPmB,CDiPnB,UCjPmB,CDkPnB,WClPmB,CDmPnB,UClOmB,CDmOnB,0BAA2B,CAC3B,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\t&__linetwo {\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},1309:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-2da14a6a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-2da14a6a]{position:fixed;z-index:9998;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,0.5)}.modal-mask--dark[data-v-2da14a6a]{background-color:rgba(0,0,0,0.92)}.modal-header[data-v-2da14a6a]{position:absolute;z-index:10001;top:0;right:0;left:0;display:flex !important;align-items:center;justify-content:center;width:100%;height:50px;transition:opacity 250ms, visibility 250ms}.modal-header.invisible[style*='display:none'][data-v-2da14a6a],.modal-header.invisible[style*='display: none'][data-v-2da14a6a]{visibility:hidden}.modal-header .modal-title[data-v-2da14a6a]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 132px 0 12px;transition:padding ease 100ms;white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:14px}@media only screen and (min-width: 512px){.modal-header .modal-title[data-v-2da14a6a]{padding-left:132px;text-align:center}}.modal-header .icons-menu[data-v-2da14a6a]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .header-close[data-v-2da14a6a]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:3px;padding:0}.modal-header .icons-menu .play-pause-icons[data-v-2da14a6a]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;border:none;background-color:transparent}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-2da14a6a],.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-2da14a6a],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-2da14a6a],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-2da14a6a]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,0.25)}.modal-header .icons-menu .play-pause-icons__play[data-v-2da14a6a],.modal-header .icons-menu .play-pause-icons__pause[data-v-2da14a6a]{box-sizing:border-box;width:44px;height:44px;margin:3px;cursor:pointer;opacity:.7}.modal-header .icons-menu .header-actions[data-v-2da14a6a]{margin:3px;color:white}.modal-header .icons-menu .action-item--single[data-v-2da14a6a]{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-2da14a6a] button{color:#fff}.modal-header .icons-menu[data-v-2da14a6a] .action-item__menutoggle{padding:0}.modal-header .icons-menu[data-v-2da14a6a] .action-item__menutoggle span,.modal-header .icons-menu[data-v-2da14a6a] .action-item__menutoggle svg{width:var(--icon-size);height:var(--icon-size)}.modal-wrapper[data-v-2da14a6a]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-2da14a6a],.modal-wrapper .next[data-v-2da14a6a]{z-index:10000;display:flex !important;align-items:center;justify-content:center;width:8%;min-width:44px;height:35vw;position:absolute;transition:opacity 250ms, visibility 250ms}.modal-wrapper .prev.invisible[style*='display:none'][data-v-2da14a6a],.modal-wrapper .prev.invisible[style*='display: none'][data-v-2da14a6a],.modal-wrapper .next.invisible[style*='display:none'][data-v-2da14a6a],.modal-wrapper .next.invisible[style*='display: none'][data-v-2da14a6a]{visibility:hidden}.modal-wrapper .prev[data-v-2da14a6a]{left:0}.modal-wrapper .next[data-v-2da14a6a]{right:0}.modal-wrapper .icon-next[data-v-2da14a6a],.modal-wrapper .icon-previous[data-v-2da14a6a]{box-sizing:border-box;width:44px;height:44px;color:white;background-image:none;display:flex}.modal-wrapper .modal-container[data-v-2da14a6a]{display:block;overflow:auto;padding:0;transition:transform 300ms ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);box-shadow:0 0 40px rgba(0,0,0,0.2)}.modal-wrapper--small .modal-container[data-v-2da14a6a]{width:390px;max-width:95%;max-height:90%}.modal-wrapper--normal .modal-container[data-v-2da14a6a]{max-width:90%;width:600px;max-height:90%}.modal-wrapper--large .modal-container[data-v-2da14a6a]{max-width:90%;width:900px;max-height:90%}.modal-wrapper--full .modal-container[data-v-2da14a6a]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}@media only screen and (max-width: 512px){.modal-wrapper:not(.modal-wrapper--small) .modal-container[data-v-2da14a6a]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}}.fade-enter-active[data-v-2da14a6a],.fade-leave-active[data-v-2da14a6a]{transition:opacity 250ms}.fade-enter[data-v-2da14a6a],.fade-leave-to[data-v-2da14a6a]{opacity:0}.fade-visibility-enter[data-v-2da14a6a],.fade-visibility-leave-to[data-v-2da14a6a]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-2da14a6a],.modal-in-leave-active[data-v-2da14a6a],.modal-out-enter-active[data-v-2da14a6a],.modal-out-leave-active[data-v-2da14a6a]{transition:opacity 250ms}.modal-in-enter[data-v-2da14a6a],.modal-in-leave-to[data-v-2da14a6a],.modal-out-enter[data-v-2da14a6a],.modal-out-leave-to[data-v-2da14a6a]{opacity:0}.modal-in-enter .modal-container[data-v-2da14a6a],.modal-in-leave-to .modal-container[data-v-2da14a6a]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-2da14a6a],.modal-out-leave-to .modal-container[data-v-2da14a6a]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-2da14a6a]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-2da14a6a]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-data-v-2da14a6a linear var(--slideshow-duration) infinite;stroke-linecap:round;stroke-dashoffset:94.24778;stroke-dasharray:94.24778}.modal-mask .play-pause-icons--paused .icon-pause[data-v-2da14a6a]{animation:breath-data-v-2da14a6a 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-2da14a6a]{animation-play-state:paused !important}@keyframes progressring-data-v-2da14a6a{from{stroke-dashoffset:94.24778}to{stroke-dashoffset:0}}@keyframes breath-data-v-2da14a6a{0%{opacity:1}50%{opacity:0}100%{opacity:1}}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Modal/Modal.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC6gBxB,6BACC,cAAe,CACf,YAAa,CACb,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,WAAY,CACZ,gCAAmC,CACnC,mCACC,iCAAoC,CACpC,+BAID,iBAAkB,CAClB,aAAc,CACd,KAAM,CACN,OAAQ,CACR,MAAO,CAGP,uBAAwB,CACxB,kBAAmB,CACnB,sBAAuB,CACvB,UAAW,CACX,WC3fmB,CD4fnB,0CACiB,CAdlB,iIAmBE,iBAAkB,CAnBpB,4CAuBE,iBAAkB,CAClB,qBAAsB,CACtB,UAAW,CACX,sBAAwC,CACxC,6BAA8B,CAC9B,kBAAmB,CACnB,sBAAuB,CACvB,UAAW,CACX,cCjiB8C,CDkiB9C,0CAhCF,4CAqCG,kBAAc,CACd,iBAAkB,CAClB,CAvCH,2CA2CE,iBAAkB,CAClB,OAAQ,CACR,YAAa,CACb,kBAAmB,CACnB,wBAAyB,CA/C3B,yDAkDG,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,qBAAsB,CACtB,UAA8C,CAC9C,SAAU,CAvDb,6DA2DG,iBAAkB,CAClB,UC3iBiB,CD4iBjB,WC5iBiB,CD6iBjB,QAAS,CACT,SAAU,CACV,cAAe,CACf,WAAY,CACZ,4BAA6B,CAlEhC,8WAuEK,SC9jBW,CD+jBX,kBAAkC,CAClC,uCCxkBmC,CD+fxC,uIA8EI,qBAAsB,CACtB,UCzlBiB,CD0lBjB,WC1lBiB,CD2lBjB,UAA8C,CAC9C,cAAe,CACf,UC3kBe,CDwfnB,2DAwFG,UAA8C,CAC9C,WAAY,CAzFf,gEA6FG,qBAAsB,CACtB,UCxmBkB,CDymBlB,WCzmBkB,CD0mBlB,cAAe,CACf,0BAA2B,CAC3B,oBAAqB,CAlGxB,mDAuGG,UAAW,CAvGd,oEA4GG,SAAU,CA5Gb,iJA8GI,sBAAuB,CACvB,uBAAwB,CACxB,gCAMH,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,qBAAsB,CACtB,UAAW,CACX,WAAY,CANb,4EAWE,aAAc,CAEd,uBAAwB,CACxB,kBAAmB,CACnB,sBAAuB,CACvB,QAAS,CACT,cChpBmB,CDipBnB,WAAY,CACZ,iBAAkB,CAClB,0CACiB,CArBnB,8RA6BG,iBAAkB,CA7BrB,sCAiCE,MAAO,CAjCT,sCAoCE,OAAQ,CApCV,0FA0CE,qBAAsB,CACtB,UC1qBmB,CD2qBnB,WC3qBmB,CD4qBnB,WAAY,CACZ,qBAAsB,CACtB,YAAa,CA/Cf,iDAoDE,aAAc,CACd,aAAc,CACd,SAAU,CACV,+BAAgC,CAChC,wCAAyC,CACzC,6CAA8C,CAC9C,mCAAsC,CACtC,wDAKC,WAAY,CACZ,aAAc,CACd,cAAe,CACf,yDAIA,aAAc,CACd,WAAY,CACZ,cAAe,CACf,wDAIA,aAAc,CACd,WAAY,CACZ,cAAe,CACf,uDAIA,UAAW,CACX,wCAAyC,CACzC,iBAAkB,CAClB,QC5rBiB,CD6rBjB,eAAgB,CAChB,0CA1FH,4EAgGG,iBAAkB,CAClB,UAAW,CACX,kBAAmB,CACnB,wCAAyC,CACzC,iBAAkB,CAClB,QCzsBiB,CD0sBjB,eAAgB,CAChB,CAKH,wEAEC,wBAAyB,CACzB,6DAIA,SAAU,CACV,mFAIA,iBAAkB,CAClB,SAAU,CACV,kKAMA,wBAAyB,CACzB,4IAMA,SAAU,CACV,uGAIA,oBAAoB,CACpB,yGAIA,oBAAqB,CACrB,8DAQC,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,wBAAyB,CAL3B,qFAOG,kCAAmC,CACnC,wBAAyB,CACzB,gFAAiE,CAEjE,oBAAqB,CACrB,0BAfQ,CAgBR,yBAhBQ,CAGX,mEAkBG,yEAAwD,CAlB3D,8EAqBG,sCAAuC,CACvC,wCAMF,KACC,0BAhCS,CAkCV,GACC,mBAAoB,CAAA,CAItB,kCACC,GACC,SAAU,CAEX,IACC,SAAU,CAEX,KACC,SAAU,CAAA\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.modal-mask {\\n\\tposition: fixed;\\n\\tz-index: 9998;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbackground-color: rgba(0, 0, 0, .5);\\n\\t&--dark {\\n\\t\\tbackground-color: rgba(0, 0, 0, .92);\\n\\t}\\n}\\n\\n.modal-header {\\n\\tposition: absolute;\\n\\tz-index: 10001;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tleft: 0;\\n\\t// prevent vue show to use display:none and reseting\\n\\t// the circle animation loop\\n\\tdisplay: flex !important;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\twidth: 100%;\\n\\theight: $header-height;\\n\\ttransition: opacity 250ms,\\n\\t\\tvisibility 250ms;\\n\\n\\t// replace display by visibility\\n\\t&.invisible[style*='display:none'],\\n\\t&.invisible[style*='display: none'] {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\n\\t.modal-title {\\n\\t\\toverflow-x: hidden;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 #{$clickable-area * 3} 0 12px; // maximum actions is 3\\n\\t\\ttransition: padding ease 100ms;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: #fff;\\n\\t\\tfont-size: $icon-margin;\\n\\t}\\n\\n\\t// On wider screens the title can be centered\\n\\t@media only screen and (min-width: $breakpoint-mobile / 2) {\\n\\t\\t.modal-title {\\n\\t\\t\\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n\\n\\t.icons-menu {\\n\\t\\tposition: absolute;\\n\\t\\tright: 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: flex-end;\\n\\n\\t\\t.header-close {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tmargin: ($header-height - $clickable-area) / 2;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t.play-pause-icons {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\twidth: $header-height;\\n\\t\\t\\theight: $header-height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t.play-pause-icons__play,\\n\\t\\t\\t\\t.play-pause-icons__pause {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\t\\t\\t\\tbackground-color: $icon-focus-bg;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&__play,\\n\\t\\t\\t&__pause {\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tmargin: ($header-height - $clickable-area) / 2;\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.header-actions {\\n\\t\\t\\tmargin: ($header-height - $clickable-area) / 2;\\n\\t\\t\\tcolor: white;\\n\\t\\t}\\n\\n\\t\\t.action-item--single {\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-size: 22px;\\n\\t\\t}\\n\\n\\t\\t::v-deep button {\\n\\t\\t\\t// force white instead of default main text\\n\\t\\t\\tcolor: #fff;\\n\\t\\t}\\n\\n\\t\\t// Force the Actions menu icon to be the same size as other icons\\n\\t\\t&::v-deep .action-item__menutoggle {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tspan, svg {\\n\\t\\t\\t\\twidth: var(--icon-size);\\n\\t\\t\\t\\theight: var(--icon-size);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.modal-wrapper {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\tbox-sizing: border-box;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\n\\t/* Navigation buttons */\\n\\t.prev,\\n\\t.next {\\n\\t\\tz-index: 10000;\\n\\t\\t// ignore display: none\\n\\t\\tdisplay: flex !important;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 8%;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: 35vw;\\n\\t\\tposition: absolute;\\n\\t\\ttransition: opacity 250ms,\\n\\t\\t\\tvisibility 250ms;\\n\\n\\t\\t// we want to keep the elements on page\\n\\t\\t// even if hidden to avoid having a unbalanced\\n\\t\\t// centered content\\n\\t\\t// replace display by visibility\\n\\t\\t&.invisible[style*='display:none'],\\n\\t\\t&.invisible[style*='display: none'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t}\\n\\t}\\n\\t.prev {\\n\\t\\tleft: 0;\\n\\t}\\n\\t.next {\\n\\t\\tright: 0;\\n\\t}\\n\\n\\t// buttons/icons\\n\\t.icon-next,\\n\\t.icon-previous {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tcolor: white;\\n\\t\\tbackground-image: none;\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t/* Content */\\n\\t.modal-container {\\n\\t\\tdisplay: block;\\n\\t\\toverflow: auto; // avoids unecessary hacks if the content should be bigger than the modal\\n\\t\\tpadding: 0;\\n\\t\\ttransition: transform 300ms ease;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\\n\\t}\\n\\n\\t// Sizing\\n\\t&--small {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 390px;\\n\\t\\t\\tmax-width: 95%;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--normal {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 600px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--large {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 900px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--full {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t// Make modal full screen on mobile\\n\\t@media only screen and (max-width: $breakpoint-mobile / 2) {\\n\\t\\t&:not(&--small) .modal-container {\\n\\t\\t\\tmax-width: initial;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-height: initial;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* TRANSITIONS */\\n.fade-enter-active,\\n.fade-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.fade-enter,\\n.fade-leave-to {\\n\\topacity: 0;\\n}\\n\\n.fade-visibility-enter,\\n.fade-visibility-leave-to {\\n\\tvisibility: hidden;\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter-active,\\n.modal-in-leave-active,\\n.modal-out-enter-active,\\n.modal-out-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.modal-in-enter,\\n.modal-in-leave-to,\\n.modal-out-enter,\\n.modal-out-leave-to {\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter .modal-container,\\n.modal-in-leave-to .modal-container {\\n\\ttransform: scale(.9);\\n}\\n\\n.modal-out-enter .modal-container,\\n.modal-out-leave-to .modal-container {\\n\\ttransform: scale(1.1);\\n}\\n\\n// animated circle\\n$radius: 15;\\n$pi: 3.14159265358979;\\n\\n.modal-mask .play-pause-icons {\\n\\t.progress-ring {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\ttransform: rotate(-90deg);\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\ttransition: 100ms stroke-dashoffset;\\n\\t\\t\\ttransform-origin: 50% 50%; // axis compensation\\n\\t\\t\\tanimation: progressring linear var(--slideshow-duration) infinite;\\n\\n\\t\\t\\tstroke-linecap: round;\\n\\t\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t\\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t}\\n\\t}\\n\\t&--paused {\\n\\t\\t.icon-pause {\\n\\t\\t\\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\\n\\t\\t}\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\tanimation-play-state: paused !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n// keyframes get scoped too and break the animation name, we need them unscoped\\n@keyframes progressring {\\n\\tfrom {\\n\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t}\\n\\tto {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes breath {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t50% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},9814:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-0f132242]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-0f132242]{display:flex;max-width:100%}.name-parts__first[data-v-0f132242]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-0f132242],.name-parts__last[data-v-0f132242]{white-space:pre}.name-parts__first strong[data-v-0f132242],.name-parts__last strong[data-v-0f132242]{font-weight:bold}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Multiselect/EllipsisedOption.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCmHxB,6BACC,YAAa,CACb,cAAe,CACf,oCACC,eAAgB,CAChB,sBAAuB,CACvB,uEAIA,eAAgB,CAHhB,qFAKC,gBAAiB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},5878:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:transparent;border-width:10px}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-bottom-width:0;border-top-color:var(--color-main-background)}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-color:var(--color-main-background)}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-left-width:0;border-right-color:var(--color-main-background)}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-right-width:0;border-left-color:var(--color-main-background)}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/Popover/Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCyGxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,wBAAyB,CACzB,iBAvBgB,CAElB,6BAyBE,kBA3BgB,CAElB,6CA4BG,YA9Be,CA+Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,qBAAsB,CACtB,6CAA8C,CAjCjD,gCAsCE,eAxCgB,CAElB,gDAyCG,SA3Ce,CA4Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,kBAAmB,CACnB,gDAAiD,CA9CpD,+BAmDE,gBArDgB,CAElB,+CAsDG,4BAA6B,CAC7B,UAzDe,CA0Df,cAAe,CACf,aAAc,CACd,mBAAoB,CACpB,+CAAgD,CA3DnD,8BAgEE,iBAlEgB,CAElB,8CAmEG,4BAA6B,CAC7B,WAtEe,CAuEf,cAAe,CACf,aAAc,CACd,oBAAqB,CACrB,8CAA+C,CAxElD,6BA6EE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CA/EZ,8BAmFE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: $arrow-width;\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t\\tborder-top-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-top-width: 0;\\n\\t\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\tborder-right-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\tborder-left-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},7816:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-4dae360a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/PopoverMenu/PopoverMenu.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCkDxB,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},3530:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-79bc7480]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-79bc7480]{display:flex;flex:0 0 auto}li.hidden[data-v-79bc7480]{display:none}li>button[data-v-79bc7480],li>a[data-v-79bc7480],li>.menuitem[data-v-79bc7480]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-79bc7480],li>button span[class*=' icon-'][data-v-79bc7480],li>button[class^='icon-'][data-v-79bc7480],li>button[class*=' icon-'][data-v-79bc7480],li>a span[class^='icon-'][data-v-79bc7480],li>a span[class*=' icon-'][data-v-79bc7480],li>a[class^='icon-'][data-v-79bc7480],li>a[class*=' icon-'][data-v-79bc7480],li>.menuitem span[class^='icon-'][data-v-79bc7480],li>.menuitem span[class*=' icon-'][data-v-79bc7480],li>.menuitem[class^='icon-'][data-v-79bc7480],li>.menuitem[class*=' icon-'][data-v-79bc7480]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-79bc7480],li>button span[class*=' icon-'][data-v-79bc7480],li>a span[class^='icon-'][data-v-79bc7480],li>a span[class*=' icon-'][data-v-79bc7480],li>.menuitem span[class^='icon-'][data-v-79bc7480],li>.menuitem span[class*=' icon-'][data-v-79bc7480]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-79bc7480]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-79bc7480],li>button[class*=' icon-'][data-v-79bc7480],li>a[class^='icon-'][data-v-79bc7480],li>a[class*=' icon-'][data-v-79bc7480],li>.menuitem[class^='icon-'][data-v-79bc7480],li>.menuitem[class*=' icon-'][data-v-79bc7480]{padding:0 14px 0 44px}li>button[data-v-79bc7480]:not(:disabled):hover,li>button[data-v-79bc7480]:not(:disabled):focus,li>button:not(:disabled).active[data-v-79bc7480],li>a[data-v-79bc7480]:not(:disabled):hover,li>a[data-v-79bc7480]:not(:disabled):focus,li>a:not(:disabled).active[data-v-79bc7480],li>.menuitem[data-v-79bc7480]:not(:disabled):hover,li>.menuitem[data-v-79bc7480]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-79bc7480]{opacity:1 !important}li>button.action[data-v-79bc7480],li>a.action[data-v-79bc7480],li>.menuitem.action[data-v-79bc7480]{padding:inherit !important}li>button>span[data-v-79bc7480],li>a>span[data-v-79bc7480],li>.menuitem>span[data-v-79bc7480]{cursor:pointer;white-space:nowrap}li>button>p[data-v-79bc7480],li>a>p[data-v-79bc7480],li>.menuitem>p[data-v-79bc7480]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-79bc7480],li>a>select[data-v-79bc7480],li>.menuitem>select[data-v-79bc7480]{margin:0;margin-left:6px}li>button[data-v-79bc7480]:not(:empty),li>a[data-v-79bc7480]:not(:empty),li>.menuitem[data-v-79bc7480]:not(:empty){padding-right:14px !important}li>button>img[data-v-79bc7480],li>a>img[data-v-79bc7480],li>.menuitem>img[data-v-79bc7480]{width:16px;height:16px;margin:14px}li>button>input.radio+label[data-v-79bc7480],li>button>input.checkbox+label[data-v-79bc7480],li>a>input.radio+label[data-v-79bc7480],li>a>input.checkbox+label[data-v-79bc7480],li>.menuitem>input.radio+label[data-v-79bc7480],li>.menuitem>input.checkbox+label[data-v-79bc7480]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-79bc7480]::before,li>a>input.checkbox+label[data-v-79bc7480]::before,li>.menuitem>input.checkbox+label[data-v-79bc7480]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-79bc7480]::before,li>a>input.radio+label[data-v-79bc7480]::before,li>.menuitem>input.radio+label[data-v-79bc7480]::before{margin:-2px 12px 0}li>button>input[data-v-79bc7480]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-79bc7480]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-79bc7480]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-79bc7480],li>a form[data-v-79bc7480],li>.menuitem form[data-v-79bc7480]{display:flex;flex:1 1 auto}li>button form[data-v-79bc7480]:not(:first-child),li>a form[data-v-79bc7480]:not(:first-child),li>.menuitem form[data-v-79bc7480]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-79bc7480],li>button>span[style*='display:none']+form[data-v-79bc7480],li>a>span.hidden+form[data-v-79bc7480],li>a>span[style*='display:none']+form[data-v-79bc7480],li>.menuitem>span.hidden+form[data-v-79bc7480],li>.menuitem>span[style*='display:none']+form[data-v-79bc7480]{margin-left:0}li>button input[data-v-79bc7480],li>a input[data-v-79bc7480],li>.menuitem input[data-v-79bc7480]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-79bc7480]:not(:first-child),li>a input[data-v-79bc7480]:not(:first-child),li>.menuitem input[data-v-79bc7480]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-79bc7480]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-79bc7480],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-79bc7480]{margin-bottom:12px}li>button[data-v-79bc7480]{padding:0}li>button span[data-v-79bc7480]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/PopoverMenu/PopoverMenuItem.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqMxB,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,WCzRa,CD0Rb,WCtR6C,CD4KhD,mRAgHG,oBAAqB,CACrB,UAAW,CAjHd,sKAoHG,kBAAmB,CApHtB,6JAuHG,kBAAmB,CAvHtB,4QA0HG,WAAY,CA1Hf,8FA+HG,YAAa,CACb,aAAc,CAhIjB,oJAoII,eAAgB,CApIpB,oTA0IG,aAAc,CA1IjB,iGA8IG,cClUkB,CDmUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAjJjB,uJAoJI,eAAgB,CApJpB,+gBA+JK,eAA8B,CA/JnC,ygBAsKK,kBAAiC,CAtKtC,2BA4KE,SAAU,CA5KZ,gCA8KG,SC/Ua\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tmargin: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},1142:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r),s=e(1667),l=e.n(s),c=e(8887),d=e(4831),A=e(2842),u=o()(a()),p=l()(c.Z),m=l()(d.Z),T=l()(A.Z);u.push([n.id,\".material-design-icon[data-v-c5738294]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.autocomplete-result[data-v-c5738294]{display:flex;height:44px;padding:10px}.highlight .autocomplete-result[data-v-c5738294]{color:var(--color-main-text);background:var(--color-primary-light)}.highlight .autocomplete-result[data-v-c5738294],.highlight .autocomplete-result *[data-v-c5738294]{cursor:pointer}.autocomplete-result__icon[data-v-c5738294]{position:relative;flex:0 0 44px;width:44px;min-width:44px;height:44px;border-radius:44px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:24px}.autocomplete-result__icon--with-avatar[data-v-c5738294]{color:inherit;background-size:cover}.autocomplete-result__status[data-v-c5738294]{position:absolute;right:-4px;bottom:-4px;box-sizing:border-box;width:18px;height:18px;border:2px solid var(--color-main-background);border-radius:50%;background-color:var(--color-main-background);font-size:var(--default-font-size);line-height:15px;background-repeat:no-repeat;background-size:16px;background-position:center}.autocomplete-result__status--online[data-v-c5738294]{background-image:url(\"+p+\")}.autocomplete-result__status--dnd[data-v-c5738294]{background-image:url(\"+m+\");background-color:#ffffff}.autocomplete-result__status--away[data-v-c5738294]{background-image:url(\"+T+\")}.autocomplete-result__status--icon[data-v-c5738294]{border:none;background-color:transparent}.autocomplete-result__content[data-v-c5738294]{display:flex;flex:1 1 100%;flex-direction:column;justify-content:center;min-width:0;padding-left:10px}.autocomplete-result__title[data-v-c5738294],.autocomplete-result__subline[data-v-c5738294]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.autocomplete-result__subline[data-v-c5738294]{color:var(--color-text-lighter)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/RichContenteditable/AutoCompleteResult.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgGxB,sCACC,YAAa,CACb,WCjFoB,CDkFpB,YAL0B,CAO1B,iDACC,4BAA6B,CAC7B,qCAAsC,CAFvC,oGAIE,cAAe,CACf,4CAID,iBAAkB,CAClB,aC9FmB,CD+FnB,UC/FmB,CDgGnB,cChGmB,CDiGnB,WCjGmB,CDkGnB,kBClGmB,CDmGnB,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA4D,CAC5D,yDACC,aAAc,CACd,qBAAsB,CACtB,8CAID,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,qBAAsB,CACtB,UAAW,CACX,WAAY,CACZ,6CAA8C,CAC9C,iBAAkB,CAClB,6CAA8C,CAC9C,kCAAmC,CACnC,gBAAiB,CACjB,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAE3B,sDACC,wDAAyE,CACzE,mDAEA,wDAAsE,CACtE,wBAAyB,CACzB,oDAEA,wDAAuE,CACvE,oDAEA,WAAY,CACZ,4BAA6B,CAC7B,+CAID,YAAa,CACb,aAAc,CACd,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,iBAtEyB,CAuEzB,4FAIA,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,+CAGA,+BAAgC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$autocomplete-padding: 10px;\\n\\n.autocomplete-result {\\n\\tdisplay: flex;\\n\\theight: $clickable-area;\\n\\tpadding: $autocomplete-padding;\\n\\n\\t.highlight & {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground: var(--color-primary-light);\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tborder-radius: $clickable-area;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $clickable-area - 2 * $autocomplete-padding;\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 18px;\\n\\t\\theight: 18px;\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: 15px;\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t\\tpadding-left: $autocomplete-padding;\\n\\t}\\n\\n\\t&__title,\\n\\t&__subline {\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&__subline {\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=u},4388:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/RichContenteditable/MentionBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},2305:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-6d5a0150]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.rich-contenteditable__input[data-v-6d5a0150]{overflow-y:auto;width:auto;margin:0;padding:6px;cursor:text;white-space:pre-wrap;word-break:break-word;color:var(--color-main-text);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-family:var(--font-face);font-size:inherit;min-height:44px;max-height:242px}.rich-contenteditable__input--empty[data-v-6d5a0150]:before{content:attr(placeholder);color:var(--color-text-maxcontrast)}.rich-contenteditable__input[contenteditable='false'][data-v-6d5a0150]:not(.rich-contenteditable__input--disabled){cursor:default;background-color:transparent;color:var(--color-main-text);border-color:transparent;opacity:1;border-radius:0}.rich-contenteditable__input--multiline[data-v-6d5a0150]{min-height:132px;max-height:none}.rich-contenteditable__input--disabled[data-v-6d5a0150]{opacity:.5;color:var(--color-text-lighter);border:1px solid var(--color-background-darker);border-radius:var(--border-radius);background-color:var(--color-background-dark)}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/RichContenteditable/RichContenteditable.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8hBxB,8CACC,eAAgB,CAChB,UAAW,CACX,QAAS,CACT,WAAY,CACZ,WAAY,CACZ,oBAAqB,CACrB,qBAAsB,CACtB,4BAA6B,CAC7B,yCAA0C,CAC1C,kCAAmC,CACnC,YAAa,CACb,6CAA8C,CAC9C,4BAA6B,CAC7B,iBAAkB,CAClB,eC5hBoB,CD6hBpB,gBAAiC,CAGjC,4DACC,yBAA0B,CAC1B,mCAAoC,CArBtC,mHAyBE,cAAe,CACf,4BAA6B,CAC7B,4BAA6B,CAC7B,wBAAyB,CACzB,SAAU,CACV,eAAgB,CAChB,yDAGA,gBAA+B,CAE/B,eAAgB,CAChB,wDAGA,UCpiBmB,CDqiBnB,+BAAgC,CAChC,+CAAgD,CAChD,kCAAmC,CACnC,6CAA8C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n// Standalone styling, independent from server\\n.rich-contenteditable__input {\\n\\toverflow-y: auto;\\n\\twidth: auto;\\n\\tmargin: 0;\\n\\tpadding: 6px;\\n\\tcursor: text;\\n\\twhite-space: pre-wrap;\\n\\tword-break: break-word;\\n\\tcolor: var(--color-main-text);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-family: var(--font-face);\\n\\tfont-size: inherit;\\n\\tmin-height: $clickable-area;\\n\\tmax-height: $clickable-area * 5.5;\\n\\n\\t// Cannot use :empty because of firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=1513303\\n\\t&--empty:before {\\n\\t\\tcontent: attr(placeholder);\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&[contenteditable='false']:not(&--disabled) {\\n\\t\\tcursor: default;\\n\\t\\tbackground-color: transparent;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-color: transparent;\\n\\t\\topacity: 1;\\n\\t\\tborder-radius: 0;\\n\\t}\\n\\n\\t&--multiline {\\n\\t\\tmin-height: $clickable-area * 3;\\n\\t\\t// No max for mutiline\\n\\t\\tmax-height: none;\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 1px solid var(--color-background-darker);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},4398:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.tribute-container,.tribute-container-emoji{z-index:9000;overflow:auto;min-width:250px;max-width:300px;max-height:288px;margin:5px 0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background);box-shadow:0 1px 5px var(--color-box-shadow)}.tribute-container-emoji{min-width:200px;max-width:200px;padding:4px;max-height:187.25px}.tribute-container-emoji__item{border-radius:8px;padding:4px 8px;margin-bottom:4px;opacity:0.8;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tribute-container-emoji__item:last-child{margin-bottom:0}.tribute-container-emoji__item__emoji{padding-right:8px}.tribute-container-emoji .highlight{opacity:1;color:var(--color-main-text);background:var(--color-primary-light)}.tribute-container-emoji .highlight,.tribute-container-emoji .highlight *{cursor:pointer}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/RichContenteditable/RichContenteditable.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCilBxB,4CACC,YAAa,CACb,aAAc,CACd,eAAgB,CAChB,eAAgB,CAGhB,gBAA0C,CAE1C,YAAa,CACb,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,4CAA6C,CAC7C,yBAGA,eAAgB,CAChB,eAAgB,CAChB,WAAY,CAEZ,mBAAmC,CAEnC,+BACC,iBAAkB,CAClB,eAAgB,CAChB,iBAAkB,CAClB,WAAY,CACZ,cAAe,CAGf,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CAVvB,0CAaC,eAAgB,CAChB,sCAGA,iBAAkB,CAxBrB,oCA6BE,SAAU,CACV,4BAA6B,CAC7B,qCAAsC,CA/BxC,0EAiCG,cAAe\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.tribute-container, .tribute-container-emoji {\\n\\tz-index: 9000;\\n\\toverflow: auto;\\n\\tmin-width: 250px;\\n\\tmax-width: 300px;\\n\\t// Show maximum 4 entries and a half to show scroll\\n\\t// 44px + 10px padding\\n\\tmax-height: ($clickable-area + 20px) * 4.5;\\n\\t// Space it out a bit from the text\\n\\tmargin: 5px 0;\\n\\tcolor: var(--color-main-text);\\n\\tborder-radius: var(--border-radius);\\n\\tbackground: var(--color-main-background);\\n\\tbox-shadow: 0 1px 5px var(--color-box-shadow);\\n}\\n\\n.tribute-container-emoji {\\n\\tmin-width: 200px;\\n\\tmax-width: 200px;\\n\\tpadding: 4px;\\n\\t// Show maximum 5 entries and a half to show scroll\\n\\tmax-height: 34.5px * 5 + 29.5px / 2;\\n\\n\\t&__item {\\n\\t\\tborder-radius: 8px;\\n\\t\\tpadding: 4px 8px;\\n\\t\\tmargin-bottom: 4px;\\n\\t\\topacity: 0.8;\\n\\t\\tcursor: pointer;\\n\\n\\t\\t// Take care of long names\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\n\\t\\t&:last-child {\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t}\\n\\n\\t\\t&__emoji {\\n\\t\\t\\tpadding-right: 8px;\\n\\t\\t}\\n\\t}\\n\\n\\t.highlight {\\n\\t\\topacity: 1;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tbackground: var(--color-primary-light);\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},1305:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-548823d7]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.settings-section[data-v-548823d7]{display:block;margin-bottom:auto;padding:30px}.settings-section[data-v-548823d7]:not(:last-child){border-bottom:1px solid var(--color-border)}.settings-section__title[data-v-548823d7]{display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:bold}.settings-section__info[data-v-548823d7]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-14px;margin-left:0;opacity:.7}.settings-section__info[data-v-548823d7]:hover,.settings-section__info[data-v-548823d7]:focus,.settings-section__info[data-v-548823d7]:active{opacity:1}.settings-section__desc[data-v-548823d7]{margin-top:-.2em;margin-bottom:1em;opacity:.7}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/SettingsSection/SettingsSection.vue\",\"webpack://./src/assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCuGxB,mCACC,aAAc,CACd,kBAAmB,CACnB,YAAa,CAHd,oDAME,2CAA4C,CAC5C,0CAGA,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,cAAe,CACf,gBAAiB,CACjB,yCAGA,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UC3GmB,CD4GnB,WC5GmB,CD8GnB,YCtG8C,CDuG9C,aAAc,CACd,UC9FiB,CDqFjB,8IAYC,SChGa,CDiGb,yCAID,gBAAiB,CACjB,iBAAkB,CAClB,UCxGiB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.settings-section {\\n\\tdisplay: block;\\n\\tmargin-bottom: auto;\\n\\tpadding: 30px;\\n\\n\\t&:not(:last-child) {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t&__title {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\tfont-size: 20px;\\n\\t\\tfont-weight: bold;\\n\\t}\\n\\n\\t&__info {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\t// make sure to properly align the icon with the text\\n\\t\\tmargin: -$icon-margin;\\n\\t\\tmargin-left: 0;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t&:hover, &:focus, &:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__desc {\\n\\t\\tmargin-top: -.2em;\\n\\t\\tmargin-bottom: 1em;\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see .\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.Z=o},3317:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-4c50db00]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}[data-v-4c50db00] .multiselect__tags{border:none !important}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/TimezonePicker/TimezonePicker.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCoHxB,qCACC,sBAAuB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n::v-deep .multiselect__tags {\\n\\tborder: none !important; // Remove the Multiselect border\\n}\\n\"],sourceRoot:\"\"}]),t.Z=o},4705:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\".material-design-icon[data-v-864988e2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.user-bubble__wrapper[data-v-864988e2]{display:inline-block;vertical-align:middle;min-width:0;max-width:100%}.user-bubble__content[data-v-864988e2]{display:inline-flex;max-width:100%;background-color:var(--color-background-dark)}.user-bubble__content--primary[data-v-864988e2]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.user-bubble__content[data-v-864988e2]>:last-child{padding-right:8px}.user-bubble__avatar[data-v-864988e2]{align-self:center}.user-bubble__title[data-v-864988e2]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.user-bubble__title[data-v-864988e2],.user-bubble__secondary[data-v-864988e2]{padding:0;padding-left:4px}\\n\",\"\",{version:3,sources:[\"webpack://./src/assets/material-icons.css\",\"webpack://./src/components/UserBubble/UserBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqRvB,uCAEC,oBAAqB,CACrB,qBAAsB,CAEtB,WAAY,CACZ,cAAe,CACf,uCAGA,mBAAoB,CACpB,cAAe,CACf,6CAA8C,CAE9C,gDACC,+BAAgC,CAChC,6CAA8C,CAP/C,mDAYC,iBAAkB,CAClB,sCAID,iBAAkB,CAClB,qCAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,8EAKA,SAAU,CACV,gBAAiB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"17fd6e1\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.user-bubble {\\n\\t&__wrapper {\\n\\t\\t// align inline with text\\n\\t\\tdisplay: inline-block;\\n\\t\\tvertical-align: middle;\\n\\t\\t// shrink and allow grow to fit\\n\\t\\tmin-width: 0;\\n\\t\\tmax-width: 100%;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\tmax-width: 100%;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\n\\t\\t&--primary {\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\n\\t\\t> :last-child {\\n\\t\\t\\t// border radius left padding\\n\\t\\t\\tpadding-right: 8px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__avatar {\\n\\t\\talign-self: center;\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t&__title,\\n\\t&__secondary {\\n\\t\\t// proper spacing between avatar, title & slot\\n\\t\\tpadding: 0;\\n\\t\\tpadding-left: 4px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.Z=o},6381:function(n,t,e){\"use strict\";var i=e(4015),a=e.n(i),r=e(3645),o=e.n(r)()(a());o.push([n.id,\"\\n.app-navigation-spacer[data-v-42195cc8] {\\n\\tflex-shrink: 0;\\n\\torder: 1;\\n\\theight: 22px;\\n}\\n\\n\",\"\",{version:3,sources:[\"webpack://./src/components/AppNavigationSpacer/AppNavigationSpacer.vue\"],names:[],mappings:\";AAgCA;CACA,cAAA;CACA,QAAA;CACA,YAAA;AACA\",sourcesContent:[\"\\x3c!--\\n - @copyright Copyright (c) 2019 Christoph Wurst \\n -\\n - @author Christoph Wurst \\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see .\\n -\\n --\\x3e\\n\\n\\n