1 |
- {"version":3,"file":"../pages/_app.js","mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzpHA;AA+CA,SAASA,KAAK,CAAC,EAAEC,SAAS,GAAEC,SAAS,GAAE,EAAe;AACpD,UAAMC,MAAM,GAAGC,sDAAS,EAAE,CAAC;AAC3B,UAAM,EAAEC,MAAM,GAAE,GAAGF,MAAM,CAAC;IAC1B,MAAM,EAAEG,CAAC,GAAE,GAAGC,qEAAc,CAAC,QAAQ,CAAC,CAAC;AACvC,UAAM,EAAEC,IAAI,EAAEC,QAAQ,GAAE,GAAGC,0DAAe,CACxCC,wEAAU,EAAE,GAAGC,mFAAkB,EAAE,GAAG,IAAI,EAC1CC,sEAAc,CACf,CAAC;;AAGFC,IAAAA,gDAAS,CAAC,IAAM;QACdC,QAAQ,CAACC,eAAe,CAACC,GAAG,GAAGC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ACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbA,4BAA4B,GAC5B,sCAAsC,GACtC;AAA6D;AAEjB;AACR;AACD;AAEY;AAE4B;AAC/B;AACa;AACwB;AAEjF,MAAMY,eAAe,GAAGN,mDAAO;;;;;;IAC7BO,GAAG,EAAE,KAAK;IACVC,OAAO,EAAE,kBACP,mDAACC,KAAG;YAACC,SAAS,EAAET,yEAAc;s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","sources":["webpack://quran.com/./locales/ lazy ^\\.\\/.*\\/.*$ namespace object","webpack://quran.com/src/pages/_app.tsx","webpack://quran.com/sentry-wrapper-module","webpack://quran.com/./public/icons/auto.svg","webpack://quran.com/./public/icons/chevron-select.svg","webpack://quran.com/./public/icons/el-quran.svg","webpack://quran.com/./public/icons/globe.svg","webpack://quran.com/./public/icons/menu.svg","webpack://quran.com/./public/icons/microphone.svg","webpack://quran.com/./public/icons/moon-outline.svg","webpack://quran.com/./public/icons/settings.svg","webpack://quran.com/./public/icons/sunset.svg","webpack://quran.com/./public/icons/tarteel-logo.svg","webpack://quran.com/./public/icons/tarteel-text.svg","webpack://quran.com/./public/icons/wrench.svg","webpack://quran.com/./node_modules/next/script.js","webpack://quran.com/./src/components/AudioPlayer/AudioPlayer.module.scss","webpack://quran.com/./src/components/CommandBar/CommandBar.module.scss","webpack://quran.com/./src/components/CommandBar/CommandBarBase/CommandBarBase.module.scss","webpack://quran.com/./src/components/DeveloperUtility/DeveloperUtility.module.scss","webpack://quran.com/./src/components/Navbar/Drawer/Drawer.module.scss","webpack://quran.com/./src/components/Navbar/LanguageSelector.module.scss","webpack://quran.com/./src/components/Navbar/Logo/NavbarLogoWrapper.module.scss","webpack://quran.com/./src/components/Navbar/Navbar.module.scss","webpack://quran.com/./src/components/Navbar/NavbarBody/NavbarBody.module.scss","webpack://quran.com/./src/components/Navbar/NavigationDrawer/NavigationDrawer.module.scss","webpack://quran.com/./src/components/Navbar/NavigationDrawer/NavigationDrawerBodySkeleton.module.scss","webpack://quran.com/./src/components/Navbar/SearchDrawer/Buttons/DrawerSearchIcon.module.scss","webpack://quran.com/./src/components/Navbar/SearchDrawer/Footer/Footer.module.scss","webpack://quran.com/./src/components/Navbar/SearchDrawer/Header/Header.module.scss","webpack://quran.com/./src/components/Navbar/SettingsDrawer/Section/Footer.module.scss","webpack://quran.com/./src/components/Navbar/SettingsDrawer/Section/Label.module.scss","webpack://quran.com/./src/components/Navbar/SettingsDrawer/Section/Row.module.scss","webpack://quran.com/./src/components/Navbar/SettingsDrawer/Section/Section.module.scss","webpack://quran.com/./src/components/Navbar/SettingsDrawer/Section/Title.module.scss","webpack://quran.com/./src/components/Navbar/SettingsDrawer/SettingsBodySkeleton.module.scss","webpack://quran.com/./src/components/Navbar/SettingsDrawer/SettingsDrawer.module.scss","webpack://quran.com/./src/components/TarteelAttribution/TarteelAttribution.module.scss","webpack://quran.com/./src/components/TarteelVoiceSearch/Trigger.module.scss","webpack://quran.com/./src/components/dls/Footer/Footer.module.scss","webpack://quran.com/./src/components/dls/Footer/FooterThemeSwitcher.module.scss","webpack://quran.com/./src/components/dls/Switch/Switch.module.scss","webpack://quran.com/./src/components/AudioPlayer/AudioPlayer.tsx","webpack://quran.com/./src/components/Auth/UserAccountModal.tsx","webpack://quran.com/./src/components/CommandBar/CommandBarBase/CommandBarBase.tsx","webpack://quran.com/./src/components/CommandBar/index.tsx","webpack://quran.com/./src/components/DeveloperUtility/ContextMenuAdjustment.tsx","webpack://quran.com/./src/components/DeveloperUtility/DeveloperUtility.tsx","webpack://quran.com/./src/components/DeveloperUtility/NavbarAdjustment.tsx","webpack://quran.com/./src/components/DeveloperUtility/NotesAdjustment.tsx","webpack://quran.com/./src/components/DisableAnimationsUntilHydration.tsx","webpack://quran.com/./src/components/Fonts/FontPreLoader.tsx","webpack://quran.com/./src/components/GlobalKeyboardListeners.tsx","webpack://quran.com/./src/components/GlobalListeners.tsx","webpack://quran.com/./src/components/GlobalPersistGateHydrationListener.tsx","webpack://quran.com/./src/components/GlobalScrollListener.tsx","webpack://quran.com/./src/components/Navbar/Drawer/DrawerCloseButton.tsx","webpack://quran.com/./src/components/Navbar/Drawer/index.tsx","webpack://quran.com/./src/components/Navbar/LanguageSelector.tsx","webpack://quran.com/./src/components/Navbar/Logo/NavbarLogoWrapper.tsx","webpack://quran.com/./src/components/Navbar/Navbar.tsx","webpack://quran.com/./src/components/Navbar/NavbarBody/index.tsx","webpack://quran.com/./src/components/Navbar/NavigationDrawer/NavigationDrawer.tsx","webpack://quran.com/./src/components/Navbar/NavigationDrawer/NavigationDrawerBodySkeleton.tsx","webpack://quran.com/./src/components/Navbar/SearchDrawer/Buttons/DrawerSearchIcon.tsx","webpack://quran.com/./src/components/Navbar/SearchDrawer/Footer/index.tsx","webpack://quran.com/./src/components/Navbar/SearchDrawer/Header/index.tsx","webpack://quran.com/./src/components/Navbar/SearchDrawer/SearchDrawer.tsx","webpack://quran.com/./src/components/Navbar/SettingsDrawer/Section/Footer.tsx","webpack://quran.com/./src/components/Navbar/SettingsDrawer/Section/Label.tsx","webpack://quran.com/./src/components/Navbar/SettingsDrawer/Section/Row.tsx","webpack://quran.com/./src/components/Navbar/SettingsDrawer/Section/Title.tsx","webpack://quran.com/./src/components/Navbar/SettingsDrawer/Section/index.tsx","webpack://quran.com/./src/components/Navbar/SettingsDrawer/SettingsBodySkeleton.tsx","webpack://quran.com/./src/components/Navbar/SettingsDrawer/SettingsDrawer.tsx","webpack://quran.com/./src/components/Navbar/SettingsDrawer/ThemeSection.tsx","webpack://quran.com/./src/components/SessionIncrementor.tsx","webpack://quran.com/./src/components/TarteelAttribution/TarteelAttribution.tsx","webpack://quran.com/./src/components/TarteelVoiceSearch/Trigger.tsx","webpack://quran.com/./src/components/ThirdPartyScripts/GoogleAnalyticsScript.tsx","webpack://quran.com/./src/components/ThirdPartyScripts/ThirdPartyScripts.tsx","webpack://quran.com/./src/components/dls/Footer/BottomSection.tsx","webpack://quran.com/./src/components/dls/Footer/Footer.tsx","webpack://quran.com/./src/components/dls/Footer/FooterThemeSwitcher.tsx","webpack://quran.com/./src/components/dls/Footer/Links.tsx","webpack://quran.com/./src/components/dls/Footer/TitleAndDescription.tsx","webpack://quran.com/./src/components/dls/Switch/Switch.tsx","webpack://quran.com/./src/components/dls/Toast/ToastProvider.tsx","webpack://quran.com/./src/hooks/auth/useSyncUserData.ts","webpack://quran.com/./src/hooks/useDebounce.ts","webpack://quran.com/./src/hooks/useGetChaptersData.ts","webpack://quran.com/./src/hooks/usePreventBodyScrolling.ts","webpack://quran.com/external commonjs \"lodash/throttle\"","webpack://quran.com/./src/hooks/useScrollDirection.ts","webpack://quran.com/./src/lib/og.ts","webpack://quran.com/./src/redux/Provider.tsx","webpack://quran.com/./src/redux/slices/CommandBar/state.ts","webpack://quran.com/./src/redux/slices/QuranReader/contextMenu.ts","webpack://quran.com/./src/redux/slices/QuranReader/notes.ts","webpack://quran.com/./src/redux/slices/QuranReader/sidebarNavigation.ts","webpack://quran.com/./src/utils/auth/preferencesMapper.ts","webpack://quran.com/./src/redux/slices/defaultSettings.ts","webpack://quran.com/./src/redux/slices/persistGateHydration.ts","webpack://quran.com/./src/redux/slices/revelationOrder.ts","webpack://quran.com/./src/redux/slices/session.ts","webpack://quran.com/./src/redux/slices/theme.ts","webpack://quran.com/./src/redux/slices/voiceSearch.ts","webpack://quran.com/external commonjs \"redux-persist/lib/storage\"","webpack://quran.com/./src/redux/middleware/defaultSettingsMiddleware.ts","webpack://quran.com/./src/redux/migration-scripts/migrating-recent-reading-sessions.ts","webpack://quran.com/./src/redux/slices/welcomeMessage.ts","webpack://quran.com/./src/utils/wordByWord.ts","webpack://quran.com/./src/redux/migrations.ts","webpack://quran.com/./src/redux/slices/AudioPlayer/persistConfig.ts","webpack://quran.com/./src/redux/slices/banner.ts","webpack://quran.com/./src/redux/slices/CommandBar/persistConfig.ts","webpack://quran.com/./src/redux/store.ts","webpack://quran.com/./src/styles/ThemeProvider.tsx","webpack://quran.com/./src/utils/auth/userDataSync.ts","webpack://quran.com/./src/utils/cookies.ts","webpack://quran.com/./src/utils/css.ts","webpack://quran.com/./src/utils/gtag.ts","webpack://quran.com/./src/utils/seo.ts","webpack://quran.com/./types/BookmarkType.ts","webpack://quran.com/./types/SearchQuerySource.ts","webpack://quran.com/./types/auth/ConsentType.ts","webpack://quran.com/./types/auth/SyncDataType.ts","webpack://quran.com/external commonjs \"@reduxjs/toolkit\"","webpack://quran.com/external commonjs \"@sentry/nextjs\"","webpack://quran.com/external commonjs \"@xstate/react\"","webpack://quran.com/external commonjs \"classnames\"","webpack://quran.com/external commonjs \"humps\"","webpack://quran.com/external commonjs \"lodash/capitalize\"","webpack://quran.com/external commonjs \"lodash/findKey\"","webpack://quran.com/external commonjs \"lodash/groupBy\"","webpack://quran.com/external commonjs \"lodash/random\"","webpack://quran.com/external commonjs \"lodash/range\"","webpack://quran.com/external commonjs \"lodash/sample\"","webpack://quran.com/external commonjs \"next-seo\"","webpack://quran.com/external commonjs \"next-translate/Trans\"","webpack://quran.com/external commonjs \"next-translate/appWithI18n\"","webpack://quran.com/external commonjs \"next-translate/setLanguage\"","webpack://quran.com/external commonjs \"next-translate/useTranslation\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/app-router-context.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/head-manager-context.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/i18n/detect-domain-locale.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/i18n/normalize-locale-path.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/is-plain-object.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/loadable.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/mitt.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/page-path/denormalize-page-path.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router-context.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/add-locale.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/add-path-prefix.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/compare-states.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/format-next-pathname-info.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/format-url.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/get-asset-path-from-route.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/get-next-pathname-info.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/is-bot.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/is-dynamic.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/parse-path.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/parse-relative-url.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/path-has-prefix.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/querystring.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/remove-trailing-slash.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/resolve-rewrites.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/route-matcher.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/router/utils/route-regex.js\"","webpack://quran.com/external commonjs \"next/dist/shared/lib/utils.js\"","webpack://quran.com/external commonjs \"next/head\"","webpack://quran.com/external commonjs \"next/router\"","webpack://quran.com/external commonjs \"react\"","webpack://quran.com/external commonjs \"react-hotkeys-hook\"","webpack://quran.com/external commonjs \"react-redux\"","webpack://quran.com/external commonjs \"react/jsx-runtime\"","webpack://quran.com/external commonjs \"redux-persist\"","webpack://quran.com/external commonjs \"redux-persist/integration/react\"","webpack://quran.com/external commonjs \"refresh-fetch\"","webpack://quran.com/external commonjs \"xstate\"","webpack://quran.com/external commonjs \"xstate/lib/actions\"","webpack://quran.com/external module \"@radix-ui/react-checkbox\"","webpack://quran.com/external module \"@radix-ui/react-dialog\"","webpack://quran.com/external module \"@radix-ui/react-direction\"","webpack://quran.com/external module \"@radix-ui/react-dropdown-menu\"","webpack://quran.com/external module \"@radix-ui/react-radio-group\"","webpack://quran.com/external module \"@radix-ui/react-separator\"","webpack://quran.com/external module \"@radix-ui/react-tooltip\"","webpack://quran.com/external module \"@radix-ui/react-visually-hidden\"","webpack://quran.com/external module \"firebase/compat/analytics\"","webpack://quran.com/external module \"firebase/compat/app\"","webpack://quran.com/external module \"js-cookie\"","webpack://quran.com/external module \"react-hook-form\"","webpack://quran.com/external module \"react-joyride\"","webpack://quran.com/external module \"react-toastify\"","webpack://quran.com/external module \"swr\"","webpack://quran.com/external module \"swr/immutable\"","webpack://quran.com/external node-commonjs \"querystring\""],"sourcesContent":["var map = {\n\t\"./ar/about\": [\n\t\t82658,\n\t\t82658\n\t],\n\t\"./ar/about-quran\": [\n\t\t66437,\n\t\t66437\n\t],\n\t\"./ar/about-quran.json\": [\n\t\t66437,\n\t\t66437\n\t],\n\t\"./ar/about.json\": [\n\t\t82658,\n\t\t82658\n\t],\n\t\"./ar/apps\": [\n\t\t88452,\n\t\t88452\n\t],\n\t\"./ar/apps.json\": [\n\t\t88452,\n\t\t88452\n\t],\n\t\"./ar/chapter\": [\n\t\t56832,\n\t\t56832\n\t],\n\t\"./ar/chapter.json\": [\n\t\t56832,\n\t\t56832\n\t],\n\t\"./ar/collection\": [\n\t\t58376,\n\t\t58376\n\t],\n\t\"./ar/collection.json\": [\n\t\t58376,\n\t\t58376\n\t],\n\t\"./ar/common\": [\n\t\t11111,\n\t\t11111\n\t],\n\t\"./ar/common.json\": [\n\t\t11111,\n\t\t11111\n\t],\n\t\"./ar/developers\": [\n\t\t16242,\n\t\t16242\n\t],\n\t\"./ar/developers.json\": [\n\t\t16242,\n\t\t16242\n\t],\n\t\"./ar/error\": [\n\t\t64196,\n\t\t64196\n\t],\n\t\"./ar/error.json\": [\n\t\t64196,\n\t\t64196\n\t],\n\t\"./ar/home\": [\n\t\t50609,\n\t\t50609\n\t],\n\t\"./ar/home.json\": [\n\t\t50609,\n\t\t50609\n\t],\n\t\"./ar/learn\": [\n\t\t50619,\n\t\t50619\n\t],\n\t\"./ar/learn.json\": [\n\t\t50619,\n\t\t50619\n\t],\n\t\"./ar/login\": [\n\t\t44927,\n\t\t44927\n\t],\n\t\"./ar/login.json\": [\n\t\t44927,\n\t\t44927\n\t],\n\t\"./ar/notes\": [\n\t\t41382,\n\t\t41382\n\t],\n\t\"./ar/notes.json\": [\n\t\t41382,\n\t\t41382\n\t],\n\t\"./ar/notification-settings\": [\n\t\t95187,\n\t\t95187\n\t],\n\t\"./ar/notification-settings.json\": [\n\t\t95187,\n\t\t95187\n\t],\n\t\"./ar/onboarding\": [\n\t\t89181,\n\t\t89181\n\t],\n\t\"./ar/onboarding.json\": [\n\t\t89181,\n\t\t89181\n\t],\n\t\"./ar/privacy\": [\n\t\t40556,\n\t\t40556\n\t],\n\t\"./ar/privacy.json\": [\n\t\t40556,\n\t\t40556\n\t],\n\t\"./ar/product-updates\": [\n\t\t51896,\n\t\t51896\n\t],\n\t\"./ar/product-updates.json\": [\n\t\t51896,\n\t\t51896\n\t],\n\t\"./ar/profile\": [\n\t\t45340,\n\t\t45340\n\t],\n\t\"./ar/profile.json\": [\n\t\t45340,\n\t\t45340\n\t],\n\t\"./ar/quick-links\": [\n\t\t82937,\n\t\t82937\n\t],\n\t\"./ar/quick-links.json\": [\n\t\t82937,\n\t\t82937\n\t],\n\t\"./ar/quran-reader\": [\n\t\t61763,\n\t\t61763\n\t],\n\t\"./ar/quran-reader.json\": [\n\t\t61763,\n\t\t61763\n\t],\n\t\"./ar/quranic-calendar\": [\n\t\t13298,\n\t\t13298\n\t],\n\t\"./ar/quranic-calendar.json\": [\n\t\t13298,\n\t\t13298\n\t],\n\t\"./ar/radio\": [\n\t\t32772,\n\t\t32772\n\t],\n\t\"./ar/radio.json\": [\n\t\t32772,\n\t\t32772\n\t],\n\t\"./ar/ramadan-activities\": [\n\t\t30819,\n\t\t30819\n\t],\n\t\"./ar/ramadan-activities.json\": [\n\t\t30819,\n\t\t30819\n\t],\n\t\"./ar/reading-goal\": [\n\t\t612,\n\t\t612\n\t],\n\t\"./ar/reading-goal.json\": [\n\t\t612,\n\t\t612\n\t],\n\t\"./ar/reading-progress\": [\n\t\t58536,\n\t\t58536\n\t],\n\t\"./ar/reading-progress.json\": [\n\t\t58536,\n\t\t58536\n\t],\n\t\"./ar/reciter\": [\n\t\t160,\n\t\t160\n\t],\n\t\"./ar/reciter.json\": [\n\t\t160,\n\t\t160\n\t],\n\t\"./ar/search\": [\n\t\t54239,\n\t\t54239\n\t],\n\t\"./ar/search.json\": [\n\t\t54239,\n\t\t54239\n\t],\n\t\"./ar/support\": [\n\t\t19847,\n\t\t19847\n\t],\n\t\"./ar/support.json\": [\n\t\t19847,\n\t\t19847\n\t],\n\t\"./ar/surah-info\": [\n\t\t4198,\n\t\t4198\n\t],\n\t\"./ar/surah-info.json\": [\n\t\t4198,\n\t\t4198\n\t],\n\t\"./ar/tajweed\": [\n\t\t72419,\n\t\t72419\n\t],\n\t\"./ar/tajweed.json\": [\n\t\t72419,\n\t\t72419\n\t],\n\t\"./bn/about\": [\n\t\t96913,\n\t\t96913\n\t],\n\t\"./bn/about-quran\": [\n\t\t84124,\n\t\t84124\n\t],\n\t\"./bn/about-quran.json\": [\n\t\t84124,\n\t\t84124\n\t],\n\t\"./bn/about.json\": [\n\t\t96913,\n\t\t96913\n\t],\n\t\"./bn/apps\": [\n\t\t79618,\n\t\t79618\n\t],\n\t\"./bn/apps.json\": [\n\t\t79618,\n\t\t79618\n\t],\n\t\"./bn/chapter\": [\n\t\t97747,\n\t\t97747\n\t],\n\t\"./bn/chapter.json\": [\n\t\t97747,\n\t\t97747\n\t],\n\t\"./bn/collection\": [\n\t\t15603,\n\t\t15603\n\t],\n\t\"./bn/collection.json\": [\n\t\t15603,\n\t\t15603\n\t],\n\t\"./bn/common\": [\n\t\t50371,\n\t\t50371\n\t],\n\t\"./bn/common.json\": [\n\t\t50371,\n\t\t50371\n\t],\n\t\"./bn/developers\": [\n\t\t32966,\n\t\t32966\n\t],\n\t\"./bn/developers.json\": [\n\t\t32966,\n\t\t32966\n\t],\n\t\"./bn/error\": [\n\t\t83328,\n\t\t83328\n\t],\n\t\"./bn/error.json\": [\n\t\t83328,\n\t\t83328\n\t],\n\t\"./bn/home\": [\n\t\t82481,\n\t\t82481\n\t],\n\t\"./bn/home.json\": [\n\t\t82481,\n\t\t82481\n\t],\n\t\"./bn/learn\": [\n\t\t69635,\n\t\t69635\n\t],\n\t\"./bn/learn.json\": [\n\t\t69635,\n\t\t69635\n\t],\n\t\"./bn/login\": [\n\t\t81902,\n\t\t81902\n\t],\n\t\"./bn/login.json\": [\n\t\t81902,\n\t\t81902\n\t],\n\t\"./bn/notes\": [\n\t\t71439,\n\t\t71439\n\t],\n\t\"./bn/notes.json\": [\n\t\t71439,\n\t\t71439\n\t],\n\t\"./bn/notification-settings\": [\n\t\t99800,\n\t\t99800\n\t],\n\t\"./bn/notification-settings.json\": [\n\t\t99800,\n\t\t99800\n\t],\n\t\"./bn/onboarding\": [\n\t\t76259,\n\t\t76259\n\t],\n\t\"./bn/onboarding.json\": [\n\t\t76259,\n\t\t76259\n\t],\n\t\"./bn/privacy\": [\n\t\t34291,\n\t\t34291\n\t],\n\t\"./bn/privacy.json\": [\n\t\t34291,\n\t\t34291\n\t],\n\t\"./bn/product-updates\": [\n\t\t7596,\n\t\t7596\n\t],\n\t\"./bn/product-updates.json\": [\n\t\t7596,\n\t\t7596\n\t],\n\t\"./bn/profile\": [\n\t\t10188,\n\t\t10188\n\t],\n\t\"./bn/profile.json\": [\n\t\t10188,\n\t\t10188\n\t],\n\t\"./bn/quick-links\": [\n\t\t24464,\n\t\t24464\n\t],\n\t\"./bn/quick-links.json\": [\n\t\t24464,\n\t\t24464\n\t],\n\t\"./bn/quran-reader\": [\n\t\t31260,\n\t\t31260\n\t],\n\t\"./bn/quran-reader.json\": [\n\t\t31260,\n\t\t31260\n\t],\n\t\"./bn/quranic-calendar\": [\n\t\t87320,\n\t\t87320\n\t],\n\t\"./bn/quranic-calendar.json\": [\n\t\t87320,\n\t\t87320\n\t],\n\t\"./bn/radio\": [\n\t\t25772,\n\t\t25772\n\t],\n\t\"./bn/radio.json\": [\n\t\t25772,\n\t\t25772\n\t],\n\t\"./bn/ramadan-activities\": [\n\t\t65062,\n\t\t65062\n\t],\n\t\"./bn/ramadan-activities.json\": [\n\t\t65062,\n\t\t65062\n\t],\n\t\"./bn/reading-goal\": [\n\t\t82535,\n\t\t82535\n\t],\n\t\"./bn/reading-goal.json\": [\n\t\t82535,\n\t\t82535\n\t],\n\t\"./bn/reading-progress\": [\n\t\t6706,\n\t\t6706\n\t],\n\t\"./bn/reading-progress.json\": [\n\t\t6706,\n\t\t6706\n\t],\n\t\"./bn/reciter\": [\n\t\t53695,\n\t\t53695\n\t],\n\t\"./bn/reciter.json\": [\n\t\t53695,\n\t\t53695\n\t],\n\t\"./bn/search\": [\n\t\t90067,\n\t\t90067\n\t],\n\t\"./bn/search.json\": [\n\t\t90067,\n\t\t90067\n\t],\n\t\"./bn/support\": [\n\t\t11906,\n\t\t11906\n\t],\n\t\"./bn/support.json\": [\n\t\t11906,\n\t\t11906\n\t],\n\t\"./bn/surah-info\": [\n\t\t27050,\n\t\t27050\n\t],\n\t\"./bn/surah-info.json\": [\n\t\t27050,\n\t\t27050\n\t],\n\t\"./bn/tajweed\": [\n\t\t2552,\n\t\t2552\n\t],\n\t\"./bn/tajweed.json\": [\n\t\t2552,\n\t\t2552\n\t],\n\t\"./en/about\": [\n\t\t49740,\n\t\t49740\n\t],\n\t\"./en/about-quran\": [\n\t\t52008,\n\t\t52008\n\t],\n\t\"./en/about-quran.json\": [\n\t\t52008,\n\t\t52008\n\t],\n\t\"./en/about.json\": [\n\t\t49740,\n\t\t49740\n\t],\n\t\"./en/apps\": [\n\t\t46807,\n\t\t46807\n\t],\n\t\"./en/apps.json\": [\n\t\t46807,\n\t\t46807\n\t],\n\t\"./en/chapter\": [\n\t\t97821,\n\t\t97821\n\t],\n\t\"./en/chapter.json\": [\n\t\t97821,\n\t\t97821\n\t],\n\t\"./en/collection\": [\n\t\t49421,\n\t\t49421\n\t],\n\t\"./en/collection.json\": [\n\t\t49421,\n\t\t49421\n\t],\n\t\"./en/common\": [\n\t\t40464,\n\t\t40464\n\t],\n\t\"./en/common.json\": [\n\t\t40464,\n\t\t40464\n\t],\n\t\"./en/developers\": [\n\t\t44663,\n\t\t44663\n\t],\n\t\"./en/developers.json\": [\n\t\t44663,\n\t\t44663\n\t],\n\t\"./en/error\": [\n\t\t50394,\n\t\t50394\n\t],\n\t\"./en/error.json\": [\n\t\t50394,\n\t\t50394\n\t],\n\t\"./en/home\": [\n\t\t12482,\n\t\t12482\n\t],\n\t\"./en/home.json\": [\n\t\t12482,\n\t\t12482\n\t],\n\t\"./en/learn\": [\n\t\t66694,\n\t\t66694\n\t],\n\t\"./en/learn.json\": [\n\t\t66694,\n\t\t66694\n\t],\n\t\"./en/login\": [\n\t\t16318,\n\t\t16318\n\t],\n\t\"./en/login.json\": [\n\t\t16318,\n\t\t16318\n\t],\n\t\"./en/notes\": [\n\t\t23580,\n\t\t23580\n\t],\n\t\"./en/notes.json\": [\n\t\t23580,\n\t\t23580\n\t],\n\t\"./en/notification-settings\": [\n\t\t53145,\n\t\t53145\n\t],\n\t\"./en/notification-settings.json\": [\n\t\t53145,\n\t\t53145\n\t],\n\t\"./en/onboarding\": [\n\t\t42002,\n\t\t42002\n\t],\n\t\"./en/onboarding.json\": [\n\t\t42002,\n\t\t42002\n\t],\n\t\"./en/privacy\": [\n\t\t2297,\n\t\t2297\n\t],\n\t\"./en/privacy.json\": [\n\t\t2297,\n\t\t2297\n\t],\n\t\"./en/product-updates\": [\n\t\t21924,\n\t\t21924\n\t],\n\t\"./en/product-updates.json\": [\n\t\t21924,\n\t\t21924\n\t],\n\t\"./en/profile\": [\n\t\t81140,\n\t\t81140\n\t],\n\t\"./en/profile.json\": [\n\t\t81140,\n\t\t81140\n\t],\n\t\"./en/quick-links\": [\n\t\t36667,\n\t\t36667\n\t],\n\t\"./en/quick-links.json\": [\n\t\t36667,\n\t\t36667\n\t],\n\t\"./en/quran-reader\": [\n\t\t63151,\n\t\t63151\n\t],\n\t\"./en/quran-reader.json\": [\n\t\t63151,\n\t\t63151\n\t],\n\t\"./en/quranic-calendar\": [\n\t\t49294,\n\t\t49294\n\t],\n\t\"./en/quranic-calendar.json\": [\n\t\t49294,\n\t\t49294\n\t],\n\t\"./en/radio\": [\n\t\t40333,\n\t\t40333\n\t],\n\t\"./en/radio.json\": [\n\t\t40333,\n\t\t40333\n\t],\n\t\"./en/ramadan-activities\": [\n\t\t64007,\n\t\t64007\n\t],\n\t\"./en/ramadan-activities.json\": [\n\t\t64007,\n\t\t64007\n\t],\n\t\"./en/reading-goal\": [\n\t\t81098,\n\t\t81098\n\t],\n\t\"./en/reading-goal.json\": [\n\t\t81098,\n\t\t81098\n\t],\n\t\"./en/reading-progress\": [\n\t\t38725,\n\t\t38725\n\t],\n\t\"./en/reading-progress.json\": [\n\t\t38725,\n\t\t38725\n\t],\n\t\"./en/reciter\": [\n\t\t42121,\n\t\t42121\n\t],\n\t\"./en/reciter.json\": [\n\t\t42121,\n\t\t42121\n\t],\n\t\"./en/search\": [\n\t\t17842,\n\t\t17842\n\t],\n\t\"./en/search.json\": [\n\t\t17842,\n\t\t17842\n\t],\n\t\"./en/support\": [\n\t\t69251,\n\t\t69251\n\t],\n\t\"./en/support.json\": [\n\t\t69251,\n\t\t69251\n\t],\n\t\"./en/surah-info\": [\n\t\t19435,\n\t\t19435\n\t],\n\t\"./en/surah-info.json\": [\n\t\t19435,\n\t\t19435\n\t],\n\t\"./en/tajweed\": [\n\t\t27848,\n\t\t27848\n\t],\n\t\"./en/tajweed.json\": [\n\t\t27848,\n\t\t27848\n\t],\n\t\"./es_US/common\": [\n\t\t10603,\n\t\t10603\n\t],\n\t\"./es_US/common.json\": [\n\t\t10603,\n\t\t10603\n\t],\n\t\"./fa/about\": [\n\t\t62755,\n\t\t62755\n\t],\n\t\"./fa/about-quran\": [\n\t\t83331,\n\t\t83331\n\t],\n\t\"./fa/about-quran.json\": [\n\t\t83331,\n\t\t83331\n\t],\n\t\"./fa/about.json\": [\n\t\t62755,\n\t\t62755\n\t],\n\t\"./fa/apps\": [\n\t\t25265,\n\t\t25265\n\t],\n\t\"./fa/apps.json\": [\n\t\t25265,\n\t\t25265\n\t],\n\t\"./fa/chapter\": [\n\t\t24280,\n\t\t24280\n\t],\n\t\"./fa/chapter.json\": [\n\t\t24280,\n\t\t24280\n\t],\n\t\"./fa/collection\": [\n\t\t79382,\n\t\t79382\n\t],\n\t\"./fa/collection.json\": [\n\t\t79382,\n\t\t79382\n\t],\n\t\"./fa/common\": [\n\t\t70512,\n\t\t70512\n\t],\n\t\"./fa/common.json\": [\n\t\t70512,\n\t\t70512\n\t],\n\t\"./fa/developers\": [\n\t\t62319,\n\t\t62319\n\t],\n\t\"./fa/developers.json\": [\n\t\t62319,\n\t\t62319\n\t],\n\t\"./fa/error\": [\n\t\t23745,\n\t\t23745\n\t],\n\t\"./fa/error.json\": [\n\t\t23745,\n\t\t23745\n\t],\n\t\"./fa/home\": [\n\t\t17859,\n\t\t17859\n\t],\n\t\"./fa/home.json\": [\n\t\t17859,\n\t\t17859\n\t],\n\t\"./fa/learn\": [\n\t\t58586,\n\t\t58586\n\t],\n\t\"./fa/learn.json\": [\n\t\t58586,\n\t\t58586\n\t],\n\t\"./fa/login\": [\n\t\t18963,\n\t\t18963\n\t],\n\t\"./fa/login.json\": [\n\t\t18963,\n\t\t18963\n\t],\n\t\"./fa/notes\": [\n\t\t60573,\n\t\t60573\n\t],\n\t\"./fa/notes.json\": [\n\t\t60573,\n\t\t60573\n\t],\n\t\"./fa/notification-settings\": [\n\t\t86924,\n\t\t86924\n\t],\n\t\"./fa/notification-settings.json\": [\n\t\t86924,\n\t\t86924\n\t],\n\t\"./fa/onboarding\": [\n\t\t40281,\n\t\t40281\n\t],\n\t\"./fa/onboarding.json\": [\n\t\t40281,\n\t\t40281\n\t],\n\t\"./fa/privacy\": [\n\t\t98917,\n\t\t98917\n\t],\n\t\"./fa/privacy.json\": [\n\t\t98917,\n\t\t98917\n\t],\n\t\"./fa/product-updates\": [\n\t\t79891,\n\t\t79891\n\t],\n\t\"./fa/product-updates.json\": [\n\t\t79891,\n\t\t79891\n\t],\n\t\"./fa/profile\": [\n\t\t92620,\n\t\t92620\n\t],\n\t\"./fa/profile.json\": [\n\t\t92620,\n\t\t92620\n\t],\n\t\"./fa/quick-links\": [\n\t\t20689,\n\t\t20689\n\t],\n\t\"./fa/quick-links.json\": [\n\t\t20689,\n\t\t20689\n\t],\n\t\"./fa/quran-reader\": [\n\t\t56847,\n\t\t56847\n\t],\n\t\"./fa/quran-reader.json\": [\n\t\t56847,\n\t\t56847\n\t],\n\t\"./fa/quranic-calendar\": [\n\t\t59652,\n\t\t59652\n\t],\n\t\"./fa/quranic-calendar.json\": [\n\t\t59652,\n\t\t59652\n\t],\n\t\"./fa/radio\": [\n\t\t67110,\n\t\t67110\n\t],\n\t\"./fa/radio.json\": [\n\t\t67110,\n\t\t67110\n\t],\n\t\"./fa/ramadan-activities\": [\n\t\t1652,\n\t\t72898\n\t],\n\t\"./fa/ramadan-activities.json\": [\n\t\t1652,\n\t\t72898\n\t],\n\t\"./fa/reading-goal\": [\n\t\t16524,\n\t\t16524\n\t],\n\t\"./fa/reading-goal.json\": [\n\t\t16524,\n\t\t16524\n\t],\n\t\"./fa/reading-progress\": [\n\t\t11139,\n\t\t11139\n\t],\n\t\"./fa/reading-progress.json\": [\n\t\t11139,\n\t\t11139\n\t],\n\t\"./fa/reciter\": [\n\t\t77097,\n\t\t77097\n\t],\n\t\"./fa/reciter.json\": [\n\t\t77097,\n\t\t77097\n\t],\n\t\"./fa/search\": [\n\t\t20074,\n\t\t20074\n\t],\n\t\"./fa/search.json\": [\n\t\t20074,\n\t\t20074\n\t],\n\t\"./fa/support\": [\n\t\t86540,\n\t\t86540\n\t],\n\t\"./fa/support.json\": [\n\t\t86540,\n\t\t86540\n\t],\n\t\"./fa/surah-info\": [\n\t\t81131,\n\t\t81131\n\t],\n\t\"./fa/surah-info.json\": [\n\t\t81131,\n\t\t81131\n\t],\n\t\"./fa/tajweed\": [\n\t\t85510,\n\t\t85510\n\t],\n\t\"./fa/tajweed.json\": [\n\t\t85510,\n\t\t85510\n\t],\n\t\"./fr/about\": [\n\t\t85754,\n\t\t85754\n\t],\n\t\"./fr/about-quran\": [\n\t\t36836,\n\t\t36836\n\t],\n\t\"./fr/about-quran.json\": [\n\t\t36836,\n\t\t36836\n\t],\n\t\"./fr/about.json\": [\n\t\t85754,\n\t\t85754\n\t],\n\t\"./fr/apps\": [\n\t\t15582,\n\t\t15582\n\t],\n\t\"./fr/apps.json\": [\n\t\t15582,\n\t\t15582\n\t],\n\t\"./fr/chapter\": [\n\t\t98010,\n\t\t98010\n\t],\n\t\"./fr/chapter.json\": [\n\t\t98010,\n\t\t98010\n\t],\n\t\"./fr/collection\": [\n\t\t15926,\n\t\t15926\n\t],\n\t\"./fr/collection.json\": [\n\t\t15926,\n\t\t15926\n\t],\n\t\"./fr/common\": [\n\t\t45167,\n\t\t45167\n\t],\n\t\"./fr/common.json\": [\n\t\t45167,\n\t\t45167\n\t],\n\t\"./fr/developers\": [\n\t\t36538,\n\t\t36538\n\t],\n\t\"./fr/developers.json\": [\n\t\t36538,\n\t\t36538\n\t],\n\t\"./fr/error\": [\n\t\t82716,\n\t\t82716\n\t],\n\t\"./fr/error.json\": [\n\t\t82716,\n\t\t82716\n\t],\n\t\"./fr/home\": [\n\t\t31660,\n\t\t31660\n\t],\n\t\"./fr/home.json\": [\n\t\t31660,\n\t\t31660\n\t],\n\t\"./fr/learn\": [\n\t\t56415,\n\t\t56415\n\t],\n\t\"./fr/learn.json\": [\n\t\t56415,\n\t\t56415\n\t],\n\t\"./fr/login\": [\n\t\t76626,\n\t\t76626\n\t],\n\t\"./fr/login.json\": [\n\t\t76626,\n\t\t76626\n\t],\n\t\"./fr/notes\": [\n\t\t37650,\n\t\t37650\n\t],\n\t\"./fr/notes.json\": [\n\t\t37650,\n\t\t37650\n\t],\n\t\"./fr/notification-settings\": [\n\t\t15528,\n\t\t15528\n\t],\n\t\"./fr/notification-settings.json\": [\n\t\t15528,\n\t\t15528\n\t],\n\t\"./fr/onboarding\": [\n\t\t92408,\n\t\t92408\n\t],\n\t\"./fr/onboarding.json\": [\n\t\t92408,\n\t\t92408\n\t],\n\t\"./fr/privacy\": [\n\t\t26906,\n\t\t26906\n\t],\n\t\"./fr/privacy.json\": [\n\t\t26906,\n\t\t26906\n\t],\n\t\"./fr/product-updates\": [\n\t\t98750,\n\t\t98750\n\t],\n\t\"./fr/product-updates.json\": [\n\t\t98750,\n\t\t98750\n\t],\n\t\"./fr/profile\": [\n\t\t51763,\n\t\t51763\n\t],\n\t\"./fr/profile.json\": [\n\t\t51763,\n\t\t51763\n\t],\n\t\"./fr/quick-links\": [\n\t\t54833,\n\t\t54833\n\t],\n\t\"./fr/quick-links.json\": [\n\t\t54833,\n\t\t54833\n\t],\n\t\"./fr/quran-reader\": [\n\t\t55274,\n\t\t55274\n\t],\n\t\"./fr/quran-reader.json\": [\n\t\t55274,\n\t\t55274\n\t],\n\t\"./fr/quranic-calendar\": [\n\t\t99416,\n\t\t99416\n\t],\n\t\"./fr/quranic-calendar.json\": [\n\t\t99416,\n\t\t99416\n\t],\n\t\"./fr/radio\": [\n\t\t17325,\n\t\t17325\n\t],\n\t\"./fr/radio.json\": [\n\t\t17325,\n\t\t17325\n\t],\n\t\"./fr/ramadan-activities\": [\n\t\t36247,\n\t\t36247\n\t],\n\t\"./fr/ramadan-activities.json\": [\n\t\t36247,\n\t\t36247\n\t],\n\t\"./fr/reading-goal\": [\n\t\t95581,\n\t\t95581\n\t],\n\t\"./fr/reading-goal.json\": [\n\t\t95581,\n\t\t95581\n\t],\n\t\"./fr/reading-progress\": [\n\t\t58464,\n\t\t58464\n\t],\n\t\"./fr/reading-progress.json\": [\n\t\t58464,\n\t\t58464\n\t],\n\t\"./fr/reciter\": [\n\t\t24777,\n\t\t24777\n\t],\n\t\"./fr/reciter.json\": [\n\t\t24777,\n\t\t24777\n\t],\n\t\"./fr/search\": [\n\t\t77194,\n\t\t77194\n\t],\n\t\"./fr/search.json\": [\n\t\t77194,\n\t\t77194\n\t],\n\t\"./fr/support\": [\n\t\t51517,\n\t\t51517\n\t],\n\t\"./fr/support.json\": [\n\t\t51517,\n\t\t51517\n\t],\n\t\"./fr/surah-info\": [\n\t\t70203,\n\t\t70203\n\t],\n\t\"./fr/surah-info.json\": [\n\t\t70203,\n\t\t70203\n\t],\n\t\"./fr/tajweed\": [\n\t\t39419,\n\t\t39419\n\t],\n\t\"./fr/tajweed.json\": [\n\t\t39419,\n\t\t39419\n\t],\n\t\"./id/about\": [\n\t\t49146,\n\t\t49146\n\t],\n\t\"./id/about-quran\": [\n\t\t58554,\n\t\t58554\n\t],\n\t\"./id/about-quran.json\": [\n\t\t58554,\n\t\t58554\n\t],\n\t\"./id/about.json\": [\n\t\t49146,\n\t\t49146\n\t],\n\t\"./id/apps\": [\n\t\t88816,\n\t\t88816\n\t],\n\t\"./id/apps.json\": [\n\t\t88816,\n\t\t88816\n\t],\n\t\"./id/chapter\": [\n\t\t11888,\n\t\t11888\n\t],\n\t\"./id/chapter.json\": [\n\t\t11888,\n\t\t11888\n\t],\n\t\"./id/collection\": [\n\t\t49451,\n\t\t49451\n\t],\n\t\"./id/collection.json\": [\n\t\t49451,\n\t\t49451\n\t],\n\t\"./id/common\": [\n\t\t81610,\n\t\t81610\n\t],\n\t\"./id/common.json\": [\n\t\t81610,\n\t\t81610\n\t],\n\t\"./id/developers\": [\n\t\t61597,\n\t\t61597\n\t],\n\t\"./id/developers.json\": [\n\t\t61597,\n\t\t61597\n\t],\n\t\"./id/error\": [\n\t\t72819,\n\t\t72819\n\t],\n\t\"./id/error.json\": [\n\t\t72819,\n\t\t72819\n\t],\n\t\"./id/home\": [\n\t\t96903,\n\t\t96903\n\t],\n\t\"./id/home.json\": [\n\t\t96903,\n\t\t96903\n\t],\n\t\"./id/learn\": [\n\t\t76593,\n\t\t76593\n\t],\n\t\"./id/learn.json\": [\n\t\t76593,\n\t\t76593\n\t],\n\t\"./id/login\": [\n\t\t74675,\n\t\t74675\n\t],\n\t\"./id/login.json\": [\n\t\t74675,\n\t\t74675\n\t],\n\t\"./id/notes\": [\n\t\t66176,\n\t\t66176\n\t],\n\t\"./id/notes.json\": [\n\t\t66176,\n\t\t66176\n\t],\n\t\"./id/notification-settings\": [\n\t\t43707,\n\t\t43707\n\t],\n\t\"./id/notification-settings.json\": [\n\t\t43707,\n\t\t43707\n\t],\n\t\"./id/onboarding\": [\n\t\t61471,\n\t\t61471\n\t],\n\t\"./id/onboarding.json\": [\n\t\t61471,\n\t\t61471\n\t],\n\t\"./id/privacy\": [\n\t\t10399,\n\t\t10399\n\t],\n\t\"./id/privacy.json\": [\n\t\t10399,\n\t\t10399\n\t],\n\t\"./id/product-updates\": [\n\t\t71573,\n\t\t71573\n\t],\n\t\"./id/product-updates.json\": [\n\t\t71573,\n\t\t71573\n\t],\n\t\"./id/profile\": [\n\t\t51702,\n\t\t51702\n\t],\n\t\"./id/profile.json\": [\n\t\t51702,\n\t\t51702\n\t],\n\t\"./id/quick-links\": [\n\t\t23168,\n\t\t23168\n\t],\n\t\"./id/quick-links.json\": [\n\t\t23168,\n\t\t23168\n\t],\n\t\"./id/quran-reader\": [\n\t\t93981,\n\t\t93981\n\t],\n\t\"./id/quran-reader.json\": [\n\t\t93981,\n\t\t93981\n\t],\n\t\"./id/quranic-calendar\": [\n\t\t33814,\n\t\t33814\n\t],\n\t\"./id/quranic-calendar.json\": [\n\t\t33814,\n\t\t33814\n\t],\n\t\"./id/radio\": [\n\t\t86174,\n\t\t86174\n\t],\n\t\"./id/radio.json\": [\n\t\t86174,\n\t\t86174\n\t],\n\t\"./id/ramadan-activities\": [\n\t\t65927,\n\t\t65927\n\t],\n\t\"./id/ramadan-activities.json\": [\n\t\t65927,\n\t\t65927\n\t],\n\t\"./id/reading-goal\": [\n\t\t16448,\n\t\t16448\n\t],\n\t\"./id/reading-goal.json\": [\n\t\t16448,\n\t\t16448\n\t],\n\t\"./id/reading-progress\": [\n\t\t81892,\n\t\t81892\n\t],\n\t\"./id/reading-progress.json\": [\n\t\t81892,\n\t\t81892\n\t],\n\t\"./id/reciter\": [\n\t\t56576,\n\t\t56576\n\t],\n\t\"./id/reciter.json\": [\n\t\t56576,\n\t\t56576\n\t],\n\t\"./id/search\": [\n\t\t20794,\n\t\t20794\n\t],\n\t\"./id/search.json\": [\n\t\t20794,\n\t\t20794\n\t],\n\t\"./id/support\": [\n\t\t18974,\n\t\t18974\n\t],\n\t\"./id/support.json\": [\n\t\t18974,\n\t\t18974\n\t],\n\t\"./id/surah-info\": [\n\t\t77717,\n\t\t77717\n\t],\n\t\"./id/surah-info.json\": [\n\t\t77717,\n\t\t77717\n\t],\n\t\"./id/tajweed\": [\n\t\t46233,\n\t\t46233\n\t],\n\t\"./id/tajweed.json\": [\n\t\t46233,\n\t\t46233\n\t],\n\t\"./it/about\": [\n\t\t216,\n\t\t216\n\t],\n\t\"./it/about-quran\": [\n\t\t63782,\n\t\t63782\n\t],\n\t\"./it/about-quran.json\": [\n\t\t63782,\n\t\t63782\n\t],\n\t\"./it/about.json\": [\n\t\t216,\n\t\t216\n\t],\n\t\"./it/apps\": [\n\t\t65396,\n\t\t65396\n\t],\n\t\"./it/apps.json\": [\n\t\t65396,\n\t\t65396\n\t],\n\t\"./it/chapter\": [\n\t\t47097,\n\t\t47097\n\t],\n\t\"./it/chapter.json\": [\n\t\t47097,\n\t\t47097\n\t],\n\t\"./it/collection\": [\n\t\t95656,\n\t\t95656\n\t],\n\t\"./it/collection.json\": [\n\t\t95656,\n\t\t95656\n\t],\n\t\"./it/common\": [\n\t\t9486,\n\t\t9486\n\t],\n\t\"./it/common.json\": [\n\t\t9486,\n\t\t9486\n\t],\n\t\"./it/developers\": [\n\t\t10626,\n\t\t10626\n\t],\n\t\"./it/developers.json\": [\n\t\t10626,\n\t\t10626\n\t],\n\t\"./it/error\": [\n\t\t91259,\n\t\t91259\n\t],\n\t\"./it/error.json\": [\n\t\t91259,\n\t\t91259\n\t],\n\t\"./it/home\": [\n\t\t53765,\n\t\t53765\n\t],\n\t\"./it/home.json\": [\n\t\t53765,\n\t\t53765\n\t],\n\t\"./it/learn\": [\n\t\t36629,\n\t\t36629\n\t],\n\t\"./it/learn.json\": [\n\t\t36629,\n\t\t36629\n\t],\n\t\"./it/login\": [\n\t\t91153,\n\t\t91153\n\t],\n\t\"./it/login.json\": [\n\t\t91153,\n\t\t91153\n\t],\n\t\"./it/notes\": [\n\t\t25457,\n\t\t25457\n\t],\n\t\"./it/notes.json\": [\n\t\t25457,\n\t\t25457\n\t],\n\t\"./it/notification-settings\": [\n\t\t93529,\n\t\t93529\n\t],\n\t\"./it/notification-settings.json\": [\n\t\t93529,\n\t\t93529\n\t],\n\t\"./it/onboarding\": [\n\t\t83818,\n\t\t83818\n\t],\n\t\"./it/onboarding.json\": [\n\t\t83818,\n\t\t83818\n\t],\n\t\"./it/privacy\": [\n\t\t94987,\n\t\t94987\n\t],\n\t\"./it/privacy.json\": [\n\t\t94987,\n\t\t94987\n\t],\n\t\"./it/product-updates\": [\n\t\t53558,\n\t\t53558\n\t],\n\t\"./it/product-updates.json\": [\n\t\t53558,\n\t\t53558\n\t],\n\t\"./it/profile\": [\n\t\t21618,\n\t\t21618\n\t],\n\t\"./it/profile.json\": [\n\t\t21618,\n\t\t21618\n\t],\n\t\"./it/quick-links\": [\n\t\t86406,\n\t\t86406\n\t],\n\t\"./it/quick-links.json\": [\n\t\t86406,\n\t\t86406\n\t],\n\t\"./it/quran-reader\": [\n\t\t95016,\n\t\t95016\n\t],\n\t\"./it/quran-reader.json\": [\n\t\t95016,\n\t\t95016\n\t],\n\t\"./it/quranic-calendar\": [\n\t\t98849,\n\t\t98849\n\t],\n\t\"./it/quranic-calendar.json\": [\n\t\t98849,\n\t\t98849\n\t],\n\t\"./it/radio\": [\n\t\t55570,\n\t\t55570\n\t],\n\t\"./it/radio.json\": [\n\t\t55570,\n\t\t55570\n\t],\n\t\"./it/ramadan-activities\": [\n\t\t38796,\n\t\t38796\n\t],\n\t\"./it/ramadan-activities.json\": [\n\t\t38796,\n\t\t38796\n\t],\n\t\"./it/reading-goal\": [\n\t\t98503,\n\t\t98503\n\t],\n\t\"./it/reading-goal.json\": [\n\t\t98503,\n\t\t98503\n\t],\n\t\"./it/reading-progress\": [\n\t\t90188,\n\t\t90188\n\t],\n\t\"./it/reading-progress.json\": [\n\t\t90188,\n\t\t90188\n\t],\n\t\"./it/reciter\": [\n\t\t39905,\n\t\t39905\n\t],\n\t\"./it/reciter.json\": [\n\t\t39905,\n\t\t39905\n\t],\n\t\"./it/search\": [\n\t\t5175,\n\t\t5175\n\t],\n\t\"./it/search.json\": [\n\t\t5175,\n\t\t5175\n\t],\n\t\"./it/support\": [\n\t\t88600,\n\t\t88600\n\t],\n\t\"./it/support.json\": [\n\t\t88600,\n\t\t88600\n\t],\n\t\"./it/surah-info\": [\n\t\t90940,\n\t\t90940\n\t],\n\t\"./it/surah-info.json\": [\n\t\t90940,\n\t\t90940\n\t],\n\t\"./it/tajweed\": [\n\t\t23442,\n\t\t23442\n\t],\n\t\"./it/tajweed.json\": [\n\t\t23442,\n\t\t23442\n\t],\n\t\"./ms/about\": [\n\t\t50029,\n\t\t50029\n\t],\n\t\"./ms/about-quran\": [\n\t\t30999,\n\t\t30999\n\t],\n\t\"./ms/about-quran.json\": [\n\t\t30999,\n\t\t30999\n\t],\n\t\"./ms/about.json\": [\n\t\t50029,\n\t\t50029\n\t],\n\t\"./ms/apps\": [\n\t\t96282,\n\t\t96282\n\t],\n\t\"./ms/apps.json\": [\n\t\t96282,\n\t\t96282\n\t],\n\t\"./ms/chapter\": [\n\t\t41641,\n\t\t41641\n\t],\n\t\"./ms/chapter.json\": [\n\t\t41641,\n\t\t41641\n\t],\n\t\"./ms/collection\": [\n\t\t73218,\n\t\t73218\n\t],\n\t\"./ms/collection.json\": [\n\t\t73218,\n\t\t73218\n\t],\n\t\"./ms/common\": [\n\t\t85223,\n\t\t85223\n\t],\n\t\"./ms/common.json\": [\n\t\t85223,\n\t\t85223\n\t],\n\t\"./ms/developers\": [\n\t\t6259,\n\t\t6259\n\t],\n\t\"./ms/developers.json\": [\n\t\t6259,\n\t\t6259\n\t],\n\t\"./ms/error\": [\n\t\t29620,\n\t\t29620\n\t],\n\t\"./ms/error.json\": [\n\t\t29620,\n\t\t29620\n\t],\n\t\"./ms/home\": [\n\t\t98950,\n\t\t98950\n\t],\n\t\"./ms/home.json\": [\n\t\t98950,\n\t\t98950\n\t],\n\t\"./ms/learn\": [\n\t\t10132,\n\t\t10132\n\t],\n\t\"./ms/learn.json\": [\n\t\t10132,\n\t\t10132\n\t],\n\t\"./ms/login\": [\n\t\t128,\n\t\t128\n\t],\n\t\"./ms/login.json\": [\n\t\t128,\n\t\t128\n\t],\n\t\"./ms/notes\": [\n\t\t5008,\n\t\t5008\n\t],\n\t\"./ms/notes.json\": [\n\t\t5008,\n\t\t5008\n\t],\n\t\"./ms/notification-settings\": [\n\t\t77016,\n\t\t77016\n\t],\n\t\"./ms/notification-settings.json\": [\n\t\t77016,\n\t\t77016\n\t],\n\t\"./ms/onboarding\": [\n\t\t63085,\n\t\t63085\n\t],\n\t\"./ms/onboarding.json\": [\n\t\t63085,\n\t\t63085\n\t],\n\t\"./ms/privacy\": [\n\t\t39746,\n\t\t39746\n\t],\n\t\"./ms/privacy.json\": [\n\t\t39746,\n\t\t39746\n\t],\n\t\"./ms/product-updates\": [\n\t\t56495,\n\t\t56495\n\t],\n\t\"./ms/product-updates.json\": [\n\t\t56495,\n\t\t56495\n\t],\n\t\"./ms/profile\": [\n\t\t83461,\n\t\t83461\n\t],\n\t\"./ms/profile.json\": [\n\t\t83461,\n\t\t83461\n\t],\n\t\"./ms/quick-links\": [\n\t\t1017,\n\t\t1017\n\t],\n\t\"./ms/quick-links.json\": [\n\t\t1017,\n\t\t1017\n\t],\n\t\"./ms/quran-reader\": [\n\t\t11242,\n\t\t11242\n\t],\n\t\"./ms/quran-reader.json\": [\n\t\t11242,\n\t\t11242\n\t],\n\t\"./ms/quranic-calendar\": [\n\t\t46584,\n\t\t46584\n\t],\n\t\"./ms/quranic-calendar.json\": [\n\t\t46584,\n\t\t46584\n\t],\n\t\"./ms/radio\": [\n\t\t3787,\n\t\t3787\n\t],\n\t\"./ms/radio.json\": [\n\t\t3787,\n\t\t3787\n\t],\n\t\"./ms/ramadan-activities\": [\n\t\t9590,\n\t\t9590\n\t],\n\t\"./ms/ramadan-activities.json\": [\n\t\t9590,\n\t\t9590\n\t],\n\t\"./ms/reading-goal\": [\n\t\t85582,\n\t\t85582\n\t],\n\t\"./ms/reading-goal.json\": [\n\t\t85582,\n\t\t85582\n\t],\n\t\"./ms/reading-progress\": [\n\t\t61484,\n\t\t61484\n\t],\n\t\"./ms/reading-progress.json\": [\n\t\t61484,\n\t\t61484\n\t],\n\t\"./ms/reciter\": [\n\t\t83546,\n\t\t83546\n\t],\n\t\"./ms/reciter.json\": [\n\t\t83546,\n\t\t83546\n\t],\n\t\"./ms/search\": [\n\t\t80561,\n\t\t80561\n\t],\n\t\"./ms/search.json\": [\n\t\t80561,\n\t\t80561\n\t],\n\t\"./ms/support\": [\n\t\t91036,\n\t\t91036\n\t],\n\t\"./ms/support.json\": [\n\t\t91036,\n\t\t91036\n\t],\n\t\"./ms/surah-info\": [\n\t\t89413,\n\t\t89413\n\t],\n\t\"./ms/surah-info.json\": [\n\t\t89413,\n\t\t89413\n\t],\n\t\"./ms/tajweed\": [\n\t\t71501,\n\t\t71501\n\t],\n\t\"./ms/tajweed.json\": [\n\t\t71501,\n\t\t71501\n\t],\n\t\"./nl/about\": [\n\t\t63113,\n\t\t63113\n\t],\n\t\"./nl/about-quran\": [\n\t\t29687,\n\t\t29687\n\t],\n\t\"./nl/about-quran.json\": [\n\t\t29687,\n\t\t29687\n\t],\n\t\"./nl/about.json\": [\n\t\t63113,\n\t\t63113\n\t],\n\t\"./nl/apps\": [\n\t\t30496,\n\t\t30496\n\t],\n\t\"./nl/apps.json\": [\n\t\t30496,\n\t\t30496\n\t],\n\t\"./nl/chapter\": [\n\t\t7451,\n\t\t7451\n\t],\n\t\"./nl/chapter.json\": [\n\t\t7451,\n\t\t7451\n\t],\n\t\"./nl/collection\": [\n\t\t49409,\n\t\t49409\n\t],\n\t\"./nl/collection.json\": [\n\t\t49409,\n\t\t49409\n\t],\n\t\"./nl/common\": [\n\t\t1211,\n\t\t1211\n\t],\n\t\"./nl/common.json\": [\n\t\t1211,\n\t\t1211\n\t],\n\t\"./nl/developers\": [\n\t\t96780,\n\t\t96780\n\t],\n\t\"./nl/developers.json\": [\n\t\t96780,\n\t\t96780\n\t],\n\t\"./nl/error\": [\n\t\t57744,\n\t\t57744\n\t],\n\t\"./nl/error.json\": [\n\t\t57744,\n\t\t57744\n\t],\n\t\"./nl/home\": [\n\t\t86385,\n\t\t86385\n\t],\n\t\"./nl/home.json\": [\n\t\t86385,\n\t\t86385\n\t],\n\t\"./nl/learn\": [\n\t\t15632,\n\t\t15632\n\t],\n\t\"./nl/learn.json\": [\n\t\t15632,\n\t\t15632\n\t],\n\t\"./nl/login\": [\n\t\t75083,\n\t\t75083\n\t],\n\t\"./nl/login.json\": [\n\t\t75083,\n\t\t75083\n\t],\n\t\"./nl/notes\": [\n\t\t83002,\n\t\t83002\n\t],\n\t\"./nl/notes.json\": [\n\t\t83002,\n\t\t83002\n\t],\n\t\"./nl/notification-settings\": [\n\t\t4939,\n\t\t4939\n\t],\n\t\"./nl/notification-settings.json\": [\n\t\t4939,\n\t\t4939\n\t],\n\t\"./nl/onboarding\": [\n\t\t67565,\n\t\t67565\n\t],\n\t\"./nl/onboarding.json\": [\n\t\t67565,\n\t\t67565\n\t],\n\t\"./nl/privacy\": [\n\t\t80100,\n\t\t80100\n\t],\n\t\"./nl/privacy.json\": [\n\t\t80100,\n\t\t80100\n\t],\n\t\"./nl/product-updates\": [\n\t\t29175,\n\t\t29175\n\t],\n\t\"./nl/product-updates.json\": [\n\t\t29175,\n\t\t29175\n\t],\n\t\"./nl/profile\": [\n\t\t86583,\n\t\t86583\n\t],\n\t\"./nl/profile.json\": [\n\t\t86583,\n\t\t86583\n\t],\n\t\"./nl/quick-links\": [\n\t\t45960,\n\t\t45960\n\t],\n\t\"./nl/quick-links.json\": [\n\t\t45960,\n\t\t45960\n\t],\n\t\"./nl/quran-reader\": [\n\t\t8322,\n\t\t8322\n\t],\n\t\"./nl/quran-reader.json\": [\n\t\t8322,\n\t\t8322\n\t],\n\t\"./nl/quranic-calendar\": [\n\t\t50642,\n\t\t50642\n\t],\n\t\"./nl/quranic-calendar.json\": [\n\t\t50642,\n\t\t50642\n\t],\n\t\"./nl/radio\": [\n\t\t13878,\n\t\t13878\n\t],\n\t\"./nl/radio.json\": [\n\t\t13878,\n\t\t13878\n\t],\n\t\"./nl/ramadan-activities\": [\n\t\t46633,\n\t\t46633\n\t],\n\t\"./nl/ramadan-activities.json\": [\n\t\t46633,\n\t\t46633\n\t],\n\t\"./nl/reading-goal\": [\n\t\t80279,\n\t\t80279\n\t],\n\t\"./nl/reading-goal.json\": [\n\t\t80279,\n\t\t80279\n\t],\n\t\"./nl/reading-progress\": [\n\t\t43990,\n\t\t43990\n\t],\n\t\"./nl/reading-progress.json\": [\n\t\t43990,\n\t\t43990\n\t],\n\t\"./nl/reciter\": [\n\t\t95073,\n\t\t95073\n\t],\n\t\"./nl/reciter.json\": [\n\t\t95073,\n\t\t95073\n\t],\n\t\"./nl/search\": [\n\t\t10308,\n\t\t10308\n\t],\n\t\"./nl/search.json\": [\n\t\t10308,\n\t\t10308\n\t],\n\t\"./nl/support\": [\n\t\t76263,\n\t\t76263\n\t],\n\t\"./nl/support.json\": [\n\t\t76263,\n\t\t76263\n\t],\n\t\"./nl/surah-info\": [\n\t\t48168,\n\t\t48168\n\t],\n\t\"./nl/surah-info.json\": [\n\t\t48168,\n\t\t48168\n\t],\n\t\"./nl/tajweed\": [\n\t\t7999,\n\t\t7999\n\t],\n\t\"./nl/tajweed.json\": [\n\t\t7999,\n\t\t7999\n\t],\n\t\"./pt/about\": [\n\t\t5891,\n\t\t5891\n\t],\n\t\"./pt/about-quran\": [\n\t\t50657,\n\t\t50657\n\t],\n\t\"./pt/about-quran.json\": [\n\t\t50657,\n\t\t50657\n\t],\n\t\"./pt/about.json\": [\n\t\t5891,\n\t\t5891\n\t],\n\t\"./pt/apps\": [\n\t\t1787,\n\t\t1787\n\t],\n\t\"./pt/apps.json\": [\n\t\t1787,\n\t\t1787\n\t],\n\t\"./pt/chapter\": [\n\t\t20833,\n\t\t20833\n\t],\n\t\"./pt/chapter.json\": [\n\t\t20833,\n\t\t20833\n\t],\n\t\"./pt/collection\": [\n\t\t99625,\n\t\t99625\n\t],\n\t\"./pt/collection.json\": [\n\t\t99625,\n\t\t99625\n\t],\n\t\"./pt/common\": [\n\t\t41400,\n\t\t41400\n\t],\n\t\"./pt/common.json\": [\n\t\t41400,\n\t\t41400\n\t],\n\t\"./pt/developers\": [\n\t\t21378,\n\t\t21378\n\t],\n\t\"./pt/developers.json\": [\n\t\t21378,\n\t\t21378\n\t],\n\t\"./pt/error\": [\n\t\t31374,\n\t\t31374\n\t],\n\t\"./pt/error.json\": [\n\t\t31374,\n\t\t31374\n\t],\n\t\"./pt/home\": [\n\t\t44766,\n\t\t44766\n\t],\n\t\"./pt/home.json\": [\n\t\t44766,\n\t\t44766\n\t],\n\t\"./pt/learn\": [\n\t\t86561,\n\t\t86561\n\t],\n\t\"./pt/learn.json\": [\n\t\t86561,\n\t\t86561\n\t],\n\t\"./pt/login\": [\n\t\t13192,\n\t\t13192\n\t],\n\t\"./pt/login.json\": [\n\t\t13192,\n\t\t13192\n\t],\n\t\"./pt/notes\": [\n\t\t92342,\n\t\t92342\n\t],\n\t\"./pt/notes.json\": [\n\t\t92342,\n\t\t92342\n\t],\n\t\"./pt/notification-settings\": [\n\t\t28007,\n\t\t28007\n\t],\n\t\"./pt/notification-settings.json\": [\n\t\t28007,\n\t\t28007\n\t],\n\t\"./pt/onboarding\": [\n\t\t25232,\n\t\t25232\n\t],\n\t\"./pt/onboarding.json\": [\n\t\t25232,\n\t\t25232\n\t],\n\t\"./pt/privacy\": [\n\t\t25283,\n\t\t25283\n\t],\n\t\"./pt/privacy.json\": [\n\t\t25283,\n\t\t25283\n\t],\n\t\"./pt/product-updates\": [\n\t\t13850,\n\t\t13850\n\t],\n\t\"./pt/product-updates.json\": [\n\t\t13850,\n\t\t13850\n\t],\n\t\"./pt/profile\": [\n\t\t22854,\n\t\t22854\n\t],\n\t\"./pt/profile.json\": [\n\t\t22854,\n\t\t22854\n\t],\n\t\"./pt/quick-links\": [\n\t\t64394,\n\t\t64394\n\t],\n\t\"./pt/quick-links.json\": [\n\t\t64394,\n\t\t64394\n\t],\n\t\"./pt/quran-reader\": [\n\t\t22527,\n\t\t22527\n\t],\n\t\"./pt/quran-reader.json\": [\n\t\t22527,\n\t\t22527\n\t],\n\t\"./pt/quranic-calendar\": [\n\t\t79732,\n\t\t79732\n\t],\n\t\"./pt/quranic-calendar.json\": [\n\t\t79732,\n\t\t79732\n\t],\n\t\"./pt/radio\": [\n\t\t72575,\n\t\t72575\n\t],\n\t\"./pt/radio.json\": [\n\t\t72575,\n\t\t72575\n\t],\n\t\"./pt/ramadan-activities\": [\n\t\t10477,\n\t\t10477\n\t],\n\t\"./pt/ramadan-activities.json\": [\n\t\t10477,\n\t\t10477\n\t],\n\t\"./pt/reading-goal\": [\n\t\t12171,\n\t\t12171\n\t],\n\t\"./pt/reading-goal.json\": [\n\t\t12171,\n\t\t12171\n\t],\n\t\"./pt/reading-progress\": [\n\t\t22360,\n\t\t22360\n\t],\n\t\"./pt/reading-progress.json\": [\n\t\t22360,\n\t\t22360\n\t],\n\t\"./pt/reciter\": [\n\t\t76804,\n\t\t76804\n\t],\n\t\"./pt/reciter.json\": [\n\t\t76804,\n\t\t76804\n\t],\n\t\"./pt/search\": [\n\t\t8302,\n\t\t8302\n\t],\n\t\"./pt/search.json\": [\n\t\t8302,\n\t\t8302\n\t],\n\t\"./pt/support\": [\n\t\t94109,\n\t\t94109\n\t],\n\t\"./pt/support.json\": [\n\t\t94109,\n\t\t94109\n\t],\n\t\"./pt/surah-info\": [\n\t\t48580,\n\t\t48580\n\t],\n\t\"./pt/surah-info.json\": [\n\t\t48580,\n\t\t48580\n\t],\n\t\"./pt/tajweed\": [\n\t\t89925,\n\t\t89925\n\t],\n\t\"./pt/tajweed.json\": [\n\t\t89925,\n\t\t89925\n\t],\n\t\"./ru/about\": [\n\t\t6217,\n\t\t6217\n\t],\n\t\"./ru/about-quran\": [\n\t\t68779,\n\t\t68779\n\t],\n\t\"./ru/about-quran.json\": [\n\t\t68779,\n\t\t68779\n\t],\n\t\"./ru/about.json\": [\n\t\t6217,\n\t\t6217\n\t],\n\t\"./ru/apps\": [\n\t\t95147,\n\t\t95147\n\t],\n\t\"./ru/apps.json\": [\n\t\t95147,\n\t\t95147\n\t],\n\t\"./ru/chapter\": [\n\t\t25758,\n\t\t25758\n\t],\n\t\"./ru/chapter.json\": [\n\t\t25758,\n\t\t25758\n\t],\n\t\"./ru/collection\": [\n\t\t2735,\n\t\t2735\n\t],\n\t\"./ru/collection.json\": [\n\t\t2735,\n\t\t2735\n\t],\n\t\"./ru/common\": [\n\t\t77247,\n\t\t77247\n\t],\n\t\"./ru/common.json\": [\n\t\t77247,\n\t\t77247\n\t],\n\t\"./ru/developers\": [\n\t\t57132,\n\t\t57132\n\t],\n\t\"./ru/developers.json\": [\n\t\t57132,\n\t\t57132\n\t],\n\t\"./ru/error\": [\n\t\t8104,\n\t\t8104\n\t],\n\t\"./ru/error.json\": [\n\t\t8104,\n\t\t8104\n\t],\n\t\"./ru/home\": [\n\t\t32503,\n\t\t32503\n\t],\n\t\"./ru/home.json\": [\n\t\t32503,\n\t\t32503\n\t],\n\t\"./ru/learn\": [\n\t\t86058,\n\t\t86058\n\t],\n\t\"./ru/learn.json\": [\n\t\t86058,\n\t\t86058\n\t],\n\t\"./ru/login\": [\n\t\t87653,\n\t\t87653\n\t],\n\t\"./ru/login.json\": [\n\t\t87653,\n\t\t87653\n\t],\n\t\"./ru/notes\": [\n\t\t15965,\n\t\t15965\n\t],\n\t\"./ru/notes.json\": [\n\t\t15965,\n\t\t15965\n\t],\n\t\"./ru/notification-settings\": [\n\t\t67975,\n\t\t67975\n\t],\n\t\"./ru/notification-settings.json\": [\n\t\t67975,\n\t\t67975\n\t],\n\t\"./ru/onboarding\": [\n\t\t25024,\n\t\t25024\n\t],\n\t\"./ru/onboarding.json\": [\n\t\t25024,\n\t\t25024\n\t],\n\t\"./ru/privacy\": [\n\t\t28771,\n\t\t28771\n\t],\n\t\"./ru/privacy.json\": [\n\t\t28771,\n\t\t28771\n\t],\n\t\"./ru/product-updates\": [\n\t\t45111,\n\t\t45111\n\t],\n\t\"./ru/product-updates.json\": [\n\t\t45111,\n\t\t45111\n\t],\n\t\"./ru/profile\": [\n\t\t87157,\n\t\t87157\n\t],\n\t\"./ru/profile.json\": [\n\t\t87157,\n\t\t87157\n\t],\n\t\"./ru/quick-links\": [\n\t\t69373,\n\t\t69373\n\t],\n\t\"./ru/quick-links.json\": [\n\t\t69373,\n\t\t69373\n\t],\n\t\"./ru/quran-reader\": [\n\t\t88041,\n\t\t88041\n\t],\n\t\"./ru/quran-reader.json\": [\n\t\t88041,\n\t\t88041\n\t],\n\t\"./ru/quranic-calendar\": [\n\t\t67606,\n\t\t67606\n\t],\n\t\"./ru/quranic-calendar.json\": [\n\t\t67606,\n\t\t67606\n\t],\n\t\"./ru/radio\": [\n\t\t69511,\n\t\t69511\n\t],\n\t\"./ru/radio.json\": [\n\t\t69511,\n\t\t69511\n\t],\n\t\"./ru/ramadan-activities\": [\n\t\t59974,\n\t\t59974\n\t],\n\t\"./ru/ramadan-activities.json\": [\n\t\t59974,\n\t\t59974\n\t],\n\t\"./ru/reading-goal\": [\n\t\t43156,\n\t\t43156\n\t],\n\t\"./ru/reading-goal.json\": [\n\t\t43156,\n\t\t43156\n\t],\n\t\"./ru/reading-progress\": [\n\t\t87089,\n\t\t87089\n\t],\n\t\"./ru/reading-progress.json\": [\n\t\t87089,\n\t\t87089\n\t],\n\t\"./ru/reciter\": [\n\t\t82554,\n\t\t82554\n\t],\n\t\"./ru/reciter.json\": [\n\t\t82554,\n\t\t82554\n\t],\n\t\"./ru/search\": [\n\t\t77193,\n\t\t77193\n\t],\n\t\"./ru/search.json\": [\n\t\t77193,\n\t\t77193\n\t],\n\t\"./ru/support\": [\n\t\t52074,\n\t\t52074\n\t],\n\t\"./ru/support.json\": [\n\t\t52074,\n\t\t52074\n\t],\n\t\"./ru/surah-info\": [\n\t\t84967,\n\t\t84967\n\t],\n\t\"./ru/surah-info.json\": [\n\t\t84967,\n\t\t84967\n\t],\n\t\"./ru/tajweed\": [\n\t\t42932,\n\t\t42932\n\t],\n\t\"./ru/tajweed.json\": [\n\t\t42932,\n\t\t42932\n\t],\n\t\"./sq/about\": [\n\t\t1471,\n\t\t1471\n\t],\n\t\"./sq/about-quran\": [\n\t\t49361,\n\t\t49361\n\t],\n\t\"./sq/about-quran.json\": [\n\t\t49361,\n\t\t49361\n\t],\n\t\"./sq/about.json\": [\n\t\t1471,\n\t\t1471\n\t],\n\t\"./sq/apps\": [\n\t\t75248,\n\t\t75248\n\t],\n\t\"./sq/apps.json\": [\n\t\t75248,\n\t\t75248\n\t],\n\t\"./sq/chapter\": [\n\t\t9636,\n\t\t9636\n\t],\n\t\"./sq/chapter.json\": [\n\t\t9636,\n\t\t9636\n\t],\n\t\"./sq/collection\": [\n\t\t38326,\n\t\t38326\n\t],\n\t\"./sq/collection.json\": [\n\t\t38326,\n\t\t38326\n\t],\n\t\"./sq/common\": [\n\t\t22937,\n\t\t22937\n\t],\n\t\"./sq/common.json\": [\n\t\t22937,\n\t\t22937\n\t],\n\t\"./sq/developers\": [\n\t\t86418,\n\t\t86418\n\t],\n\t\"./sq/developers.json\": [\n\t\t86418,\n\t\t86418\n\t],\n\t\"./sq/error\": [\n\t\t62322,\n\t\t62322\n\t],\n\t\"./sq/error.json\": [\n\t\t62322,\n\t\t62322\n\t],\n\t\"./sq/home\": [\n\t\t8951,\n\t\t8951\n\t],\n\t\"./sq/home.json\": [\n\t\t8951,\n\t\t8951\n\t],\n\t\"./sq/learn\": [\n\t\t96543,\n\t\t96543\n\t],\n\t\"./sq/learn.json\": [\n\t\t96543,\n\t\t96543\n\t],\n\t\"./sq/login\": [\n\t\t39725,\n\t\t39725\n\t],\n\t\"./sq/login.json\": [\n\t\t39725,\n\t\t39725\n\t],\n\t\"./sq/notes\": [\n\t\t36464,\n\t\t36464\n\t],\n\t\"./sq/notes.json\": [\n\t\t36464,\n\t\t36464\n\t],\n\t\"./sq/notification-settings\": [\n\t\t5781,\n\t\t5781\n\t],\n\t\"./sq/notification-settings.json\": [\n\t\t5781,\n\t\t5781\n\t],\n\t\"./sq/onboarding\": [\n\t\t72873,\n\t\t72873\n\t],\n\t\"./sq/onboarding.json\": [\n\t\t72873,\n\t\t72873\n\t],\n\t\"./sq/privacy\": [\n\t\t46448,\n\t\t46448\n\t],\n\t\"./sq/privacy.json\": [\n\t\t46448,\n\t\t46448\n\t],\n\t\"./sq/product-updates\": [\n\t\t90650,\n\t\t90650\n\t],\n\t\"./sq/product-updates.json\": [\n\t\t90650,\n\t\t90650\n\t],\n\t\"./sq/profile\": [\n\t\t96682,\n\t\t96682\n\t],\n\t\"./sq/profile.json\": [\n\t\t96682,\n\t\t96682\n\t],\n\t\"./sq/quick-links\": [\n\t\t36048,\n\t\t36048\n\t],\n\t\"./sq/quick-links.json\": [\n\t\t36048,\n\t\t36048\n\t],\n\t\"./sq/quran-reader\": [\n\t\t10476,\n\t\t10476\n\t],\n\t\"./sq/quran-reader.json\": [\n\t\t10476,\n\t\t10476\n\t],\n\t\"./sq/quranic-calendar\": [\n\t\t89274,\n\t\t89274\n\t],\n\t\"./sq/quranic-calendar.json\": [\n\t\t89274,\n\t\t89274\n\t],\n\t\"./sq/radio\": [\n\t\t705,\n\t\t705\n\t],\n\t\"./sq/radio.json\": [\n\t\t705,\n\t\t705\n\t],\n\t\"./sq/ramadan-activities\": [\n\t\t70957,\n\t\t70957\n\t],\n\t\"./sq/ramadan-activities.json\": [\n\t\t70957,\n\t\t70957\n\t],\n\t\"./sq/reading-goal\": [\n\t\t67332,\n\t\t67332\n\t],\n\t\"./sq/reading-goal.json\": [\n\t\t67332,\n\t\t67332\n\t],\n\t\"./sq/reading-progress\": [\n\t\t8288,\n\t\t8288\n\t],\n\t\"./sq/reading-progress.json\": [\n\t\t8288,\n\t\t8288\n\t],\n\t\"./sq/reciter\": [\n\t\t37257,\n\t\t37257\n\t],\n\t\"./sq/reciter.json\": [\n\t\t37257,\n\t\t37257\n\t],\n\t\"./sq/search\": [\n\t\t86609,\n\t\t86609\n\t],\n\t\"./sq/search.json\": [\n\t\t86609,\n\t\t86609\n\t],\n\t\"./sq/support\": [\n\t\t20801,\n\t\t20801\n\t],\n\t\"./sq/support.json\": [\n\t\t20801,\n\t\t20801\n\t],\n\t\"./sq/surah-info\": [\n\t\t16726,\n\t\t16726\n\t],\n\t\"./sq/surah-info.json\": [\n\t\t16726,\n\t\t16726\n\t],\n\t\"./sq/tajweed\": [\n\t\t24733,\n\t\t24733\n\t],\n\t\"./sq/tajweed.json\": [\n\t\t24733,\n\t\t24733\n\t],\n\t\"./th/about\": [\n\t\t47030,\n\t\t47030\n\t],\n\t\"./th/about-quran\": [\n\t\t59288,\n\t\t59288\n\t],\n\t\"./th/about-quran.json\": [\n\t\t59288,\n\t\t59288\n\t],\n\t\"./th/about.json\": [\n\t\t47030,\n\t\t47030\n\t],\n\t\"./th/apps\": [\n\t\t50249,\n\t\t50249\n\t],\n\t\"./th/apps.json\": [\n\t\t50249,\n\t\t50249\n\t],\n\t\"./th/chapter\": [\n\t\t6735,\n\t\t6735\n\t],\n\t\"./th/chapter.json\": [\n\t\t6735,\n\t\t6735\n\t],\n\t\"./th/collection\": [\n\t\t78294,\n\t\t78294\n\t],\n\t\"./th/collection.json\": [\n\t\t78294,\n\t\t78294\n\t],\n\t\"./th/common\": [\n\t\t63303,\n\t\t63303\n\t],\n\t\"./th/common.json\": [\n\t\t63303,\n\t\t63303\n\t],\n\t\"./th/developers\": [\n\t\t42529,\n\t\t42529\n\t],\n\t\"./th/developers.json\": [\n\t\t42529,\n\t\t42529\n\t],\n\t\"./th/error\": [\n\t\t75496,\n\t\t75496\n\t],\n\t\"./th/error.json\": [\n\t\t75496,\n\t\t75496\n\t],\n\t\"./th/home\": [\n\t\t61686,\n\t\t61686\n\t],\n\t\"./th/home.json\": [\n\t\t61686,\n\t\t61686\n\t],\n\t\"./th/learn\": [\n\t\t38984,\n\t\t38984\n\t],\n\t\"./th/learn.json\": [\n\t\t38984,\n\t\t38984\n\t],\n\t\"./th/login\": [\n\t\t98915,\n\t\t98915\n\t],\n\t\"./th/login.json\": [\n\t\t98915,\n\t\t98915\n\t],\n\t\"./th/notes\": [\n\t\t30741,\n\t\t30741\n\t],\n\t\"./th/notes.json\": [\n\t\t30741,\n\t\t30741\n\t],\n\t\"./th/notification-settings\": [\n\t\t29802,\n\t\t29802\n\t],\n\t\"./th/notification-settings.json\": [\n\t\t29802,\n\t\t29802\n\t],\n\t\"./th/onboarding\": [\n\t\t99442,\n\t\t99442\n\t],\n\t\"./th/onboarding.json\": [\n\t\t99442,\n\t\t99442\n\t],\n\t\"./th/privacy\": [\n\t\t51890,\n\t\t51890\n\t],\n\t\"./th/privacy.json\": [\n\t\t51890,\n\t\t51890\n\t],\n\t\"./th/product-updates\": [\n\t\t11329,\n\t\t11329\n\t],\n\t\"./th/product-updates.json\": [\n\t\t11329,\n\t\t11329\n\t],\n\t\"./th/profile\": [\n\t\t43671,\n\t\t43671\n\t],\n\t\"./th/profile.json\": [\n\t\t43671,\n\t\t43671\n\t],\n\t\"./th/quick-links\": [\n\t\t82010,\n\t\t82010\n\t],\n\t\"./th/quick-links.json\": [\n\t\t82010,\n\t\t82010\n\t],\n\t\"./th/quran-reader\": [\n\t\t31301,\n\t\t31301\n\t],\n\t\"./th/quran-reader.json\": [\n\t\t31301,\n\t\t31301\n\t],\n\t\"./th/quranic-calendar\": [\n\t\t76792,\n\t\t76792\n\t],\n\t\"./th/quranic-calendar.json\": [\n\t\t76792,\n\t\t76792\n\t],\n\t\"./th/radio\": [\n\t\t20364,\n\t\t20364\n\t],\n\t\"./th/radio.json\": [\n\t\t20364,\n\t\t20364\n\t],\n\t\"./th/ramadan-activities\": [\n\t\t37595,\n\t\t37595\n\t],\n\t\"./th/ramadan-activities.json\": [\n\t\t37595,\n\t\t37595\n\t],\n\t\"./th/reading-goal\": [\n\t\t56927,\n\t\t56927\n\t],\n\t\"./th/reading-goal.json\": [\n\t\t56927,\n\t\t56927\n\t],\n\t\"./th/reading-progress\": [\n\t\t44444,\n\t\t44444\n\t],\n\t\"./th/reading-progress.json\": [\n\t\t44444,\n\t\t44444\n\t],\n\t\"./th/reciter\": [\n\t\t95142,\n\t\t95142\n\t],\n\t\"./th/reciter.json\": [\n\t\t95142,\n\t\t95142\n\t],\n\t\"./th/search\": [\n\t\t15178,\n\t\t15178\n\t],\n\t\"./th/search.json\": [\n\t\t15178,\n\t\t15178\n\t],\n\t\"./th/support\": [\n\t\t90933,\n\t\t90933\n\t],\n\t\"./th/support.json\": [\n\t\t90933,\n\t\t90933\n\t],\n\t\"./th/surah-info\": [\n\t\t57855,\n\t\t57855\n\t],\n\t\"./th/surah-info.json\": [\n\t\t57855,\n\t\t57855\n\t],\n\t\"./th/tajweed\": [\n\t\t87880,\n\t\t87880\n\t],\n\t\"./th/tajweed.json\": [\n\t\t87880,\n\t\t87880\n\t],\n\t\"./tr/about\": [\n\t\t84602,\n\t\t84602\n\t],\n\t\"./tr/about-quran\": [\n\t\t50489,\n\t\t98213\n\t],\n\t\"./tr/about-quran.json\": [\n\t\t50489,\n\t\t98213\n\t],\n\t\"./tr/about.json\": [\n\t\t84602,\n\t\t84602\n\t],\n\t\"./tr/apps\": [\n\t\t12445,\n\t\t12445\n\t],\n\t\"./tr/apps.json\": [\n\t\t12445,\n\t\t12445\n\t],\n\t\"./tr/chapter\": [\n\t\t51528,\n\t\t51528\n\t],\n\t\"./tr/chapter.json\": [\n\t\t51528,\n\t\t51528\n\t],\n\t\"./tr/collection\": [\n\t\t38104,\n\t\t38104\n\t],\n\t\"./tr/collection.json\": [\n\t\t38104,\n\t\t38104\n\t],\n\t\"./tr/common\": [\n\t\t72973,\n\t\t72973\n\t],\n\t\"./tr/common.json\": [\n\t\t72973,\n\t\t72973\n\t],\n\t\"./tr/developers\": [\n\t\t60417,\n\t\t60417\n\t],\n\t\"./tr/developers.json\": [\n\t\t60417,\n\t\t60417\n\t],\n\t\"./tr/error\": [\n\t\t47328,\n\t\t47328\n\t],\n\t\"./tr/error.json\": [\n\t\t47328,\n\t\t47328\n\t],\n\t\"./tr/home\": [\n\t\t27646,\n\t\t27646\n\t],\n\t\"./tr/home.json\": [\n\t\t27646,\n\t\t27646\n\t],\n\t\"./tr/learn\": [\n\t\t29940,\n\t\t29940\n\t],\n\t\"./tr/learn.json\": [\n\t\t29940,\n\t\t29940\n\t],\n\t\"./tr/login\": [\n\t\t99237,\n\t\t99237\n\t],\n\t\"./tr/login.json\": [\n\t\t99237,\n\t\t99237\n\t],\n\t\"./tr/notes\": [\n\t\t1639,\n\t\t1639\n\t],\n\t\"./tr/notes.json\": [\n\t\t1639,\n\t\t1639\n\t],\n\t\"./tr/notification-settings\": [\n\t\t65673,\n\t\t65673\n\t],\n\t\"./tr/notification-settings.json\": [\n\t\t65673,\n\t\t65673\n\t],\n\t\"./tr/onboarding\": [\n\t\t126,\n\t\t126\n\t],\n\t\"./tr/onboarding.json\": [\n\t\t126,\n\t\t126\n\t],\n\t\"./tr/privacy\": [\n\t\t25937,\n\t\t25937\n\t],\n\t\"./tr/privacy.json\": [\n\t\t25937,\n\t\t25937\n\t],\n\t\"./tr/product-updates\": [\n\t\t22771,\n\t\t22771\n\t],\n\t\"./tr/product-updates.json\": [\n\t\t22771,\n\t\t22771\n\t],\n\t\"./tr/profile\": [\n\t\t52140,\n\t\t52140\n\t],\n\t\"./tr/profile.json\": [\n\t\t52140,\n\t\t52140\n\t],\n\t\"./tr/quick-links\": [\n\t\t44202,\n\t\t44202\n\t],\n\t\"./tr/quick-links.json\": [\n\t\t44202,\n\t\t44202\n\t],\n\t\"./tr/quran-reader\": [\n\t\t21552,\n\t\t21552\n\t],\n\t\"./tr/quran-reader.json\": [\n\t\t21552,\n\t\t21552\n\t],\n\t\"./tr/quranic-calendar\": [\n\t\t49934,\n\t\t49934\n\t],\n\t\"./tr/quranic-calendar.json\": [\n\t\t49934,\n\t\t49934\n\t],\n\t\"./tr/radio\": [\n\t\t64431,\n\t\t64431\n\t],\n\t\"./tr/radio.json\": [\n\t\t64431,\n\t\t64431\n\t],\n\t\"./tr/ramadan-activities\": [\n\t\t35058,\n\t\t35058\n\t],\n\t\"./tr/ramadan-activities.json\": [\n\t\t35058,\n\t\t35058\n\t],\n\t\"./tr/reading-goal\": [\n\t\t71990,\n\t\t71990\n\t],\n\t\"./tr/reading-goal.json\": [\n\t\t71990,\n\t\t71990\n\t],\n\t\"./tr/reading-progress\": [\n\t\t22768,\n\t\t22768\n\t],\n\t\"./tr/reading-progress.json\": [\n\t\t22768,\n\t\t22768\n\t],\n\t\"./tr/reciter\": [\n\t\t59535,\n\t\t59535\n\t],\n\t\"./tr/reciter.json\": [\n\t\t59535,\n\t\t59535\n\t],\n\t\"./tr/search\": [\n\t\t64171,\n\t\t64171\n\t],\n\t\"./tr/search.json\": [\n\t\t64171,\n\t\t64171\n\t],\n\t\"./tr/support\": [\n\t\t86015,\n\t\t86015\n\t],\n\t\"./tr/support.json\": [\n\t\t86015,\n\t\t86015\n\t],\n\t\"./tr/surah-info\": [\n\t\t55983,\n\t\t55983\n\t],\n\t\"./tr/surah-info.json\": [\n\t\t55983,\n\t\t55983\n\t],\n\t\"./tr/tajweed\": [\n\t\t40754,\n\t\t40754\n\t],\n\t\"./tr/tajweed.json\": [\n\t\t40754,\n\t\t40754\n\t],\n\t\"./ur/about\": [\n\t\t92239,\n\t\t92239\n\t],\n\t\"./ur/about-quran\": [\n\t\t14729,\n\t\t14729\n\t],\n\t\"./ur/about-quran.json\": [\n\t\t14729,\n\t\t14729\n\t],\n\t\"./ur/about.json\": [\n\t\t92239,\n\t\t92239\n\t],\n\t\"./ur/apps\": [\n\t\t54847,\n\t\t54847\n\t],\n\t\"./ur/apps.json\": [\n\t\t54847,\n\t\t54847\n\t],\n\t\"./ur/chapter\": [\n\t\t98510,\n\t\t98510\n\t],\n\t\"./ur/chapter.json\": [\n\t\t98510,\n\t\t98510\n\t],\n\t\"./ur/collection\": [\n\t\t22084,\n\t\t22084\n\t],\n\t\"./ur/collection.json\": [\n\t\t22084,\n\t\t22084\n\t],\n\t\"./ur/common\": [\n\t\t45597,\n\t\t45597\n\t],\n\t\"./ur/common.json\": [\n\t\t45597,\n\t\t45597\n\t],\n\t\"./ur/developers\": [\n\t\t57171,\n\t\t57171\n\t],\n\t\"./ur/developers.json\": [\n\t\t57171,\n\t\t57171\n\t],\n\t\"./ur/error\": [\n\t\t77140,\n\t\t77140\n\t],\n\t\"./ur/error.json\": [\n\t\t77140,\n\t\t77140\n\t],\n\t\"./ur/home\": [\n\t\t5321,\n\t\t5321\n\t],\n\t\"./ur/home.json\": [\n\t\t5321,\n\t\t5321\n\t],\n\t\"./ur/learn\": [\n\t\t44856,\n\t\t44856\n\t],\n\t\"./ur/learn.json\": [\n\t\t44856,\n\t\t44856\n\t],\n\t\"./ur/login\": [\n\t\t36602,\n\t\t36602\n\t],\n\t\"./ur/login.json\": [\n\t\t36602,\n\t\t36602\n\t],\n\t\"./ur/notes\": [\n\t\t92339,\n\t\t92339\n\t],\n\t\"./ur/notes.json\": [\n\t\t92339,\n\t\t92339\n\t],\n\t\"./ur/notification-settings\": [\n\t\t45877,\n\t\t45877\n\t],\n\t\"./ur/notification-settings.json\": [\n\t\t45877,\n\t\t45877\n\t],\n\t\"./ur/onboarding\": [\n\t\t89069,\n\t\t89069\n\t],\n\t\"./ur/onboarding.json\": [\n\t\t89069,\n\t\t89069\n\t],\n\t\"./ur/privacy\": [\n\t\t21419,\n\t\t21419\n\t],\n\t\"./ur/privacy.json\": [\n\t\t21419,\n\t\t21419\n\t],\n\t\"./ur/product-updates\": [\n\t\t83821,\n\t\t83821\n\t],\n\t\"./ur/product-updates.json\": [\n\t\t83821,\n\t\t83821\n\t],\n\t\"./ur/profile\": [\n\t\t58438,\n\t\t58438\n\t],\n\t\"./ur/profile.json\": [\n\t\t58438,\n\t\t58438\n\t],\n\t\"./ur/quick-links\": [\n\t\t73201,\n\t\t73201\n\t],\n\t\"./ur/quick-links.json\": [\n\t\t73201,\n\t\t73201\n\t],\n\t\"./ur/quran-reader\": [\n\t\t49639,\n\t\t49639\n\t],\n\t\"./ur/quran-reader.json\": [\n\t\t49639,\n\t\t49639\n\t],\n\t\"./ur/quranic-calendar\": [\n\t\t14523,\n\t\t14523\n\t],\n\t\"./ur/quranic-calendar.json\": [\n\t\t14523,\n\t\t14523\n\t],\n\t\"./ur/radio\": [\n\t\t10621,\n\t\t10621\n\t],\n\t\"./ur/radio.json\": [\n\t\t10621,\n\t\t10621\n\t],\n\t\"./ur/ramadan-activities\": [\n\t\t54338,\n\t\t54338\n\t],\n\t\"./ur/ramadan-activities.json\": [\n\t\t54338,\n\t\t54338\n\t],\n\t\"./ur/reading-goal\": [\n\t\t45023,\n\t\t45023\n\t],\n\t\"./ur/reading-goal.json\": [\n\t\t45023,\n\t\t45023\n\t],\n\t\"./ur/reading-progress\": [\n\t\t34987,\n\t\t34987\n\t],\n\t\"./ur/reading-progress.json\": [\n\t\t34987,\n\t\t34987\n\t],\n\t\"./ur/reciter\": [\n\t\t75279,\n\t\t75279\n\t],\n\t\"./ur/reciter.json\": [\n\t\t75279,\n\t\t75279\n\t],\n\t\"./ur/search\": [\n\t\t16037,\n\t\t16037\n\t],\n\t\"./ur/search.json\": [\n\t\t16037,\n\t\t16037\n\t],\n\t\"./ur/support\": [\n\t\t84183,\n\t\t84183\n\t],\n\t\"./ur/support.json\": [\n\t\t84183,\n\t\t84183\n\t],\n\t\"./ur/surah-info\": [\n\t\t506,\n\t\t506\n\t],\n\t\"./ur/surah-info.json\": [\n\t\t506,\n\t\t506\n\t],\n\t\"./ur/tajweed\": [\n\t\t44526,\n\t\t44526\n\t],\n\t\"./ur/tajweed.json\": [\n\t\t44526,\n\t\t44526\n\t],\n\t\"./zh/about\": [\n\t\t23318,\n\t\t23318\n\t],\n\t\"./zh/about-quran\": [\n\t\t65627,\n\t\t65627\n\t],\n\t\"./zh/about-quran.json\": [\n\t\t65627,\n\t\t65627\n\t],\n\t\"./zh/about.json\": [\n\t\t23318,\n\t\t23318\n\t],\n\t\"./zh/apps\": [\n\t\t33007,\n\t\t33007\n\t],\n\t\"./zh/apps.json\": [\n\t\t33007,\n\t\t33007\n\t],\n\t\"./zh/chapter\": [\n\t\t7503,\n\t\t7503\n\t],\n\t\"./zh/chapter.json\": [\n\t\t7503,\n\t\t7503\n\t],\n\t\"./zh/collection\": [\n\t\t11602,\n\t\t11602\n\t],\n\t\"./zh/collection.json\": [\n\t\t11602,\n\t\t11602\n\t],\n\t\"./zh/common\": [\n\t\t66671,\n\t\t66671\n\t],\n\t\"./zh/common.json\": [\n\t\t66671,\n\t\t66671\n\t],\n\t\"./zh/developers\": [\n\t\t53328,\n\t\t53328\n\t],\n\t\"./zh/developers.json\": [\n\t\t53328,\n\t\t53328\n\t],\n\t\"./zh/error\": [\n\t\t19846,\n\t\t19846\n\t],\n\t\"./zh/error.json\": [\n\t\t19846,\n\t\t19846\n\t],\n\t\"./zh/home\": [\n\t\t93056,\n\t\t93056\n\t],\n\t\"./zh/home.json\": [\n\t\t93056,\n\t\t93056\n\t],\n\t\"./zh/learn\": [\n\t\t6842,\n\t\t6842\n\t],\n\t\"./zh/learn.json\": [\n\t\t6842,\n\t\t6842\n\t],\n\t\"./zh/login\": [\n\t\t20292,\n\t\t20292\n\t],\n\t\"./zh/login.json\": [\n\t\t20292,\n\t\t20292\n\t],\n\t\"./zh/notes\": [\n\t\t13421,\n\t\t13421\n\t],\n\t\"./zh/notes.json\": [\n\t\t13421,\n\t\t13421\n\t],\n\t\"./zh/notification-settings\": [\n\t\t59604,\n\t\t59604\n\t],\n\t\"./zh/notification-settings.json\": [\n\t\t59604,\n\t\t59604\n\t],\n\t\"./zh/onboarding\": [\n\t\t46079,\n\t\t46079\n\t],\n\t\"./zh/onboarding.json\": [\n\t\t46079,\n\t\t46079\n\t],\n\t\"./zh/privacy\": [\n\t\t94699,\n\t\t94699\n\t],\n\t\"./zh/privacy.json\": [\n\t\t94699,\n\t\t94699\n\t],\n\t\"./zh/product-updates\": [\n\t\t65869,\n\t\t65869\n\t],\n\t\"./zh/product-updates.json\": [\n\t\t65869,\n\t\t65869\n\t],\n\t\"./zh/profile\": [\n\t\t98382,\n\t\t98382\n\t],\n\t\"./zh/profile.json\": [\n\t\t98382,\n\t\t98382\n\t],\n\t\"./zh/quick-links\": [\n\t\t85571,\n\t\t85571\n\t],\n\t\"./zh/quick-links.json\": [\n\t\t85571,\n\t\t85571\n\t],\n\t\"./zh/quran-reader\": [\n\t\t72056,\n\t\t72056\n\t],\n\t\"./zh/quran-reader.json\": [\n\t\t72056,\n\t\t72056\n\t],\n\t\"./zh/quranic-calendar\": [\n\t\t91418,\n\t\t91418\n\t],\n\t\"./zh/quranic-calendar.json\": [\n\t\t91418,\n\t\t91418\n\t],\n\t\"./zh/radio\": [\n\t\t21103,\n\t\t21103\n\t],\n\t\"./zh/radio.json\": [\n\t\t21103,\n\t\t21103\n\t],\n\t\"./zh/ramadan-activities\": [\n\t\t27986,\n\t\t27986\n\t],\n\t\"./zh/ramadan-activities.json\": [\n\t\t27986,\n\t\t27986\n\t],\n\t\"./zh/reading-goal\": [\n\t\t65474,\n\t\t65474\n\t],\n\t\"./zh/reading-goal.json\": [\n\t\t65474,\n\t\t65474\n\t],\n\t\"./zh/reading-progress\": [\n\t\t9315,\n\t\t9315\n\t],\n\t\"./zh/reading-progress.json\": [\n\t\t9315,\n\t\t9315\n\t],\n\t\"./zh/reciter\": [\n\t\t1454,\n\t\t1454\n\t],\n\t\"./zh/reciter.json\": [\n\t\t1454,\n\t\t1454\n\t],\n\t\"./zh/search\": [\n\t\t58020,\n\t\t58020\n\t],\n\t\"./zh/search.json\": [\n\t\t58020,\n\t\t58020\n\t],\n\t\"./zh/support\": [\n\t\t79306,\n\t\t79306\n\t],\n\t\"./zh/support.json\": [\n\t\t79306,\n\t\t79306\n\t],\n\t\"./zh/surah-info\": [\n\t\t62199,\n\t\t62199\n\t],\n\t\"./zh/surah-info.json\": [\n\t\t62199,\n\t\t62199\n\t],\n\t\"./zh/tajweed\": [\n\t\t40651,\n\t\t40651\n\t],\n\t\"./zh/tajweed.json\": [\n\t\t40651,\n\t\t40651\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 27655;\nmodule.exports = webpackAsyncContext;","\n// @ts-ignore\n import __i18nConfig from '@next-translate-root/i18n'\n// @ts-ignore\n import __appWithI18n from 'next-translate/appWithI18n'\n// @ts-ignore\n \nimport React, { useEffect } from 'react';\n\nimport { DirectionProvider } from '@radix-ui/react-direction';\nimport { TooltipProvider } from '@radix-ui/react-tooltip';\nimport Head from 'next/head';\nimport { useRouter } from 'next/router';\nimport { DefaultSeo } from 'next-seo';\nimport useTranslation from 'next-translate/useTranslation';\nimport useSWRImmutable from 'swr/immutable';\n\nimport AudioPlayer from '@/components/AudioPlayer/AudioPlayer';\nimport UserAccountModal from '@/components/Auth/UserAccountModal';\nimport DeveloperUtility from '@/components/DeveloperUtility/DeveloperUtility';\nimport FontPreLoader from '@/components/Fonts/FontPreLoader';\nimport GlobalListeners from '@/components/GlobalListeners';\nimport Navbar from '@/components/Navbar/Navbar';\n// import OnboardingChecklist from '@/components/Onboarding/OnboardingChecklist';\nimport { OnboardingProvider } from '@/components/Onboarding/OnboardingProvider';\nimport SessionIncrementor from '@/components/SessionIncrementor';\nimport ThirdPartyScripts from '@/components/ThirdPartyScripts/ThirdPartyScripts';\nimport Footer from '@/dls/Footer/Footer';\nimport ToastContainerProvider from '@/dls/Toast/ToastProvider';\nimport ReduxProvider from '@/redux/Provider';\nimport { API_HOST } from '@/utils/api';\nimport { getUserProfile } from '@/utils/auth/api';\nimport { makeUserProfileUrl } from '@/utils/auth/apiPaths';\nimport { isLoggedIn } from '@/utils/auth/login';\nimport { logAndRedirectUnsupportedLogicalCSS } from '@/utils/css';\nimport * as gtag from '@/utils/gtag';\nimport { getDir } from '@/utils/locale';\nimport { createSEOConfig } from '@/utils/seo';\nimport DataContext from 'src/contexts/DataContext';\nimport ThemeProvider from 'src/styles/ThemeProvider';\nimport { AudioPlayerMachineProvider } from 'src/xstate/AudioPlayerMachineContext';\n\nimport 'src/styles/reset.scss';\nimport 'src/styles/fonts.scss';\nimport 'src/styles/theme.scss';\nimport 'src/styles/global.scss';\nimport 'src/styles/variables.scss';\n\nfunction MyApp({ Component, pageProps }): JSX.Element {\n const router = useRouter();\n const { locale } = router;\n const { t } = useTranslation('common');\n const { data: userData } = useSWRImmutable(\n isLoggedIn() ? makeUserProfileUrl() : null,\n getUserProfile,\n );\n\n // listen to in-app changes of the locale and update the HTML dir accordingly.\n useEffect(() => {\n document.documentElement.dir = getDir(locale);\n logAndRedirectUnsupportedLogicalCSS();\n }, [locale]);\n\n // Record page view to Google analytics when user navigate to a new page.\n useEffect(() => {\n const handleRouteChange = (url) => {\n gtag.pageView(url);\n };\n router.events.on('routeChangeComplete', handleRouteChange);\n return () => {\n router.events.off('routeChangeComplete', handleRouteChange);\n };\n }, [router.events]);\n\n return (\n <>\n <Head>\n <link rel=\"apple-touch-icon\" sizes=\"192x192\" href=\"/images/logo/Logo@192x192.png\" />\n <link rel=\"manifest\" href=\"/manifest.json\" />\n <link rel=\"preconnect\" href={API_HOST} />\n </Head>\n <FontPreLoader locale={locale} />\n <DirectionProvider dir={getDir(locale)}>\n <TooltipProvider>\n <ToastContainerProvider>\n <DataContext.Provider value={pageProps.chaptersData}>\n <AudioPlayerMachineProvider>\n <ReduxProvider locale={locale}>\n <ThemeProvider>\n <OnboardingProvider>\n <UserAccountModal\n requiredFields={userData?.requiredFields}\n announcement={userData?.announcement}\n consents={userData?.consents}\n />\n <DefaultSeo\n {...createSEOConfig({ locale, description: t('default-description') })}\n />\n <GlobalListeners />\n\n <Navbar />\n\n <DeveloperUtility />\n <Component {...pageProps} />\n <AudioPlayer />\n <Footer />\n {/* <OnboardingChecklist /> */}\n </OnboardingProvider>\n </ThemeProvider>\n <SessionIncrementor />\n </ReduxProvider>\n </AudioPlayerMachineProvider>\n </DataContext.Provider>\n </ToastContainerProvider>\n </TooltipProvider>\n </DirectionProvider>\n <ThirdPartyScripts />\n </>\n );\n}\n\n// Only uncomment this method if you have blocking data requirements for\n// every single page in your application. This disables the ability to\n// perform automatic static optimization, causing every page in your app to\n// be server-side rendered.\n//\n// MyApp.getInitialProps = async (appContext) => {\n// // calls page's `getInitialProps` and fills `appProps.pageProps`\n// const appProps = await App.getInitialProps(appContext);\n//\n// return { ...appProps }\n// }\n\nconst __Page_Next_Translate__ = MyApp;\n\n\n// @ts-ignore\n export default __appWithI18n(__Page_Next_Translate__, {\n// @ts-ignore\n ...__i18nConfig,\n// @ts-ignore\n isLoader: true,\n// @ts-ignore\n skipInitialProps: false,\n// @ts-ignore\n loadLocaleFrom: (l, n) => import(`@next-translate-root/locales/${l}/${n}`).then(m => m.default),\n// @ts-ignore\n });\n// @ts-ignore\n ","import * as Sentry from '@sentry/nextjs';\nimport * as serverComponentModule from '__SENTRY_WRAPPING_TARGET_FILE__.cjs';\nexport * from '__SENTRY_WRAPPING_TARGET_FILE__.cjs';\n\n/*\n * This file is a template for the code which will be substituted when our webpack loader handles non-API files in the\n * `pages/` directory.\n *\n * We use `__SENTRY_WRAPPING_TARGET_FILE__.cjs` as a placeholder for the path to the file being wrapped. Because it's not a real package,\n * this causes both TS and ESLint to complain, hence the pragma comments below.\n */\n\nconst userPageModule = serverComponentModule ;\n\nconst pageComponent = userPageModule ? userPageModule.default : undefined;\n\nconst origGetInitialProps = pageComponent ? pageComponent.getInitialProps : undefined;\nconst origGetStaticProps = userPageModule ? userPageModule.getStaticProps : undefined;\nconst origGetServerSideProps = userPageModule ? userPageModule.getServerSideProps : undefined;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst getInitialPropsWrappers = {\n '/_app': Sentry.wrapAppGetInitialPropsWithSentry,\n '/_document': Sentry.wrapDocumentGetInitialPropsWithSentry,\n '/_error': Sentry.wrapErrorGetInitialPropsWithSentry,\n};\n\nconst getInitialPropsWrapper = getInitialPropsWrappers['/_app'] || Sentry.wrapGetInitialPropsWithSentry;\n\nif (pageComponent && typeof origGetInitialProps === 'function') {\n pageComponent.getInitialProps = getInitialPropsWrapper(origGetInitialProps) ;\n}\n\nconst getStaticProps =\n typeof origGetStaticProps === 'function'\n ? Sentry.wrapGetStaticPropsWithSentry(origGetStaticProps, '/_app')\n : undefined;\nconst getServerSideProps =\n typeof origGetServerSideProps === 'function'\n ? Sentry.wrapGetServerSidePropsWithSentry(origGetServerSideProps, '/_app')\n : undefined;\n\nconst pageWrapperTemplate = pageComponent ? Sentry.wrapPageComponentWithSentry(pageComponent ) : pageComponent;\n\nexport { pageWrapperTemplate as default, getServerSideProps, getStaticProps };\n","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgAuto = function SvgAuto(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 17a5 5 0 1 0 0-10 5 5 0 0 0 0 10ZM12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"currentColor\",\n d: \"M12 8h4v8h-4z\"\n })));\n};\nexport default SvgAuto;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgChevronSelect = function SvgChevronSelect(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 24 24\",\n width: 16,\n height: 16,\n stroke: \"currentColor\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n fill: \"none\",\n shapeRendering: \"geometricPrecision\",\n style: {\n color: \"currentcolor\"\n }\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 8.517 12 3 7 8.517m0 6.963 5 5.517 5-5.517\"\n })));\n};\nexport default SvgChevronSelect;","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgElQuran = function SvgElQuran(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 166.12,\n height: 34.84,\n viewBox: \"0 0 166.12 34.84\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.36 28.48H0l.4-3.2V3.68L0 .48h16.36V4l-2.4-.4H3.8v9.16h11.32v3.28l-2.4-.32H3.8v9.64h10.16l2.4-.4v3.52Zm23.12 0h-16.8l.4-3.2V3.68l-.4-3.2h4.2l-.4 3.2v21.68h10.6l2.4-.4v3.52Zm28.28.48q-2.4 0-4.72-.76t-4.16-2.42a10.411 10.411 0 0 1-1.924-2.359 13.924 13.924 0 0 1-1.016-2.061 14.237 14.237 0 0 1-.752-2.652q-.348-1.858-.348-4.108a24.77 24.77 0 0 1 .168-2.967q.18-1.49.553-2.762a13.194 13.194 0 0 1 .379-1.111 14.029 14.029 0 0 1 1.194-2.383A10.538 10.538 0 0 1 58.88 3.26q1.84-1.7 4.16-2.48a15.664 15.664 0 0 1 .036-.012A14.715 14.715 0 0 1 67.76 0a14.766 14.766 0 0 1 .037 0 14.722 14.722 0 0 1 4.683.78q2.32.78 4.16 2.48a10.695 10.695 0 0 1 1.924 2.407A14.33 14.33 0 0 1 79.58 7.76a14.716 14.716 0 0 1 .771 2.792q.244 1.365.307 2.933a27.806 27.806 0 0 1 .022 1.115q0 3.238-.721 5.664a12.841 12.841 0 0 1-.379 1.096 13.631 13.631 0 0 1-1.194 2.346 10.26 10.26 0 0 1-1.746 2.074q-1.84 1.66-4.14 2.42t-4.74.76Zm98.36-.48h-4.16l.4-3.2v-10.2a6.236 6.236 0 0 0-.121-1.27q-.162-.78-.542-1.371a3.363 3.363 0 0 0-.577-.679 3.922 3.922 0 0 0-1.398-.795q-.597-.2-1.326-.277a9.128 9.128 0 0 0-.956-.048 11.03 11.03 0 0 0-1.468.092q-.753.102-1.396.314a6.209 6.209 0 0 0-.416.154q-1.36.56-2.22 1.26a21.219 21.219 0 0 0-.496.416q-.449.388-.738.693a5.673 5.673 0 0 0-.066.071v-2.32l4.32-3.28q.8-.2 1.64-.32.84-.12 1.72-.12a9.89 9.89 0 0 1 3.069.47 9.275 9.275 0 0 1 .531.19 5.735 5.735 0 0 1 2.639 2.112 6.999 6.999 0 0 1 .101.148 5.67 5.67 0 0 1 .705 1.567q.211.729.296 1.605a13.032 13.032 0 0 1 .059 1.268v10.32l.4 3.2Zm-28.84-12.16 2.08 1.48v1.84q-1.04-.56-2.22-.78-1.104-.206-2.505-.219a20.552 20.552 0 0 0-.195-.001 15.368 15.368 0 0 0-1.544.072q-1.689.171-2.716.748a2.681 2.681 0 0 0-1.271 1.633q-.148.486-.18 1.084a6.379 6.379 0 0 0-.009.343q0 1.356.586 2.201a2.706 2.706 0 0 0 .494.539 3.224 3.224 0 0 0 .971.54q.892.324 2.212.356a12.148 12.148 0 0 0 .297.004q2.48 0 3.94-.8a7.831 7.831 0 0 0 1.206-.805 5.814 5.814 0 0 0 1.054-1.115l.8 1.8-3.84 3.24a17.475 17.475 0 0 1-1.047.227 20.942 20.942 0 0 1-.673.113q-.92.14-1.88.14-1.76 0-3.48-.58t-2.86-2q-.98-1.22-1.117-3.223a9.863 9.863 0 0 1-.023-.677 8.514 8.514 0 0 1 .101-1.35q.124-.771.4-1.407a4.766 4.766 0 0 1 .219-.443q.72-1.28 1.94-2t2.74-1.02q1.52-.3 3.12-.3a20.332 20.332 0 0 1 1.036.025 16.156 16.156 0 0 1 .744.055q.82.08 1.62.28Zm-51 5.52V11.28l-.4-3.2h4.16l-.4 3.2v10.04q0 1.964.636 3.002a2.86 2.86 0 0 0 .024.038q.66 1.04 1.76 1.38 1.1.34 2.42.34 1.624 0 2.781-.314a5.228 5.228 0 0 0 1.179-.466q1.4-.78 2.48-1.9v2.24l-3.64 2.8a11.544 11.544 0 0 1-1.391.343 12.798 12.798 0 0 1-.209.037 10.327 10.327 0 0 1-1.183.125 12.384 12.384 0 0 1-.617.015 10.614 10.614 0 0 1-1.834-.165 12.518 12.518 0 0 1-.746-.155q-1.34-.32-2.48-1.1a5.409 5.409 0 0 1-1.488-1.546 6.707 6.707 0 0 1-.352-.614 5.895 5.895 0 0 1-.479-1.357q-.148-.65-.197-1.412a12.058 12.058 0 0 1-.024-.771Zm56.48 6.64h-3.16l-.6-2.12V15.48q0-1.6-.44-2.7a2.939 2.939 0 0 0-1.034-1.3 4.191 4.191 0 0 0-.686-.4q-1.28-.6-3.8-.6a13.742 13.742 0 0 0-1.68.099 11.197 11.197 0 0 0-1.06.181 7.183 7.183 0 0 0-2.165.879 8.257 8.257 0 0 0-.255.161l-.64-.4V8.52a20.066 20.066 0 0 1 1.808-.488 15.419 15.419 0 0 1 1.492-.252 27.49 27.49 0 0 1 1.663-.146A21.58 21.58 0 0 1 133.4 7.6q3.44 0 5.376.899a6.226 6.226 0 0 1 .044.021 6.046 6.046 0 0 1 1.568 1.051 5.127 5.127 0 0 1 1.172 1.649 8.485 8.485 0 0 1 .573 1.845q.17.863.213 1.858a15.869 15.869 0 0 1 .014.677v9.68l.4 3.2Zm-75.04-2.56a10.148 10.148 0 0 0 3.453-.579A9.472 9.472 0 0 0 72.4 24.8a7.508 7.508 0 0 0 2.542-2.225 10.059 10.059 0 0 0 .858-1.395 10.201 10.201 0 0 0 .805-2.213q.475-1.928.475-4.487 0-4.16-1.26-6.68a9.445 9.445 0 0 0-1.267-1.937A7.204 7.204 0 0 0 72.44 4.16q-2.12-1.12-4.68-1.12a10.148 10.148 0 0 0-3.453.579 9.472 9.472 0 0 0-1.227.541 7.37 7.37 0 0 0-2.509 2.202A9.924 9.924 0 0 0 59.7 7.8q-.954 1.908-1.186 4.757a23.76 23.76 0 0 0-.074 1.923q0 4.16 1.26 6.68a9.57 9.57 0 0 0 1.238 1.907A7.206 7.206 0 0 0 63.06 24.8a9.623 9.623 0 0 0 4.182 1.11 11.416 11.416 0 0 0 .478.01Zm36.24 2.56h-3.32l-.44-2.52V11.28l-.4-3.2h4.16l-.4 3.2v14l.4 3.2Zm48.24 0h-4.16l.4-3.2V11.2l-.4-3.12h3.2l.56 2.36v14.84l.4 3.2Zm-38.4 0h-4.16l.4-3.2v-14l-.4-3.2h2.68l.64 2.36h.44v14.84l.4 3.2Zm-1.24-13.16v-4.2l3.52-3q1.44-.52 2.96-.52a10.047 10.047 0 0 1 1.221.077 11.144 11.144 0 0 1 .179.023 5.557 5.557 0 0 1 .986.234 6.763 6.763 0 0 1 .494.186v2.68l-.64.4a6.999 6.999 0 0 0-.746-.219 5.647 5.647 0 0 0-.554-.101q-.62-.08-1.14-.08-2.36 0-3.84 1.22a8.251 8.251 0 0 0-1.611 1.806 10.98 10.98 0 0 0-.829 1.494ZM75.92 34.84h-3.84l-4.4-5.88v-.92h2.4l1.64 1 4.2 5.8Z\",\n vectorEffect: \"non-scaling-stroke\",\n strokeLinecap: \"round\",\n fillRule: \"evenodd\",\n fontSize: 12,\n stroke: \"#000\",\n strokeWidth: 0.945,\n style: {\n stroke: \"#000\",\n strokeWidth: \".25mm\",\n fill: \"#000\"\n }\n }));\n};\nexport default SvgElQuran;","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgGlobe = function SvgGlobe(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10ZM2 12h20\",\n stroke: \"#000\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10v0Z\",\n stroke: \"#000\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\nexport default SvgGlobe;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMenu = function SvgMenu(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 19.5h23.25v-2.584H0V19.5Zm0-6.459h23.25V10.46H0v2.582ZM0 4v2.584h23.25V4H0Z\"\n })));\n};\nexport default SvgMenu;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMicrophone = function SvgMicrophone(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.304 14.946a3.573 3.573 0 0 0 3.558-3.566V3.566A3.573 3.573 0 0 0 12.304 0a3.573 3.573 0 0 0-3.56 3.566v7.814a3.573 3.573 0 0 0 3.56 3.566Zm6.286-3.915c0 3.566-3.024 6.062-6.286 6.062-3.263 0-6.287-2.496-6.287-6.062H4c0 4.041 3.203 7.429 7.117 7.964v4.255h2.373v-4.255c3.914-.594 7.117-3.923 7.117-7.964H18.59Z\"\n })));\n};\nexport default SvgMicrophone;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMoonOutline = function SvgMoonOutline(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n className: \"feather feather-moon\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"\n })));\n};\nexport default SvgMoonOutline;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSettings = function SvgSettings(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.32 7.582a4.044 4.044 0 1 0 4.044 4.043 4.056 4.056 0 0 0-4.043-4.043Zm8.73 4.043c-.002.378-.03.755-.082 1.13l2.46 1.926a.586.586 0 0 1 .134.747l-2.328 4.02a.588.588 0 0 1-.715.248l-2.894-1.162a8.923 8.923 0 0 1-1.962 1.146l-.433 3.072a.603.603 0 0 1-.581.498H9.993a.607.607 0 0 1-.582-.482l-.433-3.072a8.556 8.556 0 0 1-1.962-1.147l-2.893 1.163a.589.589 0 0 1-.715-.249L1.08 15.445a.586.586 0 0 1 .133-.748l2.46-1.926a8.823 8.823 0 0 1-.082-1.146c.002-.378.03-.755.083-1.13L1.213 8.57a.586.586 0 0 1-.133-.747l2.328-4.02a.588.588 0 0 1 .715-.248l2.893 1.162A8.924 8.924 0 0 1 8.978 3.57L9.411.498A.603.603 0 0 1 9.993 0h4.656a.607.607 0 0 1 .582.482l.432 3.072A8.557 8.557 0 0 1 17.628 4.7l2.89-1.163a.588.588 0 0 1 .716.249l2.328 4.019a.586.586 0 0 1-.133.747l-2.461 1.927c.052.38.08.762.083 1.145Z\"\n })));\n};\nexport default SvgSettings;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSunset = function SvgSunset(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 18,\n viewBox: \"0 0 24 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 13a5 5 0 1 0-10 0M12 1v3M4.22 5.22l1.42 1.42M1 13h2M21 13h2M18.36 6.64l1.42-1.42M23 17H1\",\n stroke: \"#000\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\nexport default SvgSunset;","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _defs;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgTarteelLogo = function SvgTarteelLogo(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 18,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.74 0h12.52A5.74 5.74 0 0 1 24 5.74v12.52A5.74 5.74 0 0 1 18.26 24H5.74A5.74 5.74 0 0 1 0 18.26V5.74A5.74 5.74 0 0 1 5.74 0Z\",\n fill: \"#fff\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.74 0h12.52A5.74 5.74 0 0 1 24 5.74v12.52A5.74 5.74 0 0 1 18.26 24H5.74A5.74 5.74 0 0 1 0 18.26V5.74A5.74 5.74 0 0 1 5.74 0Z\",\n fill: \"url(#a)\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.74 0h12.52A5.74 5.74 0 0 1 24 5.74v12.52A5.74 5.74 0 0 1 18.26 24H5.74A5.74 5.74 0 0 1 0 18.26V5.74A5.74 5.74 0 0 1 5.74 0Z\",\n fill: \"url(#b)\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.74 0h12.52A5.74 5.74 0 0 1 24 5.74v12.52A5.74 5.74 0 0 1 18.26 24H5.74A5.74 5.74 0 0 1 0 18.26V5.74A5.74 5.74 0 0 1 5.74 0Z\",\n fill: \"url(#c)\",\n fillOpacity: 0.8\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.74 0h12.52A5.74 5.74 0 0 1 24 5.74v12.52A5.74 5.74 0 0 1 18.26 24H5.74A5.74 5.74 0 0 1 0 18.26V5.74A5.74 5.74 0 0 1 5.74 0Z\",\n fill: \"url(#d)\",\n fillOpacity: 0.8\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.74 0h12.52A5.74 5.74 0 0 1 24 5.74v12.52A5.74 5.74 0 0 1 18.26 24H5.74A5.74 5.74 0 0 1 0 18.26V5.74A5.74 5.74 0 0 1 5.74 0Z\",\n fill: \"url(#e)\",\n fillOpacity: 0.8\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.04 9.958c-.551.551-.827.827-1.167.827-.34 0-.616-.276-1.168-.827l-2.684-2.684c-.551-.551-.827-.827-1.167-.827-.34 0-.616.276-1.168.827l-3.584 3.584c-.55.551-.827.827-.827 1.168 0 .34.276.616.827 1.167l3.584 3.584c.552.551.827.827 1.168.827.34 0 .616-.276 1.167-.827l2.684-2.684c.552-.551.827-.827 1.168-.827.34 0 .616.276 1.167.827l.811.811c.551.551.827.827 1.168.827.34 0 .616-.276 1.167-.827l1.711-1.71c.551-.552.827-.828.827-1.168 0-.34-.276-.617-.827-1.168l-1.71-1.71c-.552-.552-.828-.828-1.168-.828-.34 0-.617.276-1.168.827l-.81.811Z\",\n fill: \"#fff\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.04 9.958c-.551.551-.827.827-1.167.827-.34 0-.616-.276-1.168-.827l-2.684-2.684c-.551-.551-.827-.827-1.167-.827-.34 0-.616.276-1.168.827l-3.584 3.584c-.55.551-.827.827-.827 1.168 0 .34.276.616.827 1.167l3.584 3.584c.552.551.827.827 1.168.827.34 0 .616-.276 1.167-.827l2.684-2.684c.552-.551.827-.827 1.168-.827.34 0 .616.276 1.167.827l.811.811c.551.551.827.827 1.168.827.34 0 .616-.276 1.167-.827l1.711-1.71c.551-.552.827-.828.827-1.168 0-.34-.276-.617-.827-1.168l-1.71-1.71c-.552-.552-.828-.828-1.168-.828-.34 0-.617.276-1.168.827l-.81.811Z\",\n fill: \"#fff\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"c\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"matrix(-16.51567 16.5821 -27.6409 -27.53016 19.881 7.42)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#8FF087\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#83EE41\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"d\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"matrix(16.24199 10.43478 -15.24946 23.73615 6.483 0)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.005,\n stopColor: \"#75F3AC\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#41EEBA\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"radialGradient\", {\n id: \"e\",\n cx: 0,\n cy: 0,\n r: 1,\n gradientUnits: \"userSpaceOnUse\",\n gradientTransform: \"matrix(-13.54253 17.37612 -28.3908 -22.12712 20.668 6.625)\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#6AFF52\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#00FFF0\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"a\",\n x1: 24,\n y1: 24,\n x2: 0,\n y2: 0,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#BDD0FC\",\n stopOpacity: 0.15\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#9D47EF\",\n stopOpacity: 0.01\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"b\",\n x1: 18.891,\n y1: -5.41,\n x2: 9.57,\n y2: 18.139,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#35F787\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.323,\n stopColor: \"#3CFF8B\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.599,\n stopColor: \"#62D6F4\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.948,\n stopColor: \"#00A3FF\"\n })))));\n};\nexport default SvgTarteelLogo;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgTarteelText = function SvgTarteelText(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 90,\n height: 18,\n viewBox: \"0 0 115 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.863 6H6v2.36h3.537V18h2.839V8.36h3.536V6h-.05Zm8.517 12h2.989L22.438 6h-2.64l-4.981 12h3.038l.797-2.008h5.03L24.38 18ZM19.5 13.632l1.643-4.117 1.594 4.117H19.5ZM35.886 18h3.288l-3.039-4.72c1.246-.652 2.043-1.857 2.043-3.364 0-2.36-1.694-3.916-4.234-3.916h-5.33v12h2.84v-4.167h1.892L35.886 18Zm-4.433-9.64h2.192c.996 0 1.644.653 1.644 1.556 0 .904-.748 1.557-1.893 1.557h-1.893V8.36h-.05ZM49.086 6h-9.862v2.36h3.536V18h2.84V8.36h3.536V6h-.05Zm4.383 9.64v-2.56h5.081v-2.31h-5.08V8.36h5.628V6H50.63v12h8.617v-2.36H53.47Zm10.66 0v-2.56h5.08v-2.31h-5.08V8.36h5.628V6H61.29v12h8.617v-2.36h-5.778Zm10.66 0V6h-2.84v12h7.87v-2.36h-5.03ZM93.815 18h1.295l-5.23-12h-1.146l-5.23 12H84.8l1.345-3.113h6.276L93.816 18Zm-7.223-4.167 2.74-6.327 2.69 6.327h-5.43ZM96.755 18H98V6h-1.245v12Z\",\n fill: \"#3B393E\"\n })));\n};\nexport default SvgTarteelText;","var _path, _path2, _path3;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgWrench = function SvgWrench(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 495 495\",\n fill: \"currentColor\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m338.196 146.196-7.999 8a7.5 7.5 0 0 0 0 10.606c1.464 1.465 3.384 2.197 5.303 2.197s3.839-.732 5.303-2.197l8-8a7.5 7.5 0 0 0-10.607-10.606zm-23.999 24-168 168a7.5 7.5 0 0 0 5.303 12.803 7.474 7.474 0 0 0 5.303-2.197l168-168a7.5 7.5 0 1 0-10.606-10.606z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M485.286 72.095a15.483 15.483 0 0 0-16.797 3.406l-32.876 32.876-38.08-10.203-10.203-38.08 33.552-33.552c4.431-4.431 5.758-10.799 3.465-16.621a15.61 15.61 0 0 0-13.99-9.872c-15.153-.53-30.085 3.23-44.376 11.177-16.95 9.427-30.566 24.162-38.34 41.493-7.68 17.122-9.568 34.962-5.63 53.095L75.692 352.132A68.01 68.01 0 0 0 71.5 352C32.075 352 0 384.074 0 423.5S32.075 495 71.5 495s71.5-32.075 71.5-71.5c0-1.374-.044-2.764-.133-4.192L389.185 172.99c18.161 3.945 36.031 2.043 53.183-5.669 17.329-7.792 32.034-21.367 41.406-38.223 7.662-13.78 11.436-28.188 11.217-42.823a15.523 15.523 0 0 0-9.705-14.18zm-14.621 49.713c-7.813 14.051-20.046 25.355-34.448 31.832-15.477 6.959-30.991 8.211-47.426 3.825a7.505 7.505 0 0 0-7.237 1.943L129.792 411.169a7.498 7.498 0 0 0-2.152 6.118c.242 2.216.36 4.248.36 6.212 0 31.154-25.346 56.5-56.5 56.5S15 454.654 15 423.5 40.346 367 71.5 367c1.964 0 3.996.118 6.212.36a7.507 7.507 0 0 0 6.118-2.152l251.761-251.761a7.5 7.5 0 0 0 1.943-7.237c-4.379-16.411-3.139-31.9 3.792-47.352 6.458-14.397 17.802-26.658 31.943-34.522 12.039-6.695 23.992-9.74 36.562-9.295.166.005.416.014.558.377.114.289.013.39-.115.518L373.66 52.549a7.498 7.498 0 0 0-1.941 7.244l12.445 46.445a7.502 7.502 0 0 0 5.304 5.304l46.445 12.445a7.502 7.502 0 0 0 7.244-1.941l35.938-35.938c.123-.123.239-.24.554-.111.337.137.34.332.343.503.182 12.143-2.869 23.692-9.327 35.308z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.5 376C45.309 376 24 397.308 24 423.5S45.309 471 71.5 471s47.5-21.309 47.5-47.5S97.691 376 71.5 376zm0 80C53.58 456 39 441.42 39 423.5S53.58 391 71.5 391s32.5 14.58 32.5 32.5S89.42 456 71.5 456z\"\n })));\n};\nexport default SvgWrench;","module.exports = require('./dist/client/script')\n","// Exports\nmodule.exports = {\n\t\"container\": \"AudioPlayer_container__duw1H\",\n\t\"containerOnboarding\": \"AudioPlayer_containerOnboarding__MMay2\",\n\t\"containerHidden\": \"AudioPlayer_containerHidden__lR45m\",\n\t\"spinner\": \"AudioPlayer_spinner__O52Tx\"\n};\n","// Exports\nmodule.exports = {\n\t\"loadingContainer\": \"CommandBar_loadingContainer__Ho4AK\"\n};\n","// Exports\nmodule.exports = {\n\t\"content\": \"CommandBarBase_content__MLd_Z\",\n\t\"contentShow\": \"CommandBarBase_contentShow____izB\",\n\t\"contentHide\": \"CommandBarBase_contentHide__W2CEF\",\n\t\"overlay\": \"CommandBarBase_overlay__mPz8y\",\n\t\"overlayShow\": \"CommandBarBase_overlayShow__H60Ya\",\n\t\"overlayHide\": \"CommandBarBase_overlayHide__UUTn9\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"DeveloperUtility_container__ZIDNB\",\n\t\"containerExpanded\": \"DeveloperUtility_containerExpanded__7zSRc\",\n\t\"separator\": \"DeveloperUtility_separator__VWvy9\",\n\t\"closeButton\": \"DeveloperUtility_closeButton__Lanzi\",\n\t\"wrench\": \"DeveloperUtility_wrench__7DWaV\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"Drawer_container__v4a8e\",\n\t\"left\": \"Drawer_left__V9th2\",\n\t\"right\": \"Drawer_right__kn0O_\",\n\t\"containerOpen\": \"Drawer_containerOpen__pm7AS\",\n\t\"searchContainer\": \"Drawer_searchContainer__bnGvQ\",\n\t\"bodyContainer\": \"Drawer_bodyContainer__OuUzn\",\n\t\"bodyWithBottomPadding\": \"Drawer_bodyWithBottomPadding__vEGtM\",\n\t\"navigationBodyContainer\": \"Drawer_navigationBodyContainer__7xpCz\",\n\t\"header\": \"Drawer_header__fCYmY\",\n\t\"headerContentContainer\": \"Drawer_headerContentContainer__5FDII\",\n\t\"headerContent\": \"Drawer_headerContent__iKT87\",\n\t\"hiddenButtonHeader\": \"Drawer_hiddenButtonHeader__Yc8P_\",\n\t\"hiddenButtonHeaderContentContainer\": \"Drawer_hiddenButtonHeaderContentContainer___sCaH\",\n\t\"navbarInvisible\": \"Drawer_navbarInvisible__sZbVq\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"LanguageSelector_container__3lssG\",\n\t\"globeIconWrapper\": \"LanguageSelector_globeIconWrapper__o7Y_L\",\n\t\"triggerButton\": \"LanguageSelector_triggerButton__HWoIu\",\n\t\"triggerSuffixContainer\": \"LanguageSelector_triggerSuffixContainer__DxIAk\"\n};\n","// Exports\nmodule.exports = {\n\t\"logoWrapper\": \"NavbarLogoWrapper_logoWrapper__rxO10\"\n};\n","// Exports\nmodule.exports = {\n\t\"emptySpacePlaceholder\": \"Navbar_emptySpacePlaceholder__azPCk\",\n\t\"container\": \"Navbar_container__vShO1\",\n\t\"hiddenNav\": \"Navbar_hiddenNav__HcefX\"\n};\n","// Exports\nmodule.exports = {\n\t\"itemsContainer\": \"NavbarBody_itemsContainer__Jvm3k\",\n\t\"centerVertically\": \"NavbarBody_centerVertically__zzdjH\",\n\t\"leftCTA\": \"NavbarBody_leftCTA__8Q1o_\",\n\t\"rightCTA\": \"NavbarBody_rightCTA__uEC10\"\n};\n","// Exports\nmodule.exports = {\n\t\"leftCTA\": \"NavigationDrawer_leftCTA__eAYVn\",\n\t\"rightCTA\": \"NavigationDrawer_rightCTA__1G5B9\",\n\t\"centerVertically\": \"NavigationDrawer_centerVertically__fbLww\"\n};\n","// Exports\nmodule.exports = {\n\t\"skeletonContainer\": \"NavigationDrawerBodySkeleton_skeletonContainer__UDFh2\",\n\t\"navRow\": \"NavigationDrawerBodySkeleton_navRow__FjxpA\",\n\t\"blockRow\": \"NavigationDrawerBodySkeleton_blockRow__Pp_oe\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"DrawerSearchIcon_container__CWMPY\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"Footer_container__vU65b\",\n\t\"betaContainer\": \"Footer_betaContainer__xEO7h\",\n\t\"uppercase\": \"Footer_uppercase__vITIn\",\n\t\"bold\": \"Footer_bold___echK\",\n\t\"beta\": \"Footer_beta__A0mLa\"\n};\n","// Exports\nmodule.exports = {\n\t\"searchInputContainer\": \"Header_searchInputContainer__Cf7d_\",\n\t\"searchInput\": \"Header_searchInput__186o1\",\n\t\"clear\": \"Header_clear___c5pB\",\n\t\"separator\": \"Header_separator__KMPF4\"\n};\n","// Exports\nmodule.exports = {\n\t\"footer\": \"Footer_footer__GFxgd\",\n\t\"invisible\": \"Footer_invisible__IE_EH\"\n};\n","// Exports\nmodule.exports = {\n\t\"label\": \"Label_label___fd5P\"\n};\n","// Exports\nmodule.exports = {\n\t\"row\": \"Row_row__TkwmP\"\n};\n","// Exports\nmodule.exports = {\n\t\"separator\": \"Section_separator__TTdQA\"\n};\n","// Exports\nmodule.exports = {\n\t\"title\": \"Title_title__r3AMw\"\n};\n","// Exports\nmodule.exports = {\n\t\"skeletonContainer\": \"SettingsBodySkeleton_skeletonContainer__Jz8AQ\",\n\t\"title\": \"SettingsBodySkeleton_title__DO1db\",\n\t\"titleSkeleton\": \"SettingsBodySkeleton_titleSkeleton__JwHZT\",\n\t\"rowSkeleton\": \"SettingsBodySkeleton_rowSkeleton__zk_sy\",\n\t\"inputRow\": \"SettingsBodySkeleton_inputRow__hJfZ_\",\n\t\"label\": \"SettingsBodySkeleton_label__VgiSI\",\n\t\"input\": \"SettingsBodySkeleton_input__PeLLj\"\n};\n","// Exports\nmodule.exports = {\n\t\"headerContainer\": \"SettingsDrawer_headerContainer__kJY4F\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"TarteelAttribution_container__pV6Dr\",\n\t\"poweredBy\": \"TarteelAttribution_poweredBy__HGAKn\",\n\t\"tarteelTextWrapper\": \"TarteelAttribution_tarteelTextWrapper__GH8ML\"\n};\n","// Exports\nmodule.exports = {\n\t\"button\": \"Trigger_button__n1L87\"\n};\n","// Exports\nmodule.exports = {\n\t\"flowItem\": \"Footer_flowItem__3L5WX\",\n\t\"fullWidth\": \"Footer_fullWidth__tf_Y4\",\n\t\"container\": \"Footer_container__x4ck_\",\n\t\"title\": \"Footer_title__1ywXt\",\n\t\"iconContainer\": \"Footer_iconContainer__3ir0J\",\n\t\"headingContainer\": \"Footer_headingContainer__Ictyz\",\n\t\"copyright\": \"Footer_copyright__ATOMh\",\n\t\"groupListContainer\": \"Footer_groupListContainer__Uz4au\",\n\t\"group\": \"Footer_group__OfS5x\",\n\t\"groupTitle\": \"Footer_groupTitle__t3ahP\",\n\t\"description\": \"Footer_description__2_brX\",\n\t\"linkContainer\": \"Footer_linkContainer__CmZzC\",\n\t\"disabledlinkContainer\": \"Footer_disabledlinkContainer__wtHc5\",\n\t\"titleAndDescriptionContainer\": \"Footer_titleAndDescriptionContainer__PH327\",\n\t\"bottomSectionContainer\": \"Footer_bottomSectionContainer__rcOBa\",\n\t\"actionsSections\": \"Footer_actionsSections__XeSqT\",\n\t\"actionContainer\": \"Footer_actionContainer__J6w4J\",\n\t\"actionLabel\": \"Footer_actionLabel__9OH8Q\",\n\t\"bottomLinks\": \"Footer_bottomLinks__HX6K_\",\n\t\"emptySpacePlaceholder\": \"Footer_emptySpacePlaceholder__fmAiS\",\n\t\"donateButton\": \"Footer_donateButton__vfsml\",\n\t\"hiringAnnouncementContainer\": \"Footer_hiringAnnouncementContainer__qJuL1\"\n};\n","// Exports\nmodule.exports = {\n\t\"triggerContainer\": \"FooterThemeSwitcher_triggerContainer__KeKf0\",\n\t\"iconContainer\": \"FooterThemeSwitcher_iconContainer__Kwv3S\",\n\t\"suffixIconContainer\": \"FooterThemeSwitcher_suffixIconContainer__2ptZh\"\n};\n","// Exports\nmodule.exports = {\n\t\"container\": \"Switch_container__sYEUd\",\n\t\"xSmallContainer\": \"Switch_xSmallContainer__CtQzD\",\n\t\"item\": \"Switch_item__ePHkS\",\n\t\"separatorLine\": \"Switch_separatorLine__Jj73_\",\n\t\"separatorLineVisible\": \"Switch_separatorLineVisible__RnZCc\",\n\t\"selectedItemBackgroundContainer\": \"Switch_selectedItemBackgroundContainer__7F_kF\",\n\t\"selectedItemBackground\": \"Switch_selectedItemBackground__VMOBG\",\n\t\"itemNormal\": \"Switch_itemNormal__pDPXy\",\n\t\"itemLarge\": \"Switch_itemLarge__SCzg2\",\n\t\"itemSmall\": \"Switch_itemSmall__gKpF9\",\n\t\"itemXSmall\": \"Switch_itemXSmall__GcCpL\"\n};\n","/* eslint-disable max-lines */\n/* eslint-disable react/no-multi-comp */\nimport React, { useContext, useEffect, useRef } from 'react';\n\nimport { useSelector } from '@xstate/react';\nimport classNames from 'classnames';\nimport dynamic from 'next/dynamic';\n\nimport styles from './AudioPlayer.module.scss';\n\nimport { useOnboarding } from '@/components/Onboarding/OnboardingProvider';\nimport Spinner from '@/dls/Spinner/Spinner';\nimport { milliSecondsToSeconds } from '@/utils/datetime';\nimport { AudioPlayerMachineContext } from 'src/xstate/AudioPlayerMachineContext';\n\nconst AudioPlayerBody = dynamic(() => import('./AudioPlayerBody'), {\n ssr: false,\n loading: () => (\n <div className={styles.spinner}>\n <Spinner />\n </div>\n ),\n});\n\n/**\n * Buffering when 2s away from download progress\n * and put the audio in `almostEnded` state when 2s away from ending\n */\nconst AUDIO_DURATION_TOLERANCE = 2; // 2s ,\n\nconst getAudioPlayerDownloadProgress = (audioPlayer: HTMLAudioElement) => {\n // TODO: Technically this is not accurate, but it's close enough for now.\n /**\n * There can be actually multiple time ranges. For example\n * ------------------------------------------------------\n * |=============| |===========| |\n * ------------------------------------------------------\n * 0 5 15 19 21\n *\n * But here, we're only taking the latest timestamp\n *\n * Reference: https://developer.mozilla.org/en-US/docs/Web/Guide/Audio_and_video_delivery/buffering_seeking_time_ranges\n */\n if (audioPlayer.buffered && audioPlayer.buffered.length) {\n const lastIndex = audioPlayer.buffered.length - 1;\n const timestamp = audioPlayer.buffered.end(lastIndex);\n return timestamp;\n }\n return 0;\n};\n\nconst AudioPlayer = () => {\n const audioPlayerRef = useRef<HTMLAudioElement>();\n const audioService = useContext(AudioPlayerMachineContext);\n const isVisible = useSelector(audioService, (state) => state.matches('VISIBLE'));\n const { isActive } = useOnboarding();\n\n useEffect(() => {\n window.audioPlayerEl = audioPlayerRef.current;\n audioService.send({ type: 'SET_AUDIO_REF', audioPlayerRef: audioPlayerRef.current });\n }, [audioService]);\n\n const onCanPlay = () => {\n audioService.send({ type: 'CAN_PLAY' });\n };\n\n const onTimeUpdate = (e) => {\n const isLoading = audioService.state.hasTag('loading');\n\n const audioPlayer: HTMLAudioElement = e.target;\n const currentTimestamp = audioPlayer.currentTime;\n const downloadProgress = getAudioPlayerDownloadProgress(audioPlayer);\n const isWaiting = currentTimestamp > downloadProgress - AUDIO_DURATION_TOLERANCE;\n\n const audioDataDuration = audioService.getSnapshot().context?.audioData?.duration;\n if (audioDataDuration) {\n const isAlmostEnded =\n currentTimestamp > milliSecondsToSeconds(audioDataDuration) - AUDIO_DURATION_TOLERANCE;\n\n /**\n * simulate onWaiting event on safari.\n * If the audio is not in loading state already. And `currentTime` is nearby last timestamp of `buffered`\n * trigger WAITING event.\n */\n\n if (!isLoading && isWaiting && !isAlmostEnded) {\n audioService.send({ type: 'WAITING' });\n } else if (isLoading && !isWaiting) {\n audioService.send({ type: 'CAN_PLAY' });\n }\n }\n\n audioService.send({ type: 'UPDATE_TIMING' });\n };\n\n const onError = () => {\n audioService.send({\n type: 'FAIL',\n });\n };\n\n const onEnded = () => {\n audioService.send({\n type: 'END',\n });\n };\n\n const onSeeking = () => {\n audioService.send({\n type: 'SEEKING',\n });\n };\n\n const onSeeked = () => {\n audioService.send({\n type: 'SEEKED',\n });\n };\n\n const onPlay = () => {\n audioService.send({ type: 'PLAY' });\n };\n\n const onPause = () => {\n audioService.send({ type: 'PAUSE' });\n };\n\n const onProgress = (e) => {\n audioService.send({ type: 'PROGRESS', timestamp: getAudioPlayerDownloadProgress(e.target) });\n };\n\n return (\n <>\n <div\n className={classNames(styles.container, styles.containerDefault, {\n [styles.containerHidden]: !isVisible,\n [styles.containerOnboarding]: isActive,\n })}\n >\n {/* We have to create an inline audio player and hide it due to limitations of how safari requires a play action to trigger: https://stackoverflow.com/questions/31776548/why-cant-javascript-play-audio-files-on-iphone-safari */}\n <audio\n style={{ display: 'none' }}\n id=\"audio-player\"\n ref={audioPlayerRef}\n autoPlay\n preload=\"auto\"\n onCanPlay={onCanPlay}\n onTimeUpdate={onTimeUpdate}\n onEnded={onEnded}\n onSeeking={onSeeking}\n onSeeked={onSeeked}\n onError={onError}\n onPlay={onPlay}\n onPause={onPause}\n onProgress={onProgress}\n />\n {isVisible && <AudioPlayerBody />}\n </div>\n </>\n );\n};\n\nexport default AudioPlayer;\n","import dynamic from 'next/dynamic';\n\nimport Modal from '@/dls/Modal/Modal';\nimport useSyncUserData from '@/hooks/auth/useSyncUserData';\nimport ConsentType from '@/types/auth/ConsentType';\nimport Announcement from 'types/auth/Announcement';\nimport FormField from 'types/FormField';\n\nconst CompleteSignupForm = dynamic(() => import('@/components/Login/CompleteSignupForm'));\nconst AnnouncementModalBodyResolver = dynamic(\n () => import('@/components/Auth/Announcements/AnnouncementModalBodyResolver'),\n);\nconst ConsentModalBodyResolver = dynamic(\n () => import('@/components/Auth/Consents/ConsentModalBodyResolver'),\n);\n\nconst requiredConsentsEnabled = process.env.NEXT_PUBLIC_ENABLE_REQUIRED_CONSENTS === 'true';\nconst REQUIRED_CONSENTS = [ConsentType.COMMUNICATION];\n\ntype Props = {\n requiredFields: FormField[];\n announcement: Announcement;\n consents: Record<string, boolean>;\n};\n\nconst UserAccountModal: React.FC<Props> = ({ requiredFields, announcement, consents }) => {\n useSyncUserData();\n let modalBody;\n if (requiredFields && requiredFields?.length !== 0) {\n modalBody = <CompleteSignupForm requiredFields={requiredFields} />;\n } else if (announcement) {\n modalBody = <AnnouncementModalBodyResolver announcement={announcement} />;\n } else if (requiredConsentsEnabled && consents) {\n const missingConsents = REQUIRED_CONSENTS.filter(\n (consent) => !Object.keys(consents).includes(consent),\n );\n if (missingConsents.length > 0) {\n modalBody = <ConsentModalBodyResolver missingConsents={missingConsents} />;\n }\n }\n\n const isOpen = !!modalBody;\n\n return <Modal isOpen={isOpen}>{modalBody}</Modal>;\n};\n\nexport default UserAccountModal;\n","import * as Dialog from '@radix-ui/react-dialog';\n\nimport styles from './CommandBarBase.module.scss';\n\ntype CommandBarBaseProps = {\n onClickOutside: () => void;\n children: React.ReactNode;\n isOpen: boolean;\n};\n\nconst CommandBarBase = ({ onClickOutside, children, isOpen }: CommandBarBaseProps) => {\n return (\n <Dialog.Root open={isOpen}>\n <Dialog.Portal>\n <Dialog.Overlay className={styles.overlay} />\n <Dialog.Content className={styles.content} onInteractOutside={onClickOutside}>\n {children}\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n );\n};\n\nexport default CommandBarBase;\n","/* eslint-disable react/no-multi-comp */\nimport React, { useCallback } from 'react';\n\nimport dynamic from 'next/dynamic';\nimport { useHotkeys } from 'react-hotkeys-hook';\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux';\n\nimport styles from './CommandBar.module.scss';\nimport CommandBarBase from './CommandBarBase/CommandBarBase';\n\nimport Spinner from '@/dls/Spinner/Spinner';\nimport { selectCommandBarIsOpen, setIsOpen, toggleIsOpen } from '@/redux/slices/CommandBar/state';\nimport { stopCommandBarVoiceFlow } from '@/redux/slices/voiceSearch';\nimport { logEvent } from '@/utils/eventLogger';\n\nconst CommandBarBody = dynamic(() => import('./CommandBarBody'), {\n ssr: false,\n loading: () => (\n <div className={styles.loadingContainer}>\n <Spinner />\n </div>\n ),\n});\n\nconst getPressedShortcut = (event: KeyboardEvent): string => {\n let shortcut = '';\n if (event.metaKey) {\n shortcut = 'cmd';\n } else if (event.ctrlKey) {\n shortcut = 'ctrl';\n }\n return `${shortcut}_${event.key}`;\n};\n\nconst CommandBar: React.FC = () => {\n const dispatch = useDispatch();\n const isOpen = useSelector(selectCommandBarIsOpen, shallowEqual);\n const toggleShowCommandBar = useCallback(\n (event: KeyboardEvent) => {\n // eslint-disable-next-line i18next/no-literal-string\n logEvent(`command_bar_${isOpen ? 'close' : 'open'}`, {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n keyboard_shortcut: getPressedShortcut(event),\n });\n event.preventDefault();\n dispatch({ type: toggleIsOpen.type });\n },\n [dispatch, isOpen],\n );\n const closeCommandBar = useCallback(\n (event?: KeyboardEvent) => {\n const isClickedOutside = !event;\n // eslint-disable-next-line i18next/no-literal-string\n logEvent(`command_bar_close_${isClickedOutside ? 'outside_click' : 'esc_key'}`);\n dispatch({ type: setIsOpen.type, payload: false });\n dispatch({ type: stopCommandBarVoiceFlow.type });\n },\n [dispatch],\n );\n useHotkeys('cmd+k, ctrl+k, cmd+p, ctrl+p', toggleShowCommandBar, { enableOnTags: ['INPUT'] }, [\n dispatch,\n ]);\n useHotkeys('Escape', closeCommandBar, { enabled: isOpen, enableOnTags: ['INPUT'] }, [dispatch]);\n\n return (\n <CommandBarBase isOpen={isOpen} onClickOutside={() => closeCommandBar()}>\n <CommandBarBody />\n </CommandBarBase>\n );\n};\n\nexport default CommandBar;\n","/* eslint-disable i18next/no-literal-string */\nimport React from 'react';\n\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux';\n\nimport { selectContextMenu, setIsExpanded } from '@/redux/slices/QuranReader/contextMenu';\n\nconst ContextMenuAdjustment = () => {\n const dispatch = useDispatch();\n const { isExpanded } = useSelector(selectContextMenu, shallowEqual);\n return (\n <div>\n Context Menu{' '}\n <button\n type=\"button\"\n onClick={() => dispatch({ type: setIsExpanded.type, payload: !isExpanded })}\n >\n Toggle Expansion\n </button>\n </div>\n );\n};\n\nexport default ContextMenuAdjustment;\n","/* eslint-disable i18next/no-literal-string */\nimport React, { useState } from 'react';\n\nimport classNames from 'classnames';\n\nimport ContextMenuAdjustment from './ContextMenuAdjustment';\nimport styles from './DeveloperUtility.module.scss';\nimport NavbarAdjustment from './NavbarAdjustment';\nimport NotesAdjustment from './NotesAdjustment';\n\nimport Separator from '@/dls/Separator/Separator';\nimport WrenchIcon from '@/icons/wrench.svg';\n\n/**\n * A set of developer utilities only availble on development environments\n *\n * @returns {JSX.Element}\n */\nconst DeveloperUtility = (): JSX.Element => {\n const [isExpanded, setIsExpanded] = useState(false);\n\n // only show the developer utilities if we're in development mode\n // if (process.env.NEXT_PUBLIC_VERCEL_ENV === 'production') {\n return <></>;\n // }\n\n if (!isExpanded) {\n return (\n <button\n className={classNames(styles.container)}\n aria-label=\"developer-utility\"\n type=\"button\"\n onClick={() => setIsExpanded(true)}\n >\n <WrenchIcon className={styles.wrench} />\n </button>\n );\n }\n\n return (\n <button\n className={classNames(styles.container, styles.containerExpanded)}\n aria-label=\"developer-utility\"\n type=\"button\"\n >\n Developer Utility\n <div className={styles.separator}>\n <Separator />\n </div>\n <NotesAdjustment />\n <NavbarAdjustment />\n <ContextMenuAdjustment />\n <div>\n <button className={styles.closeButton} type=\"button\" onClick={() => setIsExpanded(false)}>\n close\n </button>\n </div>\n </button>\n );\n};\n\nexport default DeveloperUtility;\n","/* eslint-disable i18next/no-literal-string */\nimport React from 'react';\n\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux';\n\nimport { selectNavbar, setIsVisible } from '@/redux/slices/navbar';\n\nconst NavbarAdjustment = () => {\n const dispatch = useDispatch();\n const { isVisible } = useSelector(selectNavbar, shallowEqual);\n return (\n <div>\n Navbar{' '}\n <button\n type=\"button\"\n onClick={() => dispatch({ type: setIsVisible.type, payload: !isVisible })}\n >\n Toggle Navbar visibility\n </button>\n </div>\n );\n};\n\nexport default NavbarAdjustment;\n","/* eslint-disable i18next/no-literal-string */\nimport React from 'react';\n\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux';\n\nimport { selectNotes, setIsVisible } from '@/redux/slices/QuranReader/notes';\n\nconst NotesAdjustment = () => {\n const dispatch = useDispatch();\n const { isVisible } = useSelector(selectNotes, shallowEqual);\n return (\n <div>\n Notes{' '}\n <button\n type=\"button\"\n onClick={() => dispatch({ type: setIsVisible.type, payload: !isVisible })}\n >\n Toggle notes\n </button>\n </div>\n );\n};\n\nexport default NotesAdjustment;\n","import React from 'react';\n\nimport { useSelector } from 'react-redux';\n\nimport { selectIsPersistGateHydrationComplete } from '@/redux/slices/persistGateHydration';\n\n// This utility disables all animations until the redux-persist store hydration is complete.\n// This is done to prevent a bunch of animations from happening on initial page load.\nconst DisableAnimationsUntilHydration = () => {\n const isPersistGateHydrationComplete = useSelector(selectIsPersistGateHydrationComplete);\n\n if (!isPersistGateHydrationComplete) {\n return (\n <style>\n {`\n * {\n transition: all 0s !important;\n }\n `}\n </style>\n );\n }\n\n return <></>;\n};\n\nexport default DisableAnimationsUntilHydration;\n","import React from 'react';\n\nimport Head from 'next/head';\n\nconst DEFAULT_LOCALE = 'en';\n\nconst SURAH_NAMES_FONT = {\n type: 'font/woff2',\n location: '/fonts/quran/surah-names/v1/sura_names.woff2',\n};\n\nconst LOCALE_PRELOADED_FONTS = {\n [DEFAULT_LOCALE]: [\n { type: 'font/woff2', location: '/fonts/lang/ProximaVara/ProximaVara.woff2' },\n { ...SURAH_NAMES_FONT },\n ],\n ar: [\n { type: 'font/woff2', location: '/fonts/lang/arabic/NotoNaskhArabic-Regular.woff2' },\n { ...SURAH_NAMES_FONT },\n ],\n bn: [\n { type: 'font/woff2', location: '/fonts/lang/bengali/NotoSerifBengali-Regular.woff2' },\n { ...SURAH_NAMES_FONT },\n ],\n ur: [\n { type: 'font/woff2', location: '/fonts/lang/urdu/MehrNastaliqWeb.woff2' },\n { ...SURAH_NAMES_FONT },\n ],\n} as Record<string, { type: string; location: string }[]>;\n\nconst INDOPAK = {\n type: 'font/woff2',\n location: '/fonts/quran/hafs/nastaleeq/indopak/indopak-nastaleeq-waqf-lazim-v4.2.1.woff2',\n};\n\nconst QURAN_READER_LOCALE_PRELOADED_FONTS = {\n [DEFAULT_LOCALE]: [\n { type: 'font/woff2', location: '/fonts/quran/hafs/uthmanic_hafs/UthmanicHafs1Ver18.woff2' },\n ],\n bn: [INDOPAK],\n ur: [INDOPAK],\n id: [INDOPAK],\n} as Record<string, { type: string; location: string }[]>;\n\ninterface Props {\n locale: string;\n isQuranReader?: boolean;\n}\n\nconst getToBePreLoadedFonts = (locale: string, isQuranReader: boolean) => {\n if (!isQuranReader) {\n return LOCALE_PRELOADED_FONTS[locale] || LOCALE_PRELOADED_FONTS[DEFAULT_LOCALE];\n }\n return (\n QURAN_READER_LOCALE_PRELOADED_FONTS[locale] ||\n QURAN_READER_LOCALE_PRELOADED_FONTS[DEFAULT_LOCALE]\n );\n};\n\nconst FontPreLoader: React.FC<Props> = ({ locale, isQuranReader = false }) => {\n const toBePreLoadedFonts = getToBePreLoadedFonts(locale, isQuranReader);\n\n return (\n <Head>\n {toBePreLoadedFonts.map((fontDetails) => (\n <link\n key={fontDetails.location}\n rel=\"preload\"\n as=\"font\"\n type={fontDetails.type}\n href={fontDetails.location}\n crossOrigin=\"anonymous\"\n />\n ))}\n </Head>\n );\n};\n\nexport default FontPreLoader;\n","import React from 'react';\n\nimport CommandBar from '@/components/CommandBar';\n\nconst GlobalKeyboardListeners: React.FC = () => {\n return (\n <>\n <CommandBar />\n </>\n );\n};\n\nexport default GlobalKeyboardListeners;\n","import React from 'react';\n\nimport DisableAnimationsUntilHydration from './DisableAnimationsUntilHydration';\nimport GlobalPersistGateHydrationListener from './GlobalPersistGateHydrationListener';\n\nimport GlobalKeyboardListeners from '@/components/GlobalKeyboardListeners';\nimport GlobalScrollListener from '@/components/GlobalScrollListener';\n\nconst GlobalListeners = () => {\n return (\n <>\n <GlobalKeyboardListeners />\n <GlobalScrollListener />\n <GlobalPersistGateHydrationListener />\n <DisableAnimationsUntilHydration />\n </>\n );\n};\n\nexport default GlobalListeners;\n","import React, { useEffect } from 'react';\n\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport {\n selectIsPersistGateHydrationInProgress,\n setIsPersistGateHydrationComplete,\n setIsPersistGateHydrationInProgress,\n} from '@/redux/slices/persistGateHydration';\n\nconst PERSIST_GATE_HYDRATION_DURATION_MS = 50; // This number is mostly arbitrary. Long enough to ensure that the hydration is complete.\n\n// This component listens to the REHYDRATE event from redux persist\n// and dispatches an action to set the hydration as complete.\n// The component works by setting a timeout to fire after the REHYDRATE event.\n// Because the redux store is synchronous, there's no way to ensure the order of actions.\n// So we have to use a timeout to ensure that the hydration complete event happens *after* REHYDRATE.\nconst GlobalPersistGateHydrationListener = () => {\n const dispatch = useDispatch();\n const isPersistGateHydrationInProgress = useSelector(selectIsPersistGateHydrationInProgress);\n\n useEffect(() => {\n if (isPersistGateHydrationInProgress) {\n setTimeout(() => {\n dispatch({ type: setIsPersistGateHydrationComplete.type, payload: true });\n dispatch({ type: setIsPersistGateHydrationInProgress.type, payload: false });\n }, PERSIST_GATE_HYDRATION_DURATION_MS);\n }\n }, [dispatch, isPersistGateHydrationInProgress]);\n return <></>;\n};\n\nexport default GlobalPersistGateHydrationListener;\n","import React, { useCallback } from 'react';\n\nimport { useDispatch } from 'react-redux';\n\nimport { useOnboarding } from '@/components/Onboarding/OnboardingProvider';\nimport useScrollDirection, { ScrollDirection } from '@/hooks/useScrollDirection';\nimport { setIsVisible } from '@/redux/slices/navbar';\nimport {\n setIsExpanded,\n setShowReadingPreferenceSwitcher,\n} from '@/redux/slices/QuranReader/contextMenu';\nimport OnboardingGroup from '@/types/OnboardingGroup';\n\nconst GlobalScrollListener = () => {\n const dispatch = useDispatch();\n const { isActive, activeStepGroup } = useOnboarding();\n const onDirectionChange = useCallback(\n (direction: ScrollDirection, newYPosition: number) => {\n // if we are in the Quran Reader, disable default scroll behavior to avoid having 2 preference switchers {@see: <ReadingPreferenceSwitcher}\n if (isActive && activeStepGroup === OnboardingGroup.READING_EXPERIENCE) {\n return;\n }\n /**\n * We need to only accept when the new position is >= 0 because on mobile, if the user swipes up\n * and the scroll bar passes the uppermost part of the viewport, the new y position becomes below\n * zero then the browser forces the view to go to exactly 0 again so the hook detects it's\n * a down direction and hides the navbar, context menu and audioPlayer.\n */\n if (newYPosition > 50 && direction === ScrollDirection.Down) {\n dispatch({ type: setIsExpanded.type, payload: false });\n dispatch({ type: setIsVisible.type, payload: false });\n } else if (newYPosition >= 0 && direction === ScrollDirection.Up) {\n dispatch({ type: setIsExpanded.type, payload: true });\n dispatch({ type: setIsVisible.type, payload: true });\n }\n if (newYPosition > 150 && direction === ScrollDirection.Down) {\n dispatch({ type: setShowReadingPreferenceSwitcher.type, payload: true });\n } else if (newYPosition <= 150 && direction === ScrollDirection.Up) {\n dispatch({ type: setShowReadingPreferenceSwitcher.type, payload: false });\n }\n },\n [activeStepGroup, dispatch, isActive],\n );\n useScrollDirection(onDirectionChange);\n return <></>;\n};\n\nexport default GlobalScrollListener;\n","import React from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport Button, { ButtonShape, ButtonVariant } from '@/dls/Button/Button';\nimport IconClose from '@/icons/close.svg';\n\ninterface Props {\n onClick: () => void;\n}\n\nconst DrawerCloseButton: React.FC<Props> = ({ onClick }) => {\n const { t } = useTranslation('common');\n return (\n <Button\n tooltip={t('close')}\n shape={ButtonShape.Circle}\n variant={ButtonVariant.Ghost}\n onClick={onClick}\n ariaLabel={t('aria.drawer-close')}\n >\n <IconClose />\n </Button>\n );\n};\n\nexport default DrawerCloseButton;\n","/* eslint-disable max-lines */\nimport React, { useRef, useEffect, useCallback, ReactNode } from 'react';\n\nimport classNames from 'classnames';\nimport { useRouter } from 'next/router';\nimport { useHotkeys } from 'react-hotkeys-hook';\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux';\n\nimport SearchDrawerFooter from '../SearchDrawer/Footer';\n\nimport styles from './Drawer.module.scss';\nimport DrawerCloseButton from './DrawerCloseButton';\n\nimport useOutsideClickDetector from '@/hooks/useOutsideClickDetector';\nimport usePreventBodyScrolling from '@/hooks/usePreventBodyScrolling';\nimport {\n Navbar,\n selectNavbar,\n setIsNavigationDrawerOpen,\n setIsSearchDrawerOpen,\n setIsSettingsDrawerOpen,\n setIsVisible,\n} from '@/redux/slices/navbar';\nimport { stopSearchDrawerVoiceFlow } from '@/redux/slices/voiceSearch';\nimport { logEvent } from '@/utils/eventLogger';\n\nexport enum DrawerType {\n Navigation = 'navigation',\n Search = 'search',\n Settings = 'settings',\n}\n\nexport enum DrawerSide {\n Left = 'left',\n Right = 'right',\n}\n\ninterface Props {\n type: DrawerType;\n side?: DrawerSide;\n header: ReactNode;\n hideCloseButton?: boolean;\n children: ReactNode;\n closeOnNavigation?: boolean;\n canCloseDrawer?: boolean;\n bodyId?: string;\n}\n\n/**\n * Check whether a specific drawer is open or not based on the type.\n *\n * @param {DrawerType} type\n * @param {Navbar} navbar\n * @returns {boolean}\n */\nconst getIsOpen = (type: DrawerType, navbar: Navbar): boolean => {\n const { isNavigationDrawerOpen, isSettingsDrawerOpen, isSearchDrawerOpen } = navbar;\n if (type === DrawerType.Navigation) {\n return isNavigationDrawerOpen;\n }\n if (type === DrawerType.Settings) {\n return isSettingsDrawerOpen;\n }\n return isSearchDrawerOpen;\n};\n\nconst getActionCreator = (type: DrawerType) => {\n if (type === DrawerType.Navigation) {\n return setIsNavigationDrawerOpen.type;\n }\n if (type === DrawerType.Settings) {\n return setIsSettingsDrawerOpen.type;\n }\n return setIsSearchDrawerOpen.type;\n};\n\nconst logDrawerCloseEvent = (type: string, actionSource: string) => {\n // eslint-disable-next-line i18next/no-literal-string\n logEvent(`drawer_${type}_close_${actionSource}`);\n};\n\nenum ActionSource {\n Click = 'click',\n EscKey = 'esc_key',\n OutsideClick = 'outside_click',\n Navigation = 'navigation',\n}\n\nconst Drawer: React.FC<Props> = ({\n type,\n side = DrawerSide.Right,\n header,\n children,\n hideCloseButton = false,\n closeOnNavigation = true,\n canCloseDrawer = true,\n bodyId,\n}) => {\n const { isVisible: isNavbarVisible } = useSelector(selectNavbar, shallowEqual);\n const drawerRef = useRef(null);\n const dispatch = useDispatch();\n const navbar = useSelector(selectNavbar, shallowEqual);\n const isOpen = getIsOpen(type, navbar);\n // when the drawer is open and the onboarding is not active.\n usePreventBodyScrolling(isOpen);\n const router = useRouter();\n\n const closeDrawer = useCallback(\n (actionSource: ActionSource = ActionSource.Click) => {\n if (!canCloseDrawer) {\n return;\n }\n\n dispatch({ type: getActionCreator(type), payload: false });\n if (type === DrawerType.Search) {\n dispatch({ type: stopSearchDrawerVoiceFlow.type });\n }\n logDrawerCloseEvent(type, actionSource);\n },\n [dispatch, type, canCloseDrawer],\n );\n // enableOnTags is added for when Search Drawer's input field is focused or when Settings Drawer's select input is focused\n useHotkeys(\n 'Escape',\n () => {\n closeDrawer(ActionSource.EscKey);\n },\n { enabled: isOpen, enableOnTags: ['INPUT', 'SELECT'] },\n );\n\n useEffect(() => {\n // Keep nav bar visible when drawer is open\n if (isOpen) {\n dispatch(setIsVisible(true));\n }\n\n // Hide navbar after successful navigation\n router.events.on('routeChangeComplete', () => {\n if (isOpen && closeOnNavigation) {\n closeDrawer(ActionSource.Navigation);\n }\n });\n }, [closeDrawer, dispatch, router.events, isNavbarVisible, isOpen, closeOnNavigation]);\n\n useOutsideClickDetector(\n drawerRef,\n () => {\n closeDrawer(ActionSource.OutsideClick);\n },\n isOpen,\n );\n const isSearchDrawer = type === DrawerType.Search;\n return (\n <div\n className={classNames(styles.container, {\n [styles.navbarInvisible]: !isNavbarVisible,\n [styles.containerOpen]: isOpen,\n [styles.left]: side === DrawerSide.Left,\n [styles.right]: side === DrawerSide.Right,\n })}\n ref={drawerRef}\n id={type === DrawerType.Settings ? 'settings-drawer-container' : undefined}\n >\n <div\n className={classNames(styles.header, {\n [styles.hiddenButtonHeader]: hideCloseButton,\n })}\n >\n <div\n className={classNames(styles.headerContentContainer, {\n [styles.hiddenButtonHeaderContentContainer]: hideCloseButton,\n })}\n >\n <div className={styles.headerContent}>\n {header}\n {!hideCloseButton && <DrawerCloseButton onClick={() => closeDrawer()} />}\n </div>\n </div>\n </div>\n <div\n className={classNames(styles.bodyContainer, {\n [styles.navigationBodyContainer]: type === DrawerType.Navigation,\n [styles.bodyWithBottomPadding]: !isSearchDrawer,\n [styles.searchContainer]: isSearchDrawer,\n })}\n id={bodyId}\n >\n {children}\n {isSearchDrawer && <SearchDrawerFooter />}\n </div>\n </div>\n );\n};\n\nexport default Drawer;\n","/* eslint-disable react-func/max-lines-per-function */\nimport React from 'react';\n\nimport setLanguage from 'next-translate/setLanguage';\nimport useTranslation from 'next-translate/useTranslation';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport Button, { ButtonShape, ButtonVariant } from '../dls/Button/Button';\nimport PopoverMenu, { PopoverMenuExpandDirection } from '../dls/PopoverMenu/PopoverMenu';\nimport { ToastStatus, useToast } from '../dls/Toast/Toast';\n\nimport styles from './LanguageSelector.module.scss';\n\nimport ChevronSelectIcon from '@/icons/chevron-select.svg';\nimport GlobeIcon from '@/icons/globe.svg';\nimport resetSettings from '@/redux/actions/reset-settings';\nimport { selectIsUsingDefaultSettings } from '@/redux/slices/defaultSettings';\nimport { addOrUpdateUserPreference } from '@/utils/auth/api';\nimport { isLoggedIn } from '@/utils/auth/login';\nimport { setLocaleCookie } from '@/utils/cookies';\nimport { logEvent, logValueChange } from '@/utils/eventLogger';\nimport { getLocaleName } from '@/utils/locale';\nimport i18nConfig from 'i18n.json';\nimport PreferenceGroup from 'types/auth/PreferenceGroup';\n\nconst { locales } = i18nConfig;\n\nconst options = locales.map((lng) => ({\n label: getLocaleName(lng),\n value: lng,\n}));\n\ntype LanguageSelectorProps = {\n shouldShowSelectedLang?: boolean;\n expandDirection?: PopoverMenuExpandDirection;\n};\n\nconst LanguageSelector = ({\n shouldShowSelectedLang: isFooter,\n expandDirection = PopoverMenuExpandDirection.BOTTOM,\n}: LanguageSelectorProps) => {\n const isUsingDefaultSettings = useSelector(selectIsUsingDefaultSettings);\n const dispatch = useDispatch();\n const { t, lang } = useTranslation('common');\n const toast = useToast();\n\n /**\n * When the user changes the language, we will:\n *\n * 1. Call next-translate's setLanguage with the new value.\n * 2. Store the new value of the locale in the cookies so that next time the user\n * lands on the `/` route, he will be redirected to the homepage with the\n * saved locale. This is to over-ride next.js's default behavior which takes\n * into consideration `Accept-language` header {@see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language}\n * as a locale detection mechanism. For further reading on Next.js's behavior\n * {@see https://nextjs.org/docs/advanced-features/i18n-routing}.\n *\n * @param {string} newLocale\n */\n const onChange = async (newLocale: string) => {\n // if the user didn't change the settings and he is transitioning to a new locale, we want to apply the default settings of the new locale\n if (isUsingDefaultSettings) {\n dispatch(resetSettings(newLocale));\n }\n logValueChange('locale', lang, newLocale);\n\n await setLanguage(newLocale);\n setLocaleCookie(newLocale);\n\n if (isLoggedIn()) {\n addOrUpdateUserPreference(\n PreferenceGroup.LANGUAGE,\n newLocale,\n PreferenceGroup.LANGUAGE,\n ).catch(() => {\n toast(t('error.pref-persist-fail'), {\n status: ToastStatus.Warning,\n actions: [\n {\n text: t('undo'),\n primary: true,\n onClick: async () => {\n await setLanguage(newLocale);\n setLocaleCookie(newLocale);\n },\n },\n {\n text: t('continue'),\n primary: false,\n onClick: () => {\n // do nothing\n },\n },\n ],\n });\n });\n }\n };\n\n const onOpenChange = (open: boolean) => {\n if (open) {\n if (isFooter) {\n logEvent(`footer_language_selector_open`);\n } else {\n logEvent(`navbar_language_selector_open`);\n }\n return;\n }\n\n if (isFooter) {\n logEvent(`footer_language_selector_close`);\n } else {\n logEvent(`navbar_language_selector_close`);\n }\n };\n\n return (\n <PopoverMenu\n expandDirection={expandDirection}\n trigger={\n isFooter ? (\n <Button\n className={styles.triggerButton}\n prefix={\n <span className={styles.globeIconWrapper}>\n <GlobeIcon />\n </span>\n }\n tooltip={t('languages')}\n variant={ButtonVariant.Ghost}\n suffix={\n <span className={styles.triggerSuffixContainer}>\n <ChevronSelectIcon />\n </span>\n }\n >\n {getLocaleName(lang)}\n </Button>\n ) : (\n <Button\n tooltip={t('languages')}\n shape={ButtonShape.Circle}\n variant={ButtonVariant.Ghost}\n ariaLabel={t('aria.select-lng')}\n >\n <span className={styles.globeIconWrapper}>\n <GlobeIcon />\n </span>\n </Button>\n )\n }\n onOpenChange={onOpenChange}\n isPortalled={false}\n >\n {options.map((option) => (\n <PopoverMenu.Item\n isSelected={option.value === lang}\n shouldCloseMenuAfterClick\n key={option.value}\n onClick={() => onChange(option.value)}\n >\n {option.label}\n </PopoverMenu.Item>\n ))}\n </PopoverMenu>\n );\n};\n\nexport default LanguageSelector;\n","import useTranslation from 'next-translate/useTranslation';\n\nimport styles from './NavbarLogoWrapper.module.scss';\n\nimport Link from '@/dls/Link/Link';\nimport QuranTextLogo from '@/icons/el-quran.svg';\n// import QuranTextLogo from '@/icons/quran-text-logo.svg';\n\nconst NavbarLogoWrapper = () => {\n const { t } = useTranslation('common');\n return (\n <Link href=\"/\" className={styles.logoWrapper} title={t('quran-com')}>\n <QuranTextLogo />\n </Link>\n );\n};\n\nexport default NavbarLogoWrapper;\n","import React from 'react';\n\nimport classNames from 'classnames';\nimport { useSelector, shallowEqual } from 'react-redux';\n\nimport styles from './Navbar.module.scss';\nimport NavbarBody from './NavbarBody';\n\nimport { useOnboarding } from '@/components/Onboarding/OnboardingProvider';\nimport { selectNavbar } from '@/redux/slices/navbar';\n\nconst Navbar = () => {\n const { isActive } = useOnboarding();\n const { isVisible: isNavbarVisible } = useSelector(selectNavbar, shallowEqual);\n const showNavbar = isNavbarVisible || isActive;\n\n return (\n <>\n <div className={styles.emptySpacePlaceholder} />\n <nav className={classNames(styles.container, { [styles.hiddenNav]: !showNavbar })}>\n <NavbarBody />\n </nav>\n </>\n );\n};\n\nexport default Navbar;\n","import { memo } from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\nimport { useDispatch } from 'react-redux';\n\nimport LanguageSelector from '../LanguageSelector';\nimport NavbarLogoWrapper from '../Logo/NavbarLogoWrapper';\nimport NavigationDrawer from '../NavigationDrawer/NavigationDrawer';\nimport SearchDrawer from '../SearchDrawer/SearchDrawer';\nimport SettingsDrawer from '../SettingsDrawer/SettingsDrawer';\n\nimport styles from './NavbarBody.module.scss';\n// import ProfileAvatarButton from './ProfileAvatarButton';\n\nimport Button, { ButtonShape, ButtonVariant } from '@/dls/Button/Button';\nimport IconMenu from '@/icons/menu.svg';\nimport IconSearch from '@/icons/search.svg';\nimport IconSettings from '@/icons/settings.svg';\nimport {\n setIsSearchDrawerOpen,\n setIsNavigationDrawerOpen,\n setIsSettingsDrawerOpen,\n} from '@/redux/slices/navbar';\nimport { logEvent } from '@/utils/eventLogger';\n\n/**\n * Log drawer events.\n *\n * @param {string} drawerName\n */\nconst logDrawerOpenEvent = (drawerName: string) => {\n // eslint-disable-next-line i18next/no-literal-string\n logEvent(`drawer_${drawerName}_open`);\n};\n\nconst NavbarBody: React.FC = () => {\n const { t } = useTranslation('common');\n const dispatch = useDispatch();\n const openNavigationDrawer = () => {\n logDrawerOpenEvent('navigation');\n dispatch({ type: setIsNavigationDrawerOpen.type, payload: true });\n };\n\n const openSearchDrawer = () => {\n logDrawerOpenEvent('search');\n dispatch({ type: setIsSearchDrawerOpen.type, payload: true });\n };\n\n const openSettingsDrawer = () => {\n logDrawerOpenEvent('settings');\n dispatch({ type: setIsSettingsDrawerOpen.type, payload: true });\n };\n\n return (\n <div className={styles.itemsContainer}>\n <div className={styles.centerVertically}>\n <div className={styles.leftCTA}>\n <>\n <Button\n tooltip={t('menu')}\n variant={ButtonVariant.Ghost}\n shape={ButtonShape.Circle}\n onClick={openNavigationDrawer}\n ariaLabel={t('aria.nav-drawer-open')}\n >\n <IconMenu />\n </Button>\n <NavigationDrawer />\n </>\n <NavbarLogoWrapper />\n </div>\n </div>\n <div className={styles.centerVertically}>\n <div className={styles.rightCTA}>\n <>\n {/* <ProfileAvatarButton /> */}\n <LanguageSelector />\n <Button\n tooltip={t('settings.title')}\n shape={ButtonShape.Circle}\n variant={ButtonVariant.Ghost}\n onClick={openSettingsDrawer}\n ariaLabel={t('aria.change-settings')}\n id=\"settings-button\"\n >\n <IconSettings />\n </Button>\n <SettingsDrawer />\n </>\n <>\n <Button\n tooltip={t('search.title')}\n variant={ButtonVariant.Ghost}\n onClick={openSearchDrawer}\n shape={ButtonShape.Circle}\n shouldFlipOnRTL={false}\n ariaLabel={t('search.title')}\n >\n <IconSearch />\n </Button>\n <SearchDrawer />\n </>\n </div>\n </div>\n </div>\n );\n};\n\nexport default memo(NavbarBody);\n","/* eslint-disable react/no-multi-comp */\nimport React from 'react';\n\nimport dynamic from 'next/dynamic';\nimport { shallowEqual, useSelector } from 'react-redux';\n\nimport Drawer, { DrawerSide, DrawerType } from '../Drawer';\nimport NavbarLogoWrapper from '../Logo/NavbarLogoWrapper';\n\nimport styles from './NavigationDrawer.module.scss';\nimport NavigationDrawerBodySkeleton from './NavigationDrawerBodySkeleton';\n\nimport { selectNavbar } from '@/redux/slices/navbar';\n\nconst NavigationDrawerBody = dynamic(() => import('./NavigationDrawerBody'), {\n ssr: false,\n loading: () => <NavigationDrawerBodySkeleton />,\n});\n\nconst NavigationDrawer = () => {\n const { isNavigationDrawerOpen } = useSelector(selectNavbar, shallowEqual);\n\n return (\n <Drawer\n type={DrawerType.Navigation}\n side={DrawerSide.Left}\n header={\n <div className={styles.centerVertically}>\n <div className={styles.leftCTA}>\n <NavbarLogoWrapper />\n </div>\n </div>\n }\n >\n {isNavigationDrawerOpen && <NavigationDrawerBody />}\n </Drawer>\n );\n};\n\nexport default NavigationDrawer;\n","import Skeleton from '../../dls/Skeleton/Skeleton';\n\nimport styles from './NavigationDrawerBodySkeleton.module.scss';\n\nconst NAV_ROW_COUNT = 6;\nconst rowsArr = Array(NAV_ROW_COUNT).fill(null);\n\nconst renderLinesSkeleton = (index) => {\n return rowsArr.map((k, i) => (\n // eslint-disable-next-line react/no-array-index-key\n <Skeleton key={`skeleton_${index}_${i}`} isActive isSquared className={styles.navRow} />\n ));\n};\n\nconst NavigationDrawerBodySkeleton = () => {\n return (\n <span className={styles.skeletonContainer}>\n <Skeleton isActive isSquared className={styles.blockRow} />\n {renderLinesSkeleton(1)}\n {renderLinesSkeleton(2)}\n </span>\n );\n};\n\nexport default NavigationDrawerBodySkeleton;\n","import React from 'react';\n\nimport styles from './DrawerSearchIcon.module.scss';\n\nimport IconSearch from '@/icons/search.svg';\n\nconst DrawerSearchIcon: React.FC = () => (\n <div className={styles.container}>\n <IconSearch />\n </div>\n);\n\nexport default DrawerSearchIcon;\n","import React from 'react';\n\nimport styles from './Footer.module.scss';\n\nimport TarteelAttribution from '@/components/TarteelAttribution/TarteelAttribution';\nimport Separator from '@/dls/Separator/Separator';\n\nconst Footer: React.FC = () => {\n return (\n <div>\n <Separator />\n <div className={styles.container}>\n <TarteelAttribution />\n </div>\n </div>\n );\n};\n\nexport default Footer;\n","import React, { RefObject } from 'react';\n\nimport classNames from 'classnames';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport DrawerSearchIcon from '../Buttons/DrawerSearchIcon';\n\nimport styles from './Header.module.scss';\n\nimport TarteelVoiceSearchTrigger from '@/components/TarteelVoiceSearch/Trigger';\nimport Separator from '@/dls/Separator/Separator';\nimport { logButtonClick } from '@/utils/eventLogger';\n\ninterface Props {\n isVoiceFlowStarted: boolean;\n isSearching: boolean;\n searchQuery: string;\n onSearchQueryChange: (event: React.FormEvent<HTMLInputElement>) => void;\n resetQueryAndResults: () => void;\n inputRef: RefObject<HTMLInputElement>;\n}\n\nconst Header: React.FC<Props> = ({\n isVoiceFlowStarted,\n onSearchQueryChange,\n resetQueryAndResults,\n inputRef,\n isSearching,\n searchQuery,\n}) => {\n const { t } = useTranslation('common');\n\n const onKeyboardReturnPressed = (e) => {\n e.preventDefault();\n inputRef.current.blur();\n };\n\n return (\n <>\n {isVoiceFlowStarted ? (\n <TarteelVoiceSearchTrigger\n onClick={() => {\n logButtonClick('search_drawer_voice_search_stop_flow');\n }}\n />\n ) : (\n <>\n <DrawerSearchIcon />\n <div className={classNames(styles.searchInputContainer)}>\n <form onSubmit={onKeyboardReturnPressed}>\n <input\n className={styles.searchInput}\n type=\"text\"\n ref={inputRef}\n dir=\"auto\"\n placeholder={t('search.title')}\n onChange={onSearchQueryChange}\n value={searchQuery}\n disabled={isSearching}\n />\n </form>\n {searchQuery && (\n <>\n <button type=\"button\" className={styles.clear} onClick={resetQueryAndResults}>\n {t('input.clear')}\n </button>\n <Separator isVertical className={styles.separator} />\n </>\n )}\n {/* <TarteelVoiceSearchTrigger\n onClick={() => {\n logButtonClick('search_drawer_voice_search_start_flow');\n }}\n /> */}\n </div>\n </>\n )}\n </>\n );\n};\n\nexport default Header;\n","/* eslint-disable react-func/max-lines-per-function */\n/* eslint-disable max-lines */\n/* eslint-disable react/no-multi-comp */\nimport React, { RefObject, useEffect, useState } from 'react';\n\nimport dynamic from 'next/dynamic';\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux';\n\nimport SearchDrawerHeader from './Header';\n\nimport Drawer, { DrawerType } from '@/components/Navbar/Drawer';\nimport Spinner from '@/dls/Spinner/Spinner';\nimport useDebounce from '@/hooks/useDebounce';\nimport useFocus from '@/hooks/useFocusElement';\nimport { selectNavbar } from '@/redux/slices/navbar';\nimport { selectSelectedTranslations } from '@/redux/slices/QuranReader/translations';\nimport { selectIsSearchDrawerVoiceFlowStarted } from '@/redux/slices/voiceSearch';\nimport SearchQuerySource from '@/types/SearchQuerySource';\nimport { areArraysEqual } from '@/utils/array';\nimport { logButtonClick } from '@/utils/eventLogger';\nimport { addToSearchHistory, searchGetResults } from '@/utils/search';\nimport { SearchResponse } from 'types/ApiResponses';\n\nconst SearchBodyContainer = dynamic(() => import('@/components/Search/SearchBodyContainer'), {\n ssr: false,\n loading: () => <Spinner />,\n});\n// const VoiceSearchBodyContainer = dynamic(\n// () => import('@/components/TarteelVoiceSearch/BodyContainer'),\n// {\n// ssr: false,\n// loading: () => <Spinner />,\n// },\n// );\n\nconst FIRST_PAGE_NUMBER = 1;\nconst PAGE_SIZE = 10;\nconst DEBOUNCING_PERIOD_MS = 1000;\n\nconst SearchDrawer: React.FC = () => {\n const selectedTranslations = useSelector(selectSelectedTranslations, areArraysEqual);\n const [focusInput, searchInputRef]: [() => void, RefObject<HTMLInputElement>] = useFocus();\n const [searchQuery, setSearchQuery] = useState<string>('');\n const isOpen = useSelector(selectNavbar, shallowEqual).isSearchDrawerOpen;\n const dispatch = useDispatch();\n const [isSearching, setIsSearching] = useState(false);\n const [hasError, setHasError] = useState(false);\n const [searchResult, setSearchResult] = useState<SearchResponse>(null);\n const isVoiceSearchFlowStarted = useSelector(selectIsSearchDrawerVoiceFlowStarted, shallowEqual);\n // Debounce search query to avoid having to call the API on every type. The API will be called once the user stops typing.\n const debouncedSearchQuery = useDebounce<string>(searchQuery, DEBOUNCING_PERIOD_MS);\n // once the drawer is open, focus the input field\n useEffect(() => {\n if (isOpen) {\n focusInput();\n }\n }, [isOpen, focusInput]);\n\n useEffect(() => {\n // only when the search query has a value we call the API.\n if (debouncedSearchQuery) {\n addToSearchHistory(dispatch, debouncedSearchQuery, SearchQuerySource.SearchDrawer);\n searchGetResults(\n SearchQuerySource.SearchDrawer,\n debouncedSearchQuery,\n FIRST_PAGE_NUMBER,\n PAGE_SIZE,\n setIsSearching,\n setHasError,\n setSearchResult,\n null,\n selectedTranslations?.length && selectedTranslations.join(','),\n );\n }\n }, [debouncedSearchQuery, selectedTranslations, dispatch]);\n\n const resetQueryAndResults = () => {\n logButtonClick('search_drawer_clear_input');\n // reset the search query\n setSearchQuery('');\n // reset the result\n setSearchResult(null);\n // reset the error\n setHasError(false);\n };\n\n /**\n * Handle when the search query is changed.\n *\n * @param {React.FormEvent<HTMLInputElement>} event\n * @returns {void}\n */\n const onSearchQueryChange = (event: React.FormEvent<HTMLInputElement>): void => {\n const newSearchQuery = event.currentTarget.value;\n if (!newSearchQuery) {\n resetQueryAndResults();\n } else {\n setSearchQuery(newSearchQuery);\n }\n };\n\n /**\n * When the keyword is clicked, we move the cursor to the end of\n * the input field after setting its value.\n *\n * @param {string} keyword\n */\n const onSearchKeywordClicked = (keyword: string) => {\n const end = keyword.length;\n setSearchQuery(keyword);\n searchInputRef.current.setSelectionRange(end, end);\n focusInput();\n };\n\n return (\n <Drawer\n hideCloseButton={isVoiceSearchFlowStarted}\n type={DrawerType.Search}\n header={\n <SearchDrawerHeader\n isVoiceFlowStarted={isVoiceSearchFlowStarted}\n onSearchQueryChange={onSearchQueryChange}\n resetQueryAndResults={resetQueryAndResults}\n inputRef={searchInputRef}\n isSearching={isSearching}\n searchQuery={searchQuery}\n />\n }\n >\n <div>\n {isOpen && (\n <>\n {/* {isVoiceSearchFlowStarted ? (\n <VoiceSearchBodyContainer />\n ) : (\n <SearchBodyContainer\n onSearchResultClicked={() => searchInputRef?.current?.blur()}\n onSearchKeywordClicked={onSearchKeywordClicked}\n searchQuery={searchQuery}\n searchResult={searchResult}\n isSearching={isSearching}\n hasError={hasError}\n />\n )} */}\n\n <SearchBodyContainer\n onSearchResultClicked={() => searchInputRef?.current?.blur()}\n onSearchKeywordClicked={onSearchKeywordClicked}\n searchQuery={searchQuery}\n searchResult={searchResult}\n isSearching={isSearching}\n hasError={hasError}\n />\n \n </>\n )}\n </div>\n </Drawer>\n );\n};\n\nexport default SearchDrawer;\n","import React from 'react';\n\nimport classNames from 'classnames';\n\nimport styles from './Footer.module.scss';\n\nconst Footer = ({ children, visible = true }) => (\n <div\n className={classNames(styles.footer, {\n [styles.invisible]: !visible,\n })}\n >\n {children}\n </div>\n);\n\nexport default Footer;\n","import React from 'react';\n\nimport styles from './Label.module.scss';\n\nconst Label = ({ children }) => <div className={styles.label}>{children}</div>;\n\nexport default Label;\n","import React from 'react';\n\nimport styles from './Row.module.scss';\n\ninterface RowProps {\n id?: string;\n children?: React.ReactNode;\n}\n\nconst Row = (props: RowProps) => <div className={styles.row} {...props} />;\n\nexport default Row;\n","import React from 'react';\n\nimport styles from './Title.module.scss';\n\nimport SpinnerContainer from '@/dls/Spinner/SpinnerContainer';\n\nconst Title = ({ children, isLoading = false }) => {\n return (\n <div className={styles.title}>\n <SpinnerContainer isLoading={isLoading}>{children}</SpinnerContainer>\n </div>\n );\n};\n\nexport default Title;\n","import Footer from './Footer';\nimport Label from './Label';\nimport Row from './Row';\nimport styles from './Section.module.scss';\nimport Title from './Title';\n\nimport Separator, { SeparatorWeight } from '@/dls/Separator/Separator';\n\ninterface SectionProps {\n id?: string;\n children?: React.ReactNode;\n}\n\nconst Section = ({ children, ...props }: SectionProps) => (\n <div className={styles.section} {...props}>\n {children}\n <div className={styles.separator}>\n <Separator weight={SeparatorWeight.Bold} />\n </div>\n </div>\n);\n\nSection.Title = Title;\nSection.Label = Label;\nSection.Footer = Footer;\nSection.Row = Row;\n\nexport default Section;\n","import Skeleton from '../../dls/Skeleton/Skeleton';\n\nimport styles from './SettingsBodySkeleton.module.scss';\n\nconst SETTINGS_ROW_COUNT = 4;\nconst rowsArr = Array(SETTINGS_ROW_COUNT).fill(null);\n\nconst SettingsBodySkeleton = () => {\n return (\n <span className={styles.skeletonContainer}>\n {rowsArr.map((k, i) => (\n // eslint-disable-next-line react/no-array-index-key\n <span key={`skeleton_${i}`} className={styles.inputRow}>\n <div className={styles.title}>\n <Skeleton isActive isSquared className={styles.titleSkeleton} />\n </div>\n <div className={styles.rowSkeleton}>\n <Skeleton isActive isSquared className={styles.label} />\n <Skeleton isActive isSquared className={styles.input} />\n </div>\n </span>\n ))}\n </span>\n );\n};\n\nexport default SettingsBodySkeleton;\n","/* eslint-disable react/no-multi-comp */\nimport React from 'react';\n\nimport dynamic from 'next/dynamic';\nimport useTranslation from 'next-translate/useTranslation';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport SettingsBodySkeleton from './SettingsBodySkeleton';\nimport styles from './SettingsDrawer.module.scss';\n\nimport Drawer, { DrawerType } from '@/components/Navbar/Drawer';\nimport { useOnboarding } from '@/components/Onboarding/OnboardingProvider';\nimport Button, { ButtonVariant } from '@/dls/Button/Button';\nimport BackIcon from '@/icons/west.svg';\nimport { selectNavbar, setSettingsView, SettingsView } from '@/redux/slices/navbar';\nimport { logValueChange } from '@/utils/eventLogger';\n\nconst SettingsBody = dynamic(() => import('./SettingsBody'), {\n ssr: false,\n loading: () => <SettingsBodySkeleton />,\n});\n\nconst ReciterSelectionBody = dynamic(() => import('./ReciterSelectionBody'), {\n ssr: false,\n});\n\nconst TranslationSelectionBody = dynamic(() => import('./TranslationSelectionBody'), {\n ssr: false,\n});\n\nconst TafsirSelectionBody = dynamic(() => import('./TafsirSelectionBody'), {\n ssr: false,\n});\n\nconst SettingsDrawer = () => {\n const { t } = useTranslation('common');\n const dispatch = useDispatch();\n const { isSettingsDrawerOpen, settingsView } = useSelector(selectNavbar);\n const { isActive } = useOnboarding();\n\n const onGoBackClicked = () => {\n dispatch(setSettingsView(SettingsView.Body));\n logValueChange('settings_view', SettingsView.Body, settingsView);\n };\n\n let header;\n if (settingsView === SettingsView.Body) header = <div>{t('settings.title')}</div>;\n if (settingsView !== SettingsView.Body) {\n header = (\n <div className={styles.headerContainer}>\n <Button variant={ButtonVariant.Ghost} onClick={onGoBackClicked}>\n <BackIcon />\n </Button>\n {settingsView === SettingsView.Translation && t('translations')}\n {settingsView === SettingsView.Reciter && t('reciter')}\n {settingsView === SettingsView.Tafsir && t('tafsir.title')}\n </div>\n );\n }\n\n return (\n <Drawer\n type={DrawerType.Settings}\n header={header}\n closeOnNavigation={false}\n canCloseDrawer={!isActive}\n bodyId=\"settings-drawer-body\"\n >\n {isSettingsDrawerOpen && settingsView === SettingsView.Body && <SettingsBody />}\n {isSettingsDrawerOpen && settingsView === SettingsView.Translation && (\n <TranslationSelectionBody />\n )}\n {isSettingsDrawerOpen && settingsView === SettingsView.Reciter && <ReciterSelectionBody />}\n {isSettingsDrawerOpen && settingsView === SettingsView.Tafsir && <TafsirSelectionBody />}\n </Drawer>\n );\n};\n\nexport default SettingsDrawer;\n","import React from 'react';\n\nimport classNames from 'classnames';\nimport useTranslation from 'next-translate/useTranslation';\nimport { shallowEqual, useSelector } from 'react-redux';\n\nimport Section from './Section';\nimport styles from './ThemeSection.module.scss';\n\nimport Switch, { SwitchSize } from '@/dls/Switch/Switch';\nimport usePersistPreferenceGroup from '@/hooks/auth/usePersistPreferenceGroup';\nimport AutoIcon from '@/icons/auto.svg';\nimport MoonIcon from '@/icons/moon-outline.svg';\nimport SunIcon from '@/icons/sun-outline.svg';\nimport SunsetIcon from '@/icons/sunset.svg';\nimport { selectTheme, setTheme } from '@/redux/slices/theme';\nimport ThemeType from '@/redux/types/ThemeType';\nimport { logValueChange } from '@/utils/eventLogger';\nimport PreferenceGroup from 'types/auth/PreferenceGroup';\n\nexport const themeIcons = {\n [ThemeType.Dark]: <MoonIcon />,\n [ThemeType.Light]: <SunIcon />,\n [ThemeType.Auto]: <AutoIcon />,\n [ThemeType.Sepia]: <SunsetIcon />,\n};\n\nconst ThemeSection = () => {\n const {\n actions: { onSettingsChange },\n isLoading,\n } = usePersistPreferenceGroup();\n const { t } = useTranslation('common');\n const theme = useSelector(selectTheme, shallowEqual);\n const themes = Object.values(ThemeType).map((themeValue) => ({\n name: (\n <div className={styles.container}>\n <span\n className={classNames(\n styles.iconContainer,\n theme.type === themeValue && styles.iconActive,\n )}\n >\n {themeIcons[themeValue]}\n </span>\n <span className={styles.themeNameContainer}>{t(`themes.${themeValue}`)}</span>\n </div>\n ),\n value: themeValue,\n }));\n\n const onThemeSelected = async (value: ThemeType) => {\n logValueChange('theme', theme.type, value);\n onSettingsChange('type', value, setTheme(value), setTheme(theme.type), PreferenceGroup.THEME);\n };\n\n return (\n <Section id=\"theme-section\">\n <Section.Title isLoading={isLoading}>{t('theme')}</Section.Title>\n <Section.Row>\n <Switch\n items={themes}\n selected={theme.type}\n onSelect={onThemeSelected}\n size={SwitchSize.Small}\n />\n </Section.Row>\n <Section.Footer visible={theme.type === ThemeType.Auto}>\n {t('themes.system-desc')}\n </Section.Footer>\n </Section>\n );\n};\n\nexport default ThemeSection;\n","import { useEffect, memo } from 'react';\n\nimport { useDispatch } from 'react-redux';\n\nimport { incrementSessionCount } from '@/redux/slices/session';\n\nconst SessionIncrementor = () => {\n const dispatch = useDispatch();\n useEffect(() => {\n dispatch(incrementSessionCount());\n }, [dispatch]);\n return <></>;\n};\n\nexport default memo(SessionIncrementor);\n","import useTranslation from 'next-translate/useTranslation';\n\nimport styles from './TarteelAttribution.module.scss';\n\nimport Link from '@/dls/Link/Link';\nimport TarteelLogo from '@/icons/tarteel-logo.svg';\nimport TarteelText from '@/icons/tarteel-text.svg';\nimport { logTarteelLinkClick } from '@/utils/eventLogger';\n\ninterface Props {\n isCommandBar?: boolean;\n}\n\nconst TarteelAttribution: React.FC<Props> = ({ isCommandBar = false }) => {\n const { t } = useTranslation('common');\n const onLinkClicked = () => {\n logTarteelLinkClick(isCommandBar ? 'command_bar' : 'search_drawer');\n };\n return (\n <Link href=\"https://download.tarteel.ai/\" onClick={onLinkClicked} isNewTab>\n <div className={styles.container}>\n <span className={styles.poweredBy}>{t('voice.voice-search-powered-by')}</span>\n <TarteelLogo />\n <span className={styles.tarteelTextWrapper}>\n <TarteelText />\n </span>\n </div>\n </Link>\n );\n};\n\nexport default TarteelAttribution;\n","import React, { useRef } from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux';\n\nimport styles from './Trigger.module.scss';\n\nimport Button, { ButtonShape, ButtonVariant } from '@/dls/Button/Button';\nimport useBrowserLayoutEffect from '@/hooks/useBrowserLayoutEffect';\nimport CloseIcon from '@/icons/close.svg';\nimport MicrophoneIcon from '@/icons/microphone.svg';\nimport {\n toggleIsSearchDrawerVoiceFlowStarted,\n toggleIsCommandBarVoiceFlowStarted,\n selectIsCommandBarVoiceFlowStarted,\n selectIsSearchDrawerVoiceFlowStarted,\n} from '@/redux/slices/voiceSearch';\n\ninterface Props {\n isCommandBar?: boolean;\n onClick: (startFlow: boolean) => void;\n}\n\nconst TarteelVoiceSearchTrigger: React.FC<Props> = ({ isCommandBar = false, onClick }) => {\n const { t } = useTranslation('common');\n const isSupported = useRef(true);\n const dispatch = useDispatch();\n const isCommandBarVoiceFlowStarted = useSelector(\n selectIsCommandBarVoiceFlowStarted,\n shallowEqual,\n );\n const isSearchDrawerVoiceFlowStarted = useSelector(\n selectIsSearchDrawerVoiceFlowStarted,\n shallowEqual,\n );\n\n const showCloseIcon =\n (isCommandBar && isCommandBarVoiceFlowStarted) ||\n (!isCommandBar && isSearchDrawerVoiceFlowStarted);\n\n const onMicClicked = () => {\n onClick(!showCloseIcon);\n dispatch({\n type: isCommandBar\n ? toggleIsCommandBarVoiceFlowStarted.type\n : toggleIsSearchDrawerVoiceFlowStarted.type,\n });\n };\n\n // check whether the microphone is supported first.\n useBrowserLayoutEffect(() => {\n isSupported.current =\n navigator.mediaDevices?.getUserMedia ||\n // @ts-ignore\n navigator.getUserMedia ||\n // @ts-ignore\n navigator.webkitGetUserMedia ||\n // @ts-ignore\n navigator.mozGetUserMedia;\n }, []);\n\n // if the mic is not supported.\n if (!isSupported.current) {\n return <></>;\n }\n\n return (\n <Button\n onClick={onMicClicked}\n shape={ButtonShape.Circle}\n variant={ButtonVariant.Ghost}\n className={styles.button}\n tooltip={t('command-bar.search-by-voice')}\n hasSidePadding={false}\n ariaLabel={t('command-bar.search-by-voice')}\n >\n {showCloseIcon ? <CloseIcon /> : <MicrophoneIcon />}\n </Button>\n );\n};\n\nexport default TarteelVoiceSearchTrigger;\n","/* eslint-disable i18next/no-literal-string */\nimport Script from 'next/script';\n\nconst ANALYTICS_ID = process.env.NEXT_PUBLIC_GOOGLE_ANALYTICS_ID;\nconst ENABLE_ANALYTICS = process.env.NEXT_PUBLIC_VERCEL_ENV === 'production';\n\nconst GoogleAnalyticsScript = () => {\n if (!ENABLE_ANALYTICS) {\n return <></>;\n }\n\n return (\n <>\n <Script\n src={`https://www.googletagmanager.com/gtag/js?id=${ANALYTICS_ID}`}\n strategy=\"lazyOnload\"\n id=\"google-analytics-script-url\"\n />\n <Script id=\"google-analytics-script-code\">\n {`window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${ANALYTICS_ID}', {\n page_path: window.location.pathname,\n });`}\n </Script>\n </>\n );\n};\n\nexport default GoogleAnalyticsScript;\n","import React from 'react';\n\nimport GoogleAnalyticsScript from './GoogleAnalyticsScript';\n\nconst ThirdPartyScripts = () => <GoogleAnalyticsScript />;\n\nexport default ThirdPartyScripts;\n","/* eslint-disable i18next/no-literal-string */\nimport { useMemo } from 'react';\n\nimport useTranslation from 'next-translate/useTranslation';\n\nimport { PopoverMenuExpandDirection } from '../PopoverMenu/PopoverMenu';\n\nimport styles from './Footer.module.scss';\nimport FooterThemeSwitcher from './FooterThemeSwitcher';\n\nimport LanguageSelector from '@/components/Navbar/LanguageSelector';\nimport Link, { LinkVariant } from '@/dls/Link/Link';\nimport { toLocalizedDate } from '@/utils/locale';\n\nconst BottomSection = () => {\n const { t, lang } = useTranslation('common');\n const localizedCurrentYear = useMemo(\n () =>\n toLocalizedDate(new Date(), lang, {\n year: 'numeric',\n calendar: 'gregory',\n }),\n [lang],\n );\n\n return (\n <div className={styles.bottomSectionContainer}>\n <div>\n {/* <div className={styles.bottomLinks}>\n <Link href=\"/sitemap.xml\" shouldPrefetch={false} isNewTab>\n {t('sitemap')}\n </Link>\n <Link href=\"/privacy\" shouldPrefetch={false}>\n {t('privacy')}\n </Link>\n </div> */}\n <div className={styles.copyright}>\n © {localizedCurrentYear}{' '}\n <Link href=\"https://elquran.co.uk\" variant={LinkVariant.Highlight} shouldPrefetch={false}>\n {\n // we don't want to localize Quran.com text\n // eslint-disable-next-line i18next/no-literal-string\n 'ElQuran.co.uk'\n }\n </Link>\n . {t('footer.rights')}\n </div>\n </div>\n <div className={styles.actionsSections}>\n <div className={styles.actionContainer}>\n <FooterThemeSwitcher />\n </div>\n <div className={styles.actionContainer}>\n <LanguageSelector\n shouldShowSelectedLang\n expandDirection={PopoverMenuExpandDirection.TOP}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default BottomSection;\n","import BottomSection from './BottomSection';\nimport styles from './Footer.module.scss';\nimport Links from './Links';\nimport TitleAndDescription from './TitleAndDescription';\n\nconst Footer = () => {\n return (\n <footer>\n <div className={styles.flowItem}>\n <div className={styles.container}>\n <TitleAndDescription />\n <Links />\n </div>\n <BottomSection />\n </div>\n <div className={styles.emptySpacePlaceholder} />\n </footer>\n );\n};\n\nexport default Footer;\n","import useTranslation from 'next-translate/useTranslation';\nimport { useSelector, shallowEqual, useDispatch } from 'react-redux';\n\nimport Button, { ButtonVariant } from '../Button/Button';\nimport PopoverMenu from '../PopoverMenu/PopoverMenu';\n\nimport styles from './FooterThemeSwitcher.module.scss';\n\nimport { themeIcons } from '@/components/Navbar/SettingsDrawer/ThemeSection';\nimport ChevronSelectIcon from '@/icons/chevron-select.svg';\nimport { selectTheme, setTheme } from '@/redux/slices/theme';\nimport ThemeType from '@/redux/types/ThemeType';\nimport { logEvent } from '@/utils/eventLogger';\n\nconst FooterThemeSwitcher = () => {\n const { t } = useTranslation('common');\n const dispatch = useDispatch();\n\n const theme = useSelector(selectTheme, shallowEqual);\n\n const themes = Object.values(ThemeType).map((themeValue) => ({\n label: t(`themes.${themeValue}`),\n value: themeValue,\n }));\n\n const onOpenChange = (open: boolean) => {\n if (open) {\n logEvent(`footer_theme_selector_open`);\n return;\n }\n logEvent(`footer_theme_selector_close`);\n };\n\n return (\n <PopoverMenu\n onOpenChange={onOpenChange}\n trigger={\n <Button\n className={styles.triggerContainer}\n prefix={<span className={styles.iconContainer}>{themeIcons[theme.type]}</span>}\n tooltip={t('theme')}\n variant={ButtonVariant.Ghost}\n suffix={\n <span className={styles.suffixIconContainer}>\n <ChevronSelectIcon />\n </span>\n }\n >\n {t(`themes.${theme.type}`)}\n </Button>\n }\n >\n {themes.map((option) => (\n <PopoverMenu.Item\n isSelected={option.value === theme.type}\n shouldCloseMenuAfterClick\n key={option.value}\n onClick={() => dispatch({ type: setTheme.type, payload: option.value })}\n >\n {option.label}\n </PopoverMenu.Item>\n ))}\n </PopoverMenu>\n );\n};\n\nexport default FooterThemeSwitcher;\n","import classNames from 'classnames';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './Footer.module.scss';\n\nimport Link, { LinkVariant } from '@/dls/Link/Link';\nimport useGetChaptersData from '@/hooks/useGetChaptersData';\nimport { logTarteelLinkClick } from '@/utils/eventLogger';\n\nconst Links = () => {\n const { t, lang } = useTranslation('common');\n const chaptersData = useGetChaptersData(lang);\n const isLoading = !chaptersData;\n\n const getChapterSlug = (id) => (!isLoading ? `/${chaptersData[id].slug}` : undefined);\n\n const linksGroup = [\n {\n title: t('navigate'),\n links: [\n { text: t('home'), url: '/' },\n { text: t('quran-radio'), url: '/radio' },\n { text: t('reciters'), url: '/reciters' },\n { text: t('about'), url: '/about-us' },\n // { text: t('donate'), isExternal: true, url: makeDonateUrl() },\n // { text: t('mobile-apps'), url: '/apps' },\n // { text: t('developers'), url: '/developers' },\n // { text: t('product-updates'), url: '/product-updates' },\n { text: t('feedback'), url: 'https://feedback.quran.com/', isExternal: true },\n { text: t('help'), url: '/support' },\n ],\n },\n {\n title: t('network'),\n links: [\n { text: 'QuranicAudio.com', url: 'https://quranicaudio.com', isExternal: true },\n { text: 'Salah.com', url: 'https://salah.com', isExternal: true },\n { text: 'Sunnah.com', url: 'https://sunnah.com', isExternal: true },\n // { text: 'Legacy.Quran.com', url: 'https://legacy.quran.com', isExternal: true },\n // { text: 'Previous.Quran.com', url: 'https://previous.quran.com', isExternal: true },\n // { text: 'Corpus.Quran.com', url: 'https://corpus.quran.com', isExternal: true },\n // { text: 'QuranReflect.com', url: 'https://quranreflect.com', isExternal: true },\n {\n text: 'Tarteel.ai',\n url: 'https://www.tarteel.ai/',\n isExternal: true,\n onClick: () => {\n logTarteelLinkClick('footer_network_attribution');\n },\n },\n ],\n },\n {\n title: t('popular-links'),\n loading: isLoading,\n links: [\n // We add ids here so that we use them as keys in the map function because urls might still be loading\n { id: '/ayatul-kursi', text: t('quick-links:ayat-ul-kursi'), url: '/ayatul-kursi' },\n { id: '36', text: t('quick-links:yaseen'), url: getChapterSlug('36') },\n { id: '67', text: t('quick-links:mulk'), url: getChapterSlug('67') },\n { id: '55', text: t('quick-links:rahman'), url: getChapterSlug('55') },\n { id: '56', text: t('quick-links:waqiah'), url: getChapterSlug('56') },\n { id: '18', text: t('quick-links:kahf'), url: getChapterSlug('18') },\n { id: '73', text: t('quick-links:muzzammil'), url: getChapterSlug('73') },\n ],\n },\n ];\n\n return (\n <div className={styles.groupListContainer}>\n {linksGroup.map((group) => (\n <div className={styles.group} key={group.title}>\n <div className={styles.groupTitle}>{group.title}</div>\n {group.links.map((link) => (\n <div\n key={link.id || link.url}\n className={classNames(\n styles.linkContainer,\n group.loading && styles.disabledlinkContainer,\n )}\n >\n {group.loading ? (\n <p className={link.className}>{link.text}</p>\n ) : (\n <Link\n href={link.url}\n className={link.className}\n variant={LinkVariant.Primary}\n isNewTab={!!link.isExternal}\n {...(link.onClick && { onClick: link.onClick })}\n >\n {link.text}\n </Link>\n )}\n </div>\n ))}\n </div>\n ))}\n </div>\n );\n};\n\nexport default Links;\n","// import Trans from 'next-translate/Trans';\nimport useTranslation from 'next-translate/useTranslation';\n\nimport styles from './Footer.module.scss';\n\n// import Link, { LinkVariant } from '@/dls/Link/Link';\nimport QuranTextLogo from '@/icons/el-quran.svg';\n// import { logButtonClick } from '@/utils/eventLogger';\n\nconst TitleAndDescription = () => {\n const { t } = useTranslation('common');\n\n // const onHiringAnnouncementClicked = () => {\n // logButtonClick('footer_hiring_announcement');\n // };\n\n return (\n <div className={styles.titleAndDescriptionContainer}>\n <div className={styles.headingContainer}>\n <div className={styles.iconContainer}>\n <QuranTextLogo />\n </div>\n <div className={styles.title}>{t('footer.title')}</div>\n </div>\n <p className={styles.description}>{t('footer.description')}</p>\n {/* <div className={styles.hiringAnnouncementContainer}>\n <Trans\n components={{\n link: (\n <Link\n href=\"https://www.quran.foundation/careers\"\n variant={LinkVariant.Blend}\n onClick={onHiringAnnouncementClicked}\n isNewTab\n />\n ),\n }}\n i18nKey=\"common:footer.hiring\"\n />\n </div> */}\n </div>\n );\n};\n\nexport default TitleAndDescription;\n","import classNames from 'classnames';\nimport range from 'lodash/range';\nimport { useRouter } from 'next/router';\n\nimport styles from './Switch.module.scss';\n\nimport { isRTLLocale } from '@/utils/locale';\n\n// reference: https://vercel.com/design/switch\n\ntype Item = {\n name: React.ReactNode;\n value: string;\n disabled?: boolean;\n};\nexport enum SwitchSize {\n XSmall = 'xsmall',\n Small = 'small',\n Normal = 'normal',\n Large = 'large',\n}\ntype SwitchProps = {\n items: Item[];\n selected: string;\n onSelect: (value: string) => void;\n size?: SwitchSize;\n};\n\nconst Switch = ({ items, onSelect, selected, size = SwitchSize.Normal }: SwitchProps) => {\n const selectedIndex = items.findIndex((item) => item.value === selected);\n const { locale } = useRouter();\n return (\n <div\n className={classNames(styles.container, {\n [styles.xSmallContainer]: size === SwitchSize.XSmall,\n })}\n >\n {items.map((item) => (\n <button\n disabled={item.disabled}\n type=\"button\"\n className={classNames(styles.item, selected === item.value && styles.itemSelected, {\n [styles.itemLarge]: size === SwitchSize.Large,\n [styles.itemNormal]: size === SwitchSize.Normal,\n [styles.itemSmall]: size === SwitchSize.Small,\n [styles.itemXSmall]: size === SwitchSize.XSmall,\n })}\n key={item.value}\n onClick={() => onSelect(item.value)}\n >\n {item.name}\n </button>\n ))}\n\n {/* seprator */}\n {items.length > 2 &&\n range(1, items.length).map((i) => {\n return (\n <div\n key={i}\n className={classNames(styles.separatorLine, {\n [styles.separatorLineVisible]: selectedIndex !== i && selectedIndex !== i - 1,\n })}\n style={{\n width: `${100 / items.length}%`,\n transform: `translateX(${100 * i}%)`,\n }}\n />\n );\n })}\n <div\n className={styles.selectedItemBackgroundContainer}\n style={{\n width: `${(1 / items.length) * 100}%`,\n transform: `translateX(${isRTLLocale(locale) ? '-' : ''}${selectedIndex * 100}%)`,\n }}\n >\n <div className={styles.selectedItemBackground} />\n </div>\n </div>\n );\n};\n\nexport default Switch;\n","import { useState } from 'react';\n\nimport dynamic from 'next/dynamic';\n\nimport ToastContext from './ToastContext';\n\nconst ToastContainer = dynamic(() => import('./Toast').then((toast) => toast.ToastContainer), {\n ssr: false,\n});\n\ntype ToastContainerProviderProps = {\n children: React.ReactNode;\n};\nconst ToastContainerProvider = ({ children }: ToastContainerProviderProps) => {\n const [shouldRenderToast, setShouldRenderToast] = useState(false);\n return (\n <ToastContext.Provider value={setShouldRenderToast}>\n {children}\n {shouldRenderToast && <ToastContainer />}\n </ToastContext.Provider>\n );\n};\n\nexport default ToastContainerProvider;\n","import { useEffect } from 'react';\n\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux';\nimport { useSWRConfig } from 'swr';\n\nimport { selectBookmarks } from '@/redux/slices/QuranReader/bookmarks';\nimport {\n RecentReadingSessions,\n selectRecentReadingSessions,\n} from '@/redux/slices/QuranReader/readingTracker';\nimport { selectQuranReaderStyles } from '@/redux/slices/QuranReader/styles';\nimport { getMushafId } from '@/utils/api';\nimport { syncUserLocalData } from '@/utils/auth/api';\nimport { makeReadingSessionsUrl, makeUserProfileUrl } from '@/utils/auth/apiPaths';\nimport { isLoggedIn } from '@/utils/auth/login';\nimport { getLastSyncAt, setLastSyncAt } from '@/utils/auth/userDataSync';\nimport { getVerseAndChapterNumbersFromKey } from '@/utils/verse';\nimport SyncDataType from 'types/auth/SyncDataType';\nimport UserProfile from 'types/auth/UserProfile';\nimport BookmarkType from 'types/BookmarkType';\n\nconst formatLocalBookmarkRecord = (\n ayahKey: string,\n bookmarkTimestamp: number,\n mushafId: number,\n) => {\n const [surahNumber, ayahNumber] = getVerseAndChapterNumbersFromKey(ayahKey);\n return {\n createdAt: new Date(bookmarkTimestamp).toISOString(),\n type: BookmarkType.Ayah,\n key: Number(surahNumber),\n verseNumber: Number(ayahNumber),\n mushaf: mushafId,\n };\n};\n\nconst formatLocalReadingSession = (ayahKey: string, updatedAt: number) => {\n const [surahNumber, ayahNumber] = getVerseAndChapterNumbersFromKey(ayahKey);\n return {\n updatedAt: new Date(updatedAt).toISOString(),\n chapterNumber: Number(surahNumber),\n verseNumber: Number(ayahNumber),\n };\n};\n\n/**\n * A hook that will sync local user data e.g. his bookmarks\n * once the user signs up so that he doesn't lose them once\n * he logs in again.\n *\n */\nconst useSyncUserData = () => {\n const dispatch = useDispatch();\n const { cache, mutate } = useSWRConfig();\n const bookmarkedVerses = useSelector(selectBookmarks, shallowEqual);\n const recentReadingSessions: RecentReadingSessions = useSelector(\n selectRecentReadingSessions,\n shallowEqual,\n );\n const quranReaderStyles = useSelector(selectQuranReaderStyles, shallowEqual);\n const { quranFont, mushafLines } = quranReaderStyles;\n const { mushaf: mushafId } = getMushafId(quranFont, mushafLines);\n useEffect(() => {\n // if there is no local last sync stored, we should sync the local data to the DB\n if (isLoggedIn() && !getLastSyncAt()) {\n const requestPayload = {\n [SyncDataType.BOOKMARKS]: Object.keys(bookmarkedVerses).map((ayahKey) =>\n formatLocalBookmarkRecord(ayahKey, bookmarkedVerses[ayahKey], mushafId),\n ),\n [SyncDataType.READING_SESSIONS]: Object.entries(recentReadingSessions).map(\n ([ayahKey, updatedAt]) => formatLocalReadingSession(ayahKey, updatedAt),\n ),\n };\n syncUserLocalData(requestPayload)\n .then((response) => {\n const { lastSyncAt } = response;\n mutate(makeUserProfileUrl(), (data: UserProfile) => ({ ...data, lastSyncAt }));\n mutate(makeReadingSessionsUrl());\n setLastSyncAt(new Date(lastSyncAt));\n })\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n .catch(() => {});\n }\n }, [bookmarkedVerses, cache, dispatch, mushafId, mutate, recentReadingSessions]);\n};\nexport default useSyncUserData;\n","import { useState, useEffect } from 'react';\n\n/**\n * A hook that allows to debounce any fast changing value such as text input value.The debounced\n * value will only reflect the latest value when the useDebounce hook has not been called\n * for the specified time period.\n * Code inspiration from https://github.com/xnimorz/use-debounce.\n *\n * @param {T} value the value that will be debounced.\n * @param {number} delay the value of delay in milliseconds before we set the new value as the debounced value.\n * @returns {T}\n */\nconst useDebounce = <T>(value: T, delay: number): T => {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n useEffect(\n () => {\n // Update debounced value only after the delay period has elapsed.\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n // Cancel the timeout if value or delay period change or if unmount happens.\n // This is how we prevent debounced value from updating if value is changed within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(handler);\n };\n },\n [value, delay], // Only re-call effect if value or delay changes\n );\n return debouncedValue;\n};\n\nexport default useDebounce;\n","import { useState, useEffect } from 'react';\n\nimport { getAllChaptersData } from '@/utils/chapter';\nimport ChaptersData from 'types/ChaptersData';\n\nconst useGetChaptersData = (lang: string): ChaptersData => {\n const [chaptersData, setChaptersData] = useState<ChaptersData>(null);\n useEffect(() => {\n (async () => {\n setChaptersData(await getAllChaptersData(lang));\n })();\n }, [lang]);\n\n return chaptersData;\n};\n\nexport default useGetChaptersData;\n","import useBrowserLayoutEffect from './useBrowserLayoutEffect';\n\n/**\n * This hook disables body scrolling depending on the value passed\n * to the hook. Inspired by {@link https://usehooks-typescript.com/react-hook/use-locked-body}\n *\n * @param {boolean} shouldDisableScrolling\n */\nconst usePreventBodyScrolling = (shouldDisableScrolling = false) => {\n /**\n * Do the side effect before render since we need to get the value of document.body.style.overflow\n * {@see https://kentcdodds.com/blog/useeffect-vs-uselayouteffect}\n */\n useBrowserLayoutEffect(() => {\n // if we shouldn't disable the scrolling, do nothing\n if (!shouldDisableScrolling) {\n return undefined;\n }\n // Save the initial body style\n const originalOverflow = document.body.style.overflow;\n // disable body scrolling bt setting overflow to hidden on the body\n document.body.style.overflow = 'hidden';\n return () => {\n // revert it back\n document.body.style.overflow = originalOverflow;\n };\n }, [shouldDisableScrolling]);\n};\n\nexport default usePreventBodyScrolling;\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/throttle\");","import { useCallback, useEffect, useRef, useMemo } from 'react';\n\nimport throttle from 'lodash/throttle';\n\nexport enum ScrollDirection {\n Down = 'down',\n Up = 'up',\n}\n\nconst DEFAULT_THROTTLING_WAIT_TIME_MS = 80;\n\n/**\n * A hook that detects scrolling and determines whether\n * the user is scrolling up and down and passes it to the\n * callback.\n *\n * @param {direction: ScrollDirection, position: number) => void} onDirectionChange\n * @param {number} throttlingWaitTime The number of milliseconds to throttle callback invocations to.\n */\nconst useScrollDirection = (\n onDirectionChange: (direction: ScrollDirection, position: number) => void,\n throttlingWaitTime: number = DEFAULT_THROTTLING_WAIT_TIME_MS,\n) => {\n // useRef is used instead of useState to avoid having to re-render on every scroll.\n const lastYPosition = useRef(0);\n\n /*\n When the window scrolls, we check the new Y position against the\n old value:\n - If it's higher, it means the user is scrolling down.\n - If not, the user is scrolling up.\n */\n const onScroll = useCallback(() => {\n const newYPosition = window.pageYOffset;\n onDirectionChange(\n lastYPosition.current < newYPosition ? ScrollDirection.Down : ScrollDirection.Up,\n newYPosition,\n );\n lastYPosition.current = newYPosition;\n }, [onDirectionChange]);\n\n const onScrollThrottled = useMemo(\n () => throttle(onScroll, throttlingWaitTime),\n [onScroll, throttlingWaitTime],\n );\n\n // bind the scroll listener on mount and un-bind it on un-mounting.\n useEffect(() => {\n window.addEventListener('scroll', onScrollThrottled);\n return () => {\n window.removeEventListener('scroll', onScrollThrottled);\n };\n }, [onScrollThrottled]);\n};\n\nexport default useScrollDirection;\n","const BASE_OG_URL = 'https://og.qurancdn.com';\n\ninterface BaseOgOptions {\n locale: string;\n}\n\nexport const getDefaultOgImageUrl = ({ locale }: BaseOgOptions) =>\n `${BASE_OG_URL}/api/og?lang=${locale}`;\n\nexport const getAboutTheQuranImageUrl = ({ locale }: BaseOgOptions) =>\n `${BASE_OG_URL}/api/og/about-the-quran?lang=${locale}`;\n\nexport const getLearningPlansImageUrl = ({ locale }: BaseOgOptions) =>\n `${BASE_OG_URL}/api/og/learning-plans?lang=${locale}`;\n\nexport const getChapterOgImageUrl = ({\n chapterId,\n locale,\n verseNumber,\n}: BaseOgOptions & {\n chapterId: string | number;\n verseNumber?: string | number;\n}) => {\n const url = `${BASE_OG_URL}/api/og/chapter/${chapterId}?lang=${locale}`;\n\n if (!verseNumber) return url;\n return `${url}&verse=${verseNumber}`;\n};\n","import { useContext, useMemo } from 'react';\n\nimport setLanguage from 'next-translate/setLanguage';\nimport { Provider } from 'react-redux';\nimport { persistStore } from 'redux-persist';\nimport { PersistGate } from 'redux-persist/integration/react';\n\nimport getStore from './store';\n\nimport syncUserPreferences from '@/redux/actions/sync-user-preferences';\nimport { getUserPreferences } from '@/utils/auth/api';\nimport { isLoggedIn } from '@/utils/auth/login';\nimport { setLocaleCookie } from '@/utils/cookies';\nimport isClient from '@/utils/isClient';\nimport { AudioPlayerMachineContext } from 'src/xstate/AudioPlayerMachineContext';\nimport PreferenceGroup from 'types/auth/PreferenceGroup';\n\n/**\n * A wrapper around the Provider component to skip rendering <PersistGate />\n * on the server. PersistGate prevents children from rendering until the persisted\n * state is retrieved from localstorage, this results in an empty DOM for SSR and SSG.\n * For more info: https://github.com/rt2zz/redux-persist/issues/1008\n *\n * @param {any} props\n * @returns {Provider}\n */\nconst ReduxProvider = ({ children, locale }) => {\n const store = useMemo(() => getStore(locale), [locale]);\n const persistor = useMemo(() => persistStore(store), [store]);\n const audioService = useContext(AudioPlayerMachineContext);\n\n /**\n * Before the Gate lifts, we want to get the user preferences\n * then store in Redux so that they can be used.\n */\n const onBeforeLift = async () => {\n if (isClient && isLoggedIn()) {\n try {\n const userPreferences = await getUserPreferences();\n const remoteLocale = userPreferences[PreferenceGroup.LANGUAGE];\n if (remoteLocale) {\n await setLanguage(remoteLocale[PreferenceGroup.LANGUAGE]);\n setLocaleCookie(remoteLocale[PreferenceGroup.LANGUAGE]);\n }\n store.dispatch(syncUserPreferences(userPreferences, locale));\n const audioPlayerContext = audioService.getSnapshot().context;\n const playbackRate =\n userPreferences[PreferenceGroup.AUDIO]?.playbackRate || audioPlayerContext.playbackRate;\n const reciterId =\n userPreferences[PreferenceGroup.AUDIO]?.reciter || audioPlayerContext.reciterId;\n audioService.send({\n type: 'SET_INITIAL_CONTEXT',\n playbackRate,\n reciterId,\n volume: audioPlayerContext.volume,\n });\n // eslint-disable-next-line no-empty\n } catch (error) {}\n }\n };\n\n return (\n <Provider store={store}>\n <PersistGate persistor={persistor} onBeforeLift={onBeforeLift}>\n {() => <>{children}</>}\n </PersistGate>\n </Provider>\n );\n};\n\nexport default ReduxProvider;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\n\nimport { RootState } from '@/redux/RootState';\nimport SliceName from '@/redux/types/SliceName';\nimport { SearchNavigationResult } from 'types/SearchNavigationResult';\n\nexport type CommandBar = {\n isOpen: boolean;\n recentNavigations: SearchNavigationResult[];\n};\n\nconst MAXIMUM_RECENT_NAVIGATIONS = 5;\n\nconst initialState: CommandBar = { isOpen: false, recentNavigations: [] };\n\nexport const commandBarSlice = createSlice({\n name: SliceName.COMMAND_BAR,\n initialState,\n reducers: {\n setIsOpen: (state: CommandBar, action: PayloadAction<boolean>) => ({\n ...state,\n isOpen: action.payload,\n }),\n toggleIsOpen: (state: CommandBar) => ({\n ...state,\n isOpen: !state.isOpen,\n }),\n addRecentNavigation: (state: CommandBar, action: PayloadAction<SearchNavigationResult>) => {\n let newRecentNavigations = [...state.recentNavigations];\n const newRecentNavigation = action.payload;\n // filter out the old recent navigations that match the new recent navigations (if any) to avoid duplicates.\n newRecentNavigations = newRecentNavigations.filter(\n (currentRecentNavigation) => currentRecentNavigation.key !== newRecentNavigation.key,\n );\n // if we have reached the maximum number of recent navigations, remove the last element\n if (newRecentNavigations.length >= MAXIMUM_RECENT_NAVIGATIONS) {\n // splice will mutate newRecentNavigations and remove the last element\n newRecentNavigations.splice(-1);\n }\n // put the new recent navigation at the beginning of the array\n return {\n ...state,\n recentNavigations: [newRecentNavigation, ...newRecentNavigations],\n };\n },\n removeRecentNavigation: (state: CommandBar, action: PayloadAction<number | string>) => {\n // filter out the recent navigations from the current recent navigations array.\n const newRecentNavigations = [...state.recentNavigations].filter(\n (currentRecentNavigation) => currentRecentNavigation.key !== action.payload,\n );\n return {\n ...state,\n recentNavigations: newRecentNavigations,\n };\n },\n },\n});\n\nexport const { setIsOpen, toggleIsOpen, addRecentNavigation, removeRecentNavigation } =\n commandBarSlice.actions;\n\nexport const selectCommandBarIsOpen = (state: RootState) => state.commandBar.isOpen;\nexport const selectRecentNavigations = (state: RootState) => state.commandBar.recentNavigations;\n\nexport default commandBarSlice.reducer;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\n\nimport { RootState } from '@/redux/RootState';\nimport SliceName from '@/redux/types/SliceName';\n\nexport type ContextMenu = {\n isExpanded: boolean;\n showReadingPreferenceSwitcher: boolean;\n};\n\nconst initialState: ContextMenu = { isExpanded: true, showReadingPreferenceSwitcher: false };\n\nexport const contextMenuSlice = createSlice({\n name: SliceName.CONTEXT_MENU,\n initialState,\n reducers: {\n setIsExpanded: (state: ContextMenu, action: PayloadAction<boolean>) => ({\n ...state,\n isExpanded: action.payload,\n }),\n setShowReadingPreferenceSwitcher: (state: ContextMenu, action: PayloadAction<boolean>) => ({\n ...state,\n showReadingPreferenceSwitcher: action.payload,\n }),\n },\n});\n\nexport const { setIsExpanded, setShowReadingPreferenceSwitcher } = contextMenuSlice.actions;\n\nexport const selectContextMenu = (state: RootState) => state.contextMenu;\n\nexport default contextMenuSlice.reducer;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\n\nimport { RootState } from '@/redux/RootState';\nimport SliceName from '@/redux/types/SliceName';\n\nexport type Notes = {\n isVisible: boolean;\n};\n\nconst initialState: Notes = { isVisible: false };\n\nexport const notesSlice = createSlice({\n name: SliceName.NOTES,\n initialState,\n reducers: {\n setIsVisible: (state: Notes, action: PayloadAction<boolean>) => ({\n ...state,\n isVisible: action.payload,\n }),\n },\n});\n\nexport const { setIsVisible } = notesSlice.actions;\n\nexport const selectNotes = (state: RootState) => state.notes;\n\nexport default notesSlice.reducer;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\n\nimport { RootState } from '@/redux/RootState';\nimport SliceName from '@/redux/types/SliceName';\n\nexport type IsSidebarNavigationVisible = boolean | 'auto';\nexport type SidebarNavigation = {\n isVisible: IsSidebarNavigationVisible;\n selectedNavigationItem: string;\n};\n\nexport enum NavigationItem {\n Surah = 'surah',\n Juz = 'juz',\n Page = 'page',\n RubElHizb = 'rub_el_hizb',\n Hizb = 'hizb',\n}\n\nexport const initialSidebarIsVisible = 'auto'; // sidebar will be open on desktop and closed on mobile\nconst initialState: SidebarNavigation = {\n isVisible: initialSidebarIsVisible,\n selectedNavigationItem: NavigationItem.Surah,\n};\n\nexport const sidebarNavigationSlice = createSlice({\n name: SliceName.SIDEBAR_NAVIGATION,\n initialState,\n reducers: {\n setIsVisible: (state: SidebarNavigation, action: PayloadAction<boolean>) => ({\n ...state,\n isVisible: action.payload,\n }),\n selectNavigationItem: (state: SidebarNavigation, action: PayloadAction<NavigationItem>) => ({\n ...state,\n selectedNavigationItem: action.payload,\n }),\n },\n});\n\nexport const { setIsVisible, selectNavigationItem } = sidebarNavigationSlice.actions;\n\nexport const selectIsSidebarNavigationVisible = (state: RootState) =>\n state.sidebarNavigation.isVisible;\n\nexport const selectSelectedNavigationItem = (state: RootState) =>\n state.sidebarNavigation.selectedNavigationItem;\n\nexport default sidebarNavigationSlice.reducer;\n","/* eslint-disable import/prefer-default-export */\n/* eslint-disable react-func/max-lines-per-function */\nimport { DEFAULT_XSTATE_INITIAL_STATE } from '@/redux/defaultSettings/defaultSettings';\nimport AudioState from '@/redux/types/AudioState';\nimport QuranReaderStyles from '@/redux/types/QuranReaderStyles';\nimport ReadingPreferences from '@/redux/types/ReadingPreferences';\nimport SliceName from '@/redux/types/SliceName';\nimport TafsirsSettings from '@/redux/types/TafsirsSettings';\nimport TranslationsSettings from '@/redux/types/TranslationsSettings';\nimport PreferenceGroup from 'types/auth/PreferenceGroup';\n\nconst SLICE_NAME_TO_PREFERENCE_GROUP = {\n [SliceName.AUDIO_PLAYER_STATE]: PreferenceGroup.AUDIO,\n [SliceName.LOCALE]: PreferenceGroup.LANGUAGE,\n [SliceName.QURAN_READER_STYLES]: PreferenceGroup.QURAN_READER_STYLES,\n [SliceName.READING_PREFERENCES]: PreferenceGroup.READING,\n [SliceName.TAFSIRS]: PreferenceGroup.TAFSIRS,\n [SliceName.THEME]: PreferenceGroup.THEME,\n [SliceName.TRANSLATIONS]: PreferenceGroup.TRANSLATIONS,\n};\n\n/**\n * Convert a slice's object into preference group\n * that will be persisted in the DB.\n *\n * @param {SliceName} sliceName\n * @param {any} currentSliceValue\n * @returns {Record<string, any>}\n */\nconst getPreferenceGroupValue = (\n sliceName: SliceName,\n currentSliceValue: any,\n): Record<string, any> => {\n if (sliceName === SliceName.LOCALE) {\n return { language: currentSliceValue };\n }\n\n if (sliceName === SliceName.AUDIO_PLAYER_STATE) {\n const { showTooltipWhenPlayingAudio, enableAutoScrolling } = currentSliceValue as AudioState;\n // only partially pick those props\n return {\n reciter: DEFAULT_XSTATE_INITIAL_STATE.reciterId,\n playbackRate: DEFAULT_XSTATE_INITIAL_STATE.playbackRate,\n showTooltipWhenPlayingAudio,\n enableAutoScrolling,\n };\n }\n\n if (sliceName === SliceName.READING_PREFERENCES) {\n const newPreferences = {\n ...currentSliceValue,\n } as ReadingPreferences;\n delete newPreferences.isUsingDefaultWordByWordLocale;\n return newPreferences;\n }\n\n if (sliceName === SliceName.TRANSLATIONS) {\n const newPreferences = {\n ...currentSliceValue,\n } as TranslationsSettings;\n delete newPreferences.isUsingDefaultTranslations;\n return newPreferences;\n }\n\n if (sliceName === SliceName.TAFSIRS) {\n const newPreferences = {\n ...currentSliceValue,\n } as TafsirsSettings;\n delete newPreferences.isUsingDefaultTafsirs;\n return newPreferences;\n }\n\n if (sliceName === SliceName.QURAN_READER_STYLES) {\n const newPreferences = {\n ...currentSliceValue,\n } as QuranReaderStyles;\n delete newPreferences.isUsingDefaultFont;\n return newPreferences;\n }\n\n return {\n ...currentSliceValue,\n };\n};\n\n/**\n * Convert the entire state object that includes multiple\n * slices into preference groups that will be persisted\n * in the DB.\n *\n * @param {any} state\n * @returns {Record<PreferenceGroup, any>}\n */\nexport const stateToPreferenceGroups = (state: any): Record<PreferenceGroup, any> => {\n const preferenceGroups = {} as Record<PreferenceGroup, any>;\n Object.keys(state).forEach((sliceName: SliceName) => {\n const preferenceGroup = SLICE_NAME_TO_PREFERENCE_GROUP[sliceName];\n // if the current slice has a corresponding preference group name\n if (preferenceGroup) {\n preferenceGroups[preferenceGroup] = getPreferenceGroupValue(sliceName, state[sliceName]);\n }\n });\n return preferenceGroups;\n};\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\n\nimport { getLocaleInitialState } from '../defaultSettings/util';\n\nimport { RootState } from '@/redux/RootState';\nimport SliceName from '@/redux/types/SliceName';\nimport { getMushafId } from '@/utils/api';\nimport { addOrUpdateBulkUserPreferences } from '@/utils/auth/api';\nimport { stateToPreferenceGroups } from '@/utils/auth/preferencesMapper';\n\nexport type DefaultSettings = {\n isUsingDefaultSettings: boolean;\n};\n\nconst initialState: DefaultSettings = { isUsingDefaultSettings: true };\n\nexport const defaultSettingsSlice = createSlice({\n name: SliceName.DEFAULT_SETTINGS,\n initialState,\n reducers: {\n setIsUsingDefaultSettings: (state: DefaultSettings, action: PayloadAction<boolean>) => ({\n ...state,\n isUsingDefaultSettings: action.payload,\n }),\n },\n});\n\nexport const persistDefaultSettings = createAsyncThunk<void, string, { state: RootState }>(\n `${SliceName.DEFAULT_SETTINGS}/persistDefaultSettings`,\n async (locale) => {\n const localeDefaultSettings = stateToPreferenceGroups({\n ...getLocaleInitialState(locale),\n [SliceName.LOCALE]: locale,\n });\n\n const { quranReaderStyles } = localeDefaultSettings;\n const { mushaf } = getMushafId(quranReaderStyles.quranFont, quranReaderStyles.mushafLines);\n\n await addOrUpdateBulkUserPreferences(localeDefaultSettings, mushaf);\n },\n);\n\nexport const { setIsUsingDefaultSettings } = defaultSettingsSlice.actions;\n\nexport default defaultSettingsSlice.reducer;\n\nexport const selectIsUsingDefaultSettings = (state: RootState) =>\n state.defaultSettings.isUsingDefaultSettings;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { REHYDRATE } from 'redux-persist';\n\nimport { RootState } from '../RootState';\n\nimport SliceName from '@/redux/types/SliceName';\n\nexport type PersistGateHydrationState = {\n isPersistGateHydrationInProgress: boolean;\n isPersistGateHydrationComplete: boolean;\n};\n\nconst initialState: PersistGateHydrationState = {\n isPersistGateHydrationInProgress: false,\n isPersistGateHydrationComplete: false,\n};\n\n// This slice checks if redux-persist has finished hydrating the store.\n// Hydration happens a bit after the page loads, useful for preventing\n// the animations until the state is settled in.\nexport const persistGateHydrationSlice = createSlice({\n name: SliceName.PERSIST_GATE_HYDRATION,\n initialState,\n reducers: {\n setIsPersistGateHydrationInProgress: (\n state: PersistGateHydrationState,\n action: PayloadAction<boolean>,\n ) => ({\n ...state,\n isPersistGateHydrationInProgress: action.payload,\n }),\n setIsPersistGateHydrationComplete: (\n state: PersistGateHydrationState,\n action: PayloadAction<boolean>,\n ) => ({\n ...state,\n isPersistGateHydrationComplete: action.payload,\n }),\n },\n extraReducers: (builder) => {\n builder.addCase(REHYDRATE, (state: PersistGateHydrationState) => {\n return {\n ...state,\n isPersistGateHydrationInProgress: true,\n };\n });\n },\n});\n\nexport const { setIsPersistGateHydrationInProgress, setIsPersistGateHydrationComplete } =\n persistGateHydrationSlice.actions;\n\nexport const selectIsPersistGateHydrationInProgress = (state: RootState) =>\n state.persistGateHydration.isPersistGateHydrationInProgress;\nexport const selectIsPersistGateHydrationComplete = (state: RootState) =>\n state.persistGateHydration.isPersistGateHydrationComplete;\n\nexport default persistGateHydrationSlice.reducer;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\n\nimport syncUserPreferences from '../actions/sync-user-preferences';\nimport { RootState } from '../RootState';\n\nimport SliceName from '@/redux/types/SliceName';\nimport PreferenceGroup from '@/types/auth/PreferenceGroup';\n\ntype RevelationOrderState = {\n isReadingByRevelationOrder: boolean;\n};\n\nexport const initialState: RevelationOrderState = {\n isReadingByRevelationOrder: false,\n};\n\nexport const revelationOrderSlice = createSlice({\n name: SliceName.REVELATION_ORDER,\n initialState,\n reducers: {\n setIsReadingByRevelationOrder: (state, action: PayloadAction<boolean>) => ({\n ...state,\n isReadingByRevelationOrder: action.payload,\n }),\n },\n extraReducers: (builder) => {\n builder.addCase(syncUserPreferences, (state, action) => {\n const {\n payload: { userPreferences },\n } = action;\n const remoteReadingPreferences = userPreferences[\n PreferenceGroup.READING\n ] as RevelationOrderState;\n // if there are any reading preferences stored in the DB.\n if (remoteReadingPreferences) {\n return {\n ...state,\n isReadingByRevelationOrder: !!remoteReadingPreferences.isReadingByRevelationOrder,\n };\n }\n return state;\n });\n },\n});\n\nexport const selectIsReadingByRevelationOrder = (state: RootState): boolean =>\n state.revelationOrder.isReadingByRevelationOrder;\n\nexport const { setIsReadingByRevelationOrder } = revelationOrderSlice.actions;\n\nexport default revelationOrderSlice.reducer;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\n\nimport { RootState } from '../RootState';\n\nimport SliceName from '@/redux/types/SliceName';\n\nexport type SessionState = {\n count: number;\n isDonationPopupVisible: boolean;\n};\n\nconst initialState: SessionState = {\n count: 0,\n isDonationPopupVisible: true,\n};\n\nexport const sessionSlice = createSlice({\n name: SliceName.SESSION,\n initialState,\n reducers: {\n incrementSessionCount: (state: SessionState) => ({\n ...state,\n count: state.count + 1,\n }),\n setIsDonationPopupVisible: (state: SessionState, action: PayloadAction<boolean>) => ({\n ...state,\n isDonationPopupVisible: action.payload,\n }),\n },\n});\n\nexport const { incrementSessionCount, setIsDonationPopupVisible } = sessionSlice.actions;\n\nexport const selectSessionCount = (state: RootState) => state.session.count;\n\nexport const selectIsDonationPopupVisible = (state: RootState) =>\n state.session.isDonationPopupVisible;\n\nexport default sessionSlice.reducer;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\n\nimport { getThemeInitialState } from '../defaultSettings/util';\n\nimport resetSettings from '@/redux/actions/reset-settings';\nimport syncUserPreferences from '@/redux/actions/sync-user-preferences';\nimport { RootState } from '@/redux/RootState';\nimport SliceName from '@/redux/types/SliceName';\nimport Theme from '@/redux/types/Theme';\nimport ThemeType from '@/redux/types/ThemeType';\nimport PreferenceGroup from 'types/auth/PreferenceGroup';\n\nexport const themeSlice = createSlice({\n name: SliceName.THEME,\n initialState: getThemeInitialState(),\n reducers: {\n setTheme: (state: Theme, action: PayloadAction<ThemeType>) => ({\n ...state,\n type: action.payload,\n }),\n },\n extraReducers: (builder) => {\n builder.addCase(resetSettings, (state, action) => {\n return getThemeInitialState(action.payload.locale);\n });\n builder.addCase(syncUserPreferences, (state, action) => {\n const {\n payload: { userPreferences },\n } = action;\n if (userPreferences[PreferenceGroup.THEME]) {\n return { ...state, ...userPreferences[PreferenceGroup.THEME] } as Theme;\n }\n return state;\n });\n },\n});\n\nexport const { setTheme } = themeSlice.actions;\n\nexport const selectTheme = (state: RootState) => state.theme;\n\nexport default themeSlice.reducer;\n","import { createSlice } from '@reduxjs/toolkit';\n\nimport { RootState } from '../RootState';\n\nimport SliceName from '@/redux/types/SliceName';\n\nexport type InitialState = {\n isSearchDrawerVoiceFlowStarted: boolean;\n isCommandBardVoiceFlowStarted: boolean;\n};\n\nexport const initialState: InitialState = {\n isSearchDrawerVoiceFlowStarted: false,\n isCommandBardVoiceFlowStarted: false,\n};\n\nexport const voiceSearchSlice = createSlice({\n name: SliceName.VOICE_SEARCH,\n initialState,\n reducers: {\n toggleIsSearchDrawerVoiceFlowStarted: (state) => ({\n ...state,\n isSearchDrawerVoiceFlowStarted: !state.isSearchDrawerVoiceFlowStarted,\n }),\n stopSearchDrawerVoiceFlow: (state) => ({\n ...state,\n isSearchDrawerVoiceFlowStarted: false,\n }),\n stopCommandBarVoiceFlow: (state) => ({\n ...state,\n isCommandBardVoiceFlowStarted: false,\n }),\n toggleIsCommandBarVoiceFlowStarted: (state) => ({\n ...state,\n isCommandBardVoiceFlowStarted: !state.isCommandBardVoiceFlowStarted,\n }),\n },\n});\n\nexport const selectIsSearchDrawerVoiceFlowStarted = (state: RootState) =>\n state.voiceSearch.isSearchDrawerVoiceFlowStarted;\nexport const selectIsCommandBarVoiceFlowStarted = (state: RootState) =>\n state.voiceSearch.isCommandBardVoiceFlowStarted;\nexport const {\n toggleIsSearchDrawerVoiceFlowStarted,\n toggleIsCommandBarVoiceFlowStarted,\n stopSearchDrawerVoiceFlow,\n stopCommandBarVoiceFlow,\n} = voiceSearchSlice.actions;\nexport default voiceSearchSlice.reducer;\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"redux-persist/lib/storage\");","// eslint-disable-next-line import/no-extraneous-dependencies\nimport { Middleware } from 'redux';\n\nimport { RootState } from '../RootState';\nimport { setIsUsingDefaultSettings } from '../slices/defaultSettings';\nimport SliceName from '../types/SliceName';\n\nimport { RESET_SETTINGS_EVENT } from '@/redux/actions/reset-settings';\n\nconst OBSERVED_ACTIONS = [\n `${SliceName.THEME}/setTheme`,\n `${SliceName.READING_PREFERENCES}/setReadingPreference`,\n `${SliceName.READING_PREFERENCES}/setSelectedWordByWordLocale`,\n `${SliceName.READING_PREFERENCES}/setWordByWordContentType`,\n `${SliceName.READING_PREFERENCES}/setWordByWordDisplay`,\n `${SliceName.READING_PREFERENCES}/setWordClickFunctionality`,\n `${SliceName.QURAN_READER_STYLES}/setQuranFont`,\n `${SliceName.QURAN_READER_STYLES}/setMushafLines`,\n `${SliceName.QURAN_READER_STYLES}/increaseQuranTextFontScale`,\n `${SliceName.QURAN_READER_STYLES}/decreaseQuranTextFontScale`,\n `${SliceName.QURAN_READER_STYLES}/decreaseTranslationFontScale`,\n `${SliceName.QURAN_READER_STYLES}/increaseTranslationFontScale`,\n `${SliceName.TRANSLATIONS}/setSelectedTranslations`,\n `${SliceName.QURAN_READER_STYLES}/increaseTafsirFontScale`,\n `${SliceName.QURAN_READER_STYLES}/decreaseTafsirFontScale`,\n `${SliceName.TAFSIRS}/setSelectedTafsirs`,\n `${SliceName.AUDIO_PLAYER_STATE}/setEnableAutoScrolling`,\n];\n\n/**\n * A middleware that listens to certain dispatched actions and\n * in turn dispatches an action that indicates that the user is\n * no longer using the default settings which will be used later\n * when switching between locales to determine whether we want\n * to apply the new locale's default settings or keep the current\n * setting as they are.\n *\n * @param {MiddlewareAPI<Dispatch<AnyAction>} storeAPI\n * @returns {Dispatch<any>(action: any) => any}\n */\nconst DefaultSettingsMiddleware: Middleware<\n // eslint-disable-next-line @typescript-eslint/ban-types\n {}, // Most middleware do not modify the dispatch return value\n RootState\n> = (storeAPI) => (next) => (action) => {\n const { type } = action;\n // the moment any of the actions that change the settings has changed, it means we are no longer using the default settings\n if (OBSERVED_ACTIONS.includes(type)) {\n storeAPI.dispatch({ type: setIsUsingDefaultSettings.type, payload: false });\n } else if (type === RESET_SETTINGS_EVENT) {\n storeAPI.dispatch({ type: setIsUsingDefaultSettings.type, payload: true });\n }\n return next(action);\n};\n\nexport default DefaultSettingsMiddleware;\n","type OldRecentReadingSessions = Record<string, boolean>;\ntype NewRecentReadingSessions = Record<string, number>;\n\n/**\n * Migrate recent recent reading sessions from OldRecentReadingSessions to NewRecentReadingSessions\n * use date instead of boolean\n */\n\n// eslint-disable-next-line import/prefer-default-export\nexport const migrateRecentReadingSessions = (\n recentReadingSessions: OldRecentReadingSessions,\n defaultTime = new Date(),\n): NewRecentReadingSessions => {\n // eslint-disable-next-line unicorn/no-array-reduce\n return Object.entries(recentReadingSessions).reduce((acc, session) => {\n const [key] = session;\n return {\n [key]: defaultTime.getTime(),\n ...acc,\n };\n }, {});\n};\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\n\nimport { RootState } from '../RootState';\n\nimport SliceName from '@/redux/types/SliceName';\n\nexport const initialState = {\n isVisible: true,\n};\n\nexport const welcomeMessageSlice = createSlice({\n name: SliceName.WELCOME_MESSAGE,\n initialState,\n reducers: {\n setIsVisible: (state, action: PayloadAction<boolean>) => ({\n ...state,\n isVisible: action.payload,\n }),\n },\n});\n\nexport const selectWelcomeMessage = (state: RootState) => state.welcomeMessage;\nexport const { setIsVisible } = welcomeMessageSlice.actions;\nexport default welcomeMessageSlice.reducer;\n","/* eslint-disable import/prefer-default-export */\nimport { WordByWordDisplay, WordByWordType } from '../../types/QuranReader';\n\nimport { mergeTwoArraysUniquely } from './array';\n\n/**\n * Given current state either locally on Redux or remotely\n * from legacy value, we need to generate new state values.\n *\n * @param {boolean} showWordByWordTranslation\n * @param {boolean} showWordByWordTransliteration\n * @param {WordByWordType[]} showTooltipFor\n * @returns {{ wordByWordDisplay: WordByWordDisplay[];wordByWordContentType: WordByWordType[] }}\n */\nexport const consolidateWordByWordState = (\n showWordByWordTranslation: boolean,\n showWordByWordTransliteration: boolean,\n showTooltipFor: WordByWordType[],\n): {\n wordByWordDisplay: WordByWordDisplay[];\n wordByWordContentType: WordByWordType[];\n} => {\n const wordByWordDisplay: WordByWordDisplay[] = [];\n let wordByWordContentType: WordByWordType[] = [];\n\n if (showWordByWordTranslation) {\n wordByWordContentType.push(WordByWordType.Translation);\n }\n if (showWordByWordTransliteration) {\n wordByWordContentType.push(WordByWordType.Transliteration);\n }\n\n // if show tooltip for is not empty\n if (showTooltipFor && showTooltipFor.length) {\n // merge showTooltipFor and wordByWordContentType array with unique value\n wordByWordContentType = mergeTwoArraysUniquely(showTooltipFor, wordByWordContentType);\n wordByWordDisplay.push(WordByWordDisplay.TOOLTIP);\n // if either of translation/transliteration are set to true, it means we need to show wbw inline\n if (showWordByWordTranslation || showWordByWordTransliteration) {\n wordByWordDisplay.push(WordByWordDisplay.INLINE);\n }\n // if either of translation/transliteration are set to true, it means we need to show wbw inline\n } else if (showWordByWordTranslation || showWordByWordTransliteration) {\n wordByWordDisplay.push(WordByWordDisplay.INLINE);\n }\n return {\n wordByWordDisplay,\n wordByWordContentType,\n };\n};\n\n/**\n * Given the current state, if the word by word display is empty,\n * we will set to Tooltip.\n *\n * @param {WordByWordDisplay[]} wordByWordDisplay\n * @returns {WordByWordDisplay[]}\n */\nexport const getDefaultWordByWordDisplay = (\n wordByWordDisplay?: WordByWordDisplay[],\n): WordByWordDisplay[] => {\n // if word by word display settings are empty (current default), we will set tooltip\n if (!wordByWordDisplay || (wordByWordDisplay && wordByWordDisplay.length === 0)) {\n return [WordByWordDisplay.TOOLTIP];\n }\n return wordByWordDisplay;\n};\n","/* eslint-disable max-lines */\nimport initialState, { DEFAULT_TAFSIRS } from './defaultSettings/defaultSettings';\nimport { migrateRecentReadingSessions } from './migration-scripts/migrating-recent-reading-sessions';\nimport { initialSidebarIsVisible } from './slices/QuranReader/sidebarNavigation';\nimport { initialState as welcomeMessageInitialState } from './slices/welcomeMessage';\n\nimport { consolidateWordByWordState, getDefaultWordByWordDisplay } from '@/utils/wordByWord';\nimport { MushafLines } from 'types/QuranReader';\n\nexport default {\n 3: (state) => ({\n ...state,\n audioPlayerState: {\n ...state.audioPlayerState,\n visibility: undefined,\n isExpanded: false,\n },\n }),\n 4: (state) => ({\n ...state,\n search: {\n searchHistory: [],\n },\n }),\n 5: (state) => ({\n ...state,\n readingTracker: {\n lastReadVerse: {\n verseKey: null,\n chapterId: null,\n page: null,\n hizb: null,\n },\n },\n }),\n 6: (state) => ({\n ...state,\n readingTracker: {\n ...state.readingTracker,\n recentReadingSessions: {},\n },\n }),\n 7: (state) => ({\n ...state,\n quranReaderStyles: {\n ...state.quranReaderStyles,\n mushafLines: MushafLines.SixteenLines,\n },\n }),\n 8: (state) => ({\n ...state,\n audioPlayerState: {\n ...state.audioPlayerState,\n },\n }),\n 9: (state) => ({\n ...state,\n commandBar: {\n isOpen: false,\n recentNavigations: [],\n },\n }),\n 10: (state) => ({\n ...state,\n commandBar: {\n isOpen: undefined,\n recentNavigations: [],\n },\n }),\n 11: (state) => ({\n ...state,\n tafsirs: {\n ...state.tafsirs,\n selectedTafsirs: DEFAULT_TAFSIRS, // over-ride the current value to only include 169 ID and remove 171\n },\n }),\n 12: (state) => ({\n ...state,\n welcomeMessage: welcomeMessageInitialState,\n }),\n 13: (state) => ({\n ...state,\n audioPlayerState: {\n ...state.audioPlayerState,\n },\n }),\n 14: (state) => ({\n ...state,\n readingPreferences: {\n ...state.readingPreferences,\n wordClickFunctionality: initialState.readingPreferences.wordClickFunctionality,\n },\n }),\n 15: (state) => ({\n ...state,\n defaultSettings: {\n isUsingDefaultSettings: true,\n },\n audioPlayerState: {\n ...state.audioPlayerState,\n isUsingDefaultReciter: true,\n },\n }),\n 16: (state) => ({\n ...state,\n readingPreferences: {\n ...state.readingPreferences,\n selectedWordByWordLocale: initialState.readingPreferences.selectedWordByWordLocale,\n isUsingDefaultWordByWordLocale:\n initialState.readingPreferences.isUsingDefaultWordByWordLocale,\n },\n }),\n 17: (state) => {\n return {\n ...state,\n fontFaces: {\n loadedFontFaces: [],\n },\n };\n },\n 18: (state) => ({\n ...state,\n audioPlayerState: {\n ...state.readingPreferences,\n showTooltipWhenPlayingAudio: false,\n },\n }),\n 19: (state) => {\n return {\n ...state,\n welcomeMessage: {\n ...state.welcomeMessage,\n isVisible: true,\n },\n };\n },\n 20: (state) => ({\n ...state,\n session: {\n count: 0,\n },\n }),\n 21: (state) => ({\n ...state,\n sidebarNavigation: {\n isVisible: initialSidebarIsVisible,\n },\n }),\n 22: (state) => {\n return {\n ...state,\n readingTracker: {\n ...state.readingTracker,\n recentReadingSessions: migrateRecentReadingSessions(\n // @ts-ignore, old typing, will always have the issue\n state.readingTracker.recentReadingSessions,\n ),\n },\n };\n },\n 23: (state) => ({\n // remove unused selectedWordByWordTranslation, selectedWordByWordTransliteration\n ...state,\n readingPreferences: {\n ...state.readingPreferences,\n selectedWordByWordTranslation: undefined,\n selectedWordByWordTransliteration: undefined,\n },\n }),\n 24: (state) => ({\n ...state,\n readingPreferences: {\n ...state.readingPreferences,\n ...consolidateWordByWordState(\n state.readingPreferences.showWordByWordTranslation,\n state.readingPreferences.showWordByWordTransliteration,\n state.readingPreferences.showTooltipFor,\n ),\n showWordByWordTranslation: undefined,\n showWordByWordTransliteration: undefined,\n showTooltipFor: undefined,\n },\n }),\n 25: (state) => {\n return {\n ...state,\n welcomeMessage: {\n ...state.welcomeMessage,\n isVisible: true,\n },\n };\n },\n 26: (state) => {\n return {\n ...state,\n banner: {\n ...state.banner,\n isBannerVisible: true,\n },\n };\n },\n 27: (state) => {\n return {\n ...state,\n welcomeMessage: {\n ...state.welcomeMessage,\n isVisible: true,\n },\n };\n },\n 28: (state) => ({\n ...state,\n session: {\n count: 0,\n isDonationPopupVisible: true,\n },\n }),\n 29: (state) => ({\n // set the default word by word display to tooltip.\n ...state,\n readingPreferences: {\n ...state.readingPreferences,\n wordByWordDisplay: getDefaultWordByWordDisplay(state.readingPreferences.wordByWordDisplay),\n },\n }),\n 30: (state) => ({\n ...state,\n quranReaderStyles: {\n ...state.quranReaderStyles,\n wordByWordFontScale: initialState.quranReaderStyles.wordByWordFontScale,\n },\n }),\n 31: (state) => ({\n ...state,\n session: {\n ...state.session,\n isDonationPopupVisible: true,\n },\n }),\n};\n","import storage from 'redux-persist/lib/storage';\n\nimport SliceName from '@/redux/types/SliceName';\n\nconst audioPlayerPersistConfig = {\n key: SliceName.AUDIO_PLAYER_STATE,\n storage,\n version: 3,\n blacklist: ['isDownloadingAudio'],\n};\n\nexport default audioPlayerPersistConfig;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\n\nimport { RootState } from '../RootState';\n\nimport SliceName from '@/redux/types/SliceName';\n\nexport type BannerState = {\n isBannerVisible: boolean;\n};\n\nconst initialState: BannerState = {\n isBannerVisible: true,\n};\n\nexport const bannerSlice = createSlice({\n name: SliceName.BANNER,\n initialState,\n reducers: {\n setIsBannerVisible: (state: BannerState, action: PayloadAction<boolean>) => ({\n ...state,\n isBannerVisible: action.payload,\n }),\n },\n});\n\nexport const { setIsBannerVisible } = bannerSlice.actions;\n\nexport const selectIsBannerVisible = (state: RootState) => state.banner.isBannerVisible;\n\nexport default bannerSlice.reducer;\n","import storage from 'redux-persist/lib/storage';\n\nimport SliceName from '@/redux/types/SliceName';\n\nconst commandBarPersistConfig = {\n key: SliceName.COMMAND_BAR,\n storage,\n version: 1,\n blacklist: ['isOpen'],\n};\n\nexport default commandBarPersistConfig;\n","import { configureStore, combineReducers } from '@reduxjs/toolkit';\nimport {\n persistReducer,\n FLUSH,\n REHYDRATE,\n PAUSE,\n PERSIST,\n PURGE,\n REGISTER,\n createMigrate,\n} from 'redux-persist';\nimport storage from 'redux-persist/lib/storage';\n\nimport { getStoreInitialState } from './defaultSettings/util';\nimport DefaultSettingsMiddleware from './middleware/defaultSettingsMiddleware';\nimport migrations from './migrations';\nimport audioPlayerPersistConfig from './slices/AudioPlayer/persistConfig';\nimport audioPlayerState from './slices/AudioPlayer/state';\nimport banner from './slices/banner';\nimport commandBarPersistConfig from './slices/CommandBar/persistConfig';\nimport commandBar from './slices/CommandBar/state';\nimport defaultSettings from './slices/defaultSettings';\nimport navbar from './slices/navbar';\nimport notifications from './slices/notifications';\nimport onboarding from './slices/onboarding';\nimport persistGateHydration from './slices/persistGateHydration';\nimport bookmarks from './slices/QuranReader/bookmarks';\nimport contextMenu from './slices/QuranReader/contextMenu';\nimport fontFaces from './slices/QuranReader/font-faces';\nimport notes from './slices/QuranReader/notes';\nimport readingPreferences from './slices/QuranReader/readingPreferences';\nimport readingTracker from './slices/QuranReader/readingTracker';\nimport readingViewVerse from './slices/QuranReader/readingViewVerse';\nimport sidebarNavigation from './slices/QuranReader/sidebarNavigation';\nimport quranReaderStyles from './slices/QuranReader/styles';\nimport tafsirs from './slices/QuranReader/tafsirs';\nimport translations from './slices/QuranReader/translations';\nimport revelationOrder from './slices/revelationOrder';\nimport search from './slices/Search/search';\nimport session from './slices/session';\nimport theme from './slices/theme';\nimport voiceSearch from './slices/voiceSearch';\nimport welcomeMessage from './slices/welcomeMessage';\nimport SliceName from './types/SliceName';\n\nconst persistConfig = {\n key: 'root',\n version: 31,\n storage,\n migrate: createMigrate(migrations, {\n debug: process.env.NEXT_PUBLIC_VERCEL_ENV === 'development',\n }),\n whitelist: [\n SliceName.QURAN_READER_STYLES,\n SliceName.READING_PREFERENCES,\n SliceName.TRANSLATIONS,\n SliceName.THEME,\n SliceName.TAFSIRS,\n SliceName.SEARCH,\n SliceName.READING_TRACKER,\n SliceName.WELCOME_MESSAGE,\n SliceName.DEFAULT_SETTINGS,\n SliceName.SIDEBAR_NAVIGATION,\n SliceName.BANNER,\n SliceName.SESSION,\n SliceName.BOOKMARKS,\n SliceName.USER_DATA_SYNC,\n SliceName.REVELATION_ORDER,\n SliceName.ONBOARDING,\n ], // Reducers defined here will be have their values saved in local storage and persist across sessions. See: https://github.com/rt2zz/redux-persist#blacklist--whitelist\n};\n\nexport const rootReducer = combineReducers({\n audioPlayerState: persistReducer(audioPlayerPersistConfig, audioPlayerState),\n contextMenu,\n navbar,\n notes,\n quranReaderStyles,\n readingPreferences,\n translations,\n theme,\n tafsirs,\n bookmarks,\n search,\n readingTracker,\n commandBar: persistReducer(commandBarPersistConfig, commandBar),\n welcomeMessage,\n voiceSearch,\n defaultSettings,\n fontFaces,\n sidebarNavigation,\n readingViewVerse,\n banner,\n session,\n persistGateHydration,\n revelationOrder,\n notifications,\n onboarding,\n});\n\nconst persistedReducer = persistReducer(persistConfig, rootReducer);\n\nconst getStore = (locale: string) =>\n configureStore({\n reducer: persistedReducer,\n // @ts-ignore\n middleware: (getDefaultMiddleware) =>\n getDefaultMiddleware({\n serializableCheck: {\n // Used for Redux-persist, see:https://redux-toolkit.js.org/usage/usage-guide#use-with-redux-persist\n ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER],\n },\n }).concat(DefaultSettingsMiddleware),\n devTools: process.env.NEXT_PUBLIC_VERCEL_ENV !== 'production', // disables the devtools in production\n // @ts-ignore\n preloadedState: getStoreInitialState(locale),\n });\n\nexport default getStore;\n","import React from 'react';\n\nimport { shallowEqual, useSelector } from 'react-redux';\n\nimport { selectTheme } from '@/redux/slices/theme';\n\nconst ThemeProvider = ({ children }) => {\n const theme = useSelector(selectTheme, shallowEqual);\n\n if (typeof window !== 'undefined' && document.body) {\n document.body.setAttribute('data-theme', theme.type);\n }\n\n return <div>{children}</div>;\n};\n\nexport default ThemeProvider;\n","import Cookies from 'js-cookie';\n\nimport { USER_DATA_SYNC_COOKIE_NAME } from './constants';\n\nexport const getLastSyncAt = (): Date | null => {\n const value = Cookies.get(USER_DATA_SYNC_COOKIE_NAME);\n if (!value) {\n return null;\n }\n\n const dateValue = new Date(value);\n return !Number.isNaN(dateValue.getTime()) ? dateValue : null;\n};\n\nexport const removeLastSyncAt = () => Cookies.remove(USER_DATA_SYNC_COOKIE_NAME);\n\nexport const setLastSyncAt = (lastSyncAt: Date) =>\n Cookies.set(USER_DATA_SYNC_COOKIE_NAME, lastSyncAt.toString());\n","const LOCALE_COOKIE_PERSISTENCE_PERIOD_MS = 86400000000000; // maximum milliseconds-since-the-epoch value https://stackoverflow.com/a/56980560/1931451\n\n// eslint-disable-next-line import/prefer-default-export\nexport const setLocaleCookie = (newLocale: string) => {\n const date = new Date();\n date.setTime(LOCALE_COOKIE_PERSISTENCE_PERIOD_MS);\n // eslint-disable-next-line i18next/no-literal-string\n document.cookie = `NEXT_LOCALE=${newLocale};expires=${date.toUTCString()};path=/`;\n};\n","import { logEvent } from './eventLogger';\n\nconst PREVIOUS_WEBSITE_URL = 'https://previous.quran.com/';\n\n/* eslint-disable import/prefer-default-export */\nexport const logAndRedirectUnsupportedLogicalCSS = () => {\n if (window.CSS && window.CSS.supports) {\n // log when css logical properties are not supported by testing the supportability of \"padding-inline\" logical property as a sample.\n if (!window.CSS.supports('padding-inline', '10px')) {\n logEvent('logical_css_un_supported');\n window.location.replace(PREVIOUS_WEBSITE_URL);\n }\n }\n};\n","const ANALYTICS_ID = process.env.NEXT_PUBLIC_GOOGLE_ANALYTICS_ID;\n\n// eslint-disable-next-line import/prefer-default-export\nexport const pageView = (url: string) => {\n if (window.gtag) {\n window.gtag('config', ANALYTICS_ID, {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n page_path: url,\n });\n }\n};\n","/* eslint-disable react-func/max-lines-per-function */\nimport { NextSeoProps } from 'next-seo';\n\nimport { getOpenGraphLocale } from './locale';\n\nimport { getDefaultOgImageUrl } from '@/lib/og';\nimport { VersesResponse } from 'types/ApiResponses';\n\nexport const config = {\n siteName: 'Quran.com',\n twitterHandle: '@app_quran',\n twitterCardType: 'summary_large_image',\n facebookApp: '342185219529773',\n facebookPage: '603289706669016',\n appleAppName: 'Quran - by Quran.com - قرآن',\n appleAppId: '1118663303',\n appleAppUrl: 'https://apps.apple.com/us/app/quran-by-quran-com-qran/id1118663303',\n androidAppName: 'Quran for Android',\n androidPackage: 'com.quran.labs.androidquran',\n androidAppUrl: 'https://play.google.com/store/apps/details?id=com.quran.labs.androidquran',\n};\n\ntype SeoConfigType = {\n path?: string;\n locale?: string;\n title?: string;\n description?: string;\n canonicalUrl?: string;\n};\n\nexport interface SEOProps extends NextSeoProps {\n dangerouslySetAllPagesToNoFollow?: boolean;\n dangerouslySetAllPagesToNoIndex?: boolean;\n}\n\nconst isProduction = process.env.NEXT_PUBLIC_VERCEL_ENV === 'production';\nexport function createSEOConfig({\n title,\n description,\n canonicalUrl,\n locale,\n}: SeoConfigType = {}): SEOProps {\n const seoTitle = title || '';\n\n return {\n title: seoTitle,\n description,\n titleTemplate: '%s - Quran.com',\n defaultTitle: config.siteName,\n dangerouslySetAllPagesToNoFollow: !isProduction, // @see https://github.com/garmeeh/next-seo#dangerouslySetAllPagesToNoFollow\n dangerouslySetAllPagesToNoIndex: !isProduction, // @see https://github.com/garmeeh/next-seo#dangerouslySetAllPagesToNoIndex\n canonical: canonicalUrl,\n openGraph: {\n type: 'website',\n locale: getOpenGraphLocale(locale),\n url: canonicalUrl,\n title: seoTitle,\n description,\n images: [\n {\n url: getDefaultOgImageUrl({ locale }),\n width: 1200,\n height: 630,\n alt: config.siteName,\n },\n ],\n // eslint-disable-next-line @typescript-eslint/naming-convention\n site_name: config.siteName,\n },\n facebook: {\n appId: config.facebookApp,\n },\n twitter: {\n handle: config.twitterHandle,\n site: config.twitterHandle,\n cardType: config.twitterCardType,\n },\n additionalMetaTags: [\n {\n property: 'fb:pages',\n content: config.facebookPage,\n },\n // {\n // name: 'al:ios:url',\n // content: config.appleAppUrl,\n // },\n // {\n // name: 'al:ios:app_name',\n // content: config.appleAppName,\n // },\n // {\n // name: 'al:ios:app_store_id',\n // content: config.appleAppId,\n // },\n // {\n // name: 'al:android:url',\n // content: config.androidAppUrl,\n // },\n // {\n // name: 'al:android:app_name',\n // content: config.androidAppName,\n // },\n // {\n // name: 'al:android:package',\n // content: config.androidPackage,\n // },\n // {\n // name: 'apple-itunes-app',\n // content: `app-id=${config.appleAppId}`,\n // },\n {\n name: 'Charset',\n content: 'UTF-8',\n },\n {\n name: 'Distribution',\n content: 'Global', // indicates that your webpage is intended for everyone\n },\n {\n name: 'Rating',\n content: 'General', // lets the younger web-surfers know the content is appropriate\n },\n {\n name: 'theme-color',\n content: '#fff', // placeholder\n },\n {\n name: 'viewport',\n content: 'width=device-width, initial-scale=1, shrink-to-fit=no',\n },\n // ...getOpenGraphAlternateLocales(locale),\n ],\n };\n}\n\n/**\n * Concatenate the first 4 verses of the Page/Juz.\n *\n * @param {VersesResponse} response\n * @returns {string}\n */\nexport const getPageOrJuzMetaDescription = (response: VersesResponse): string => {\n return response.verses\n .slice(0, 4)\n .map((verse) => verse.textImlaeiSimple)\n .join(' - ');\n};\n","enum BookmarkType {\n Page = 'page',\n Juz = 'juz',\n Surah = 'surah',\n Ayah = 'ayah',\n}\nexport default BookmarkType;\n","enum SearchQuerySource {\n CommandBar = 'command_bar',\n SearchDrawer = 'search_drawer',\n SearchPage = 'search_page',\n TranslationSettingsDrawer = 'settings_drawer_translation',\n TafsirSettingsDrawer = 'settings_drawer_tafsir',\n ReciterPageChapterList = 'reciter_page_chapter_list',\n Tarteel = 'tarteel',\n SidebarNavigationChaptersList = 'sidebar_navigation_chapter_list',\n SidebarNavigationVersesList = 'sidebar_navigation_verse_list',\n SidebarNavigationJuzsList = 'sidebar_navigation_juz_list',\n SidebarNavigationPagesList = 'sidebar_navigation_page_list',\n}\n\nexport default SearchQuerySource;\n","enum ConsentType {\n COMMUNICATION = 'communication',\n HAS_NOTES = 'hasNotes',\n}\nexport default ConsentType;\n","enum SyncDataType {\n BOOKMARKS = 'bookmarks',\n READING_SESSIONS = 'readingSessions',\n}\n\nexport default SyncDataType;\n","module.exports = require(\"@reduxjs/toolkit\");","module.exports = require(\"@sentry/nextjs\");","module.exports = require(\"@xstate/react\");","module.exports = require(\"classnames\");","module.exports = require(\"humps\");","module.exports = require(\"lodash/capitalize\");","module.exports = require(\"lodash/findKey\");","module.exports = require(\"lodash/groupBy\");","module.exports = require(\"lodash/random\");","module.exports = require(\"lodash/range\");","module.exports = require(\"lodash/sample\");","module.exports = require(\"next-seo\");","module.exports = require(\"next-translate/Trans\");","module.exports = require(\"next-translate/appWithI18n\");","module.exports = require(\"next-translate/setLanguage\");","module.exports = require(\"next-translate/useTranslation\");","module.exports = require(\"next/dist/shared/lib/app-router-context.js\");","module.exports = require(\"next/dist/shared/lib/head-manager-context.js\");","module.exports = require(\"next/dist/shared/lib/i18n/detect-domain-locale.js\");","module.exports = require(\"next/dist/shared/lib/i18n/normalize-locale-path.js\");","module.exports = require(\"next/dist/shared/lib/is-plain-object.js\");","module.exports = require(\"next/dist/shared/lib/loadable.js\");","module.exports = require(\"next/dist/shared/lib/mitt.js\");","module.exports = require(\"next/dist/shared/lib/page-path/denormalize-page-path.js\");","module.exports = require(\"next/dist/shared/lib/router-context.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/add-locale.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/add-path-prefix.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/compare-states.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/format-next-pathname-info.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/format-url.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/get-asset-path-from-route.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/get-next-pathname-info.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/is-bot.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/is-dynamic.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/parse-path.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/parse-relative-url.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/path-has-prefix.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/querystring.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/remove-trailing-slash.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/resolve-rewrites.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/route-matcher.js\");","module.exports = require(\"next/dist/shared/lib/router/utils/route-regex.js\");","module.exports = require(\"next/dist/shared/lib/utils.js\");","module.exports = require(\"next/head\");","module.exports = require(\"next/router\");","module.exports = require(\"react\");","module.exports = require(\"react-hotkeys-hook\");","module.exports = require(\"react-redux\");","module.exports = require(\"react/jsx-runtime\");","module.exports = require(\"redux-persist\");","module.exports = require(\"redux-persist/integration/react\");","module.exports = require(\"refresh-fetch\");","module.exports = require(\"xstate\");","module.exports = require(\"xstate/lib/actions\");","module.exports = import(\"@radix-ui/react-checkbox\");;","module.exports = import(\"@radix-ui/react-dialog\");;","module.exports = import(\"@radix-ui/react-direction\");;","module.exports = import(\"@radix-ui/react-dropdown-menu\");;","module.exports = import(\"@radix-ui/react-radio-group\");;","module.exports = import(\"@radix-ui/react-separator\");;","module.exports = import(\"@radix-ui/react-tooltip\");;","module.exports = import(\"@radix-ui/react-visually-hidden\");;","module.exports = import(\"firebase/compat/analytics\");;","module.exports = import(\"firebase/compat/app\");;","module.exports = import(\"js-cookie\");;","module.exports = import(\"react-hook-form\");;","module.exports = import(\"react-joyride\");;","module.exports = import(\"react-toastify\");;","module.exports = import(\"swr\");;","module.exports = import(\"swr/immutable\");;","module.exports = require(\"querystring\");"],"names":["MyApp","Component","pageProps","router","useRouter","locale","t","useTranslation","data","userData","useSWRImmutable","isLoggedIn","makeUserProfileUrl","getUserProfile","useEffect","document","documentElement","dir","getDir","logAndRedirectUnsupportedLogicalCSS","handleRouteChange","url","gtag","pageView","events","on","off","_jsxs","_Fragment","Head","_jsx","link","rel","sizes","href","API_HOST","FontPreLoader","DirectionProvider","TooltipProvider","ToastContainerProvider","DataContext","Provider","value","chaptersData","AudioPlayerMachineProvider","ReduxProvider","ThemeProvider","OnboardingProvider","UserAccountModal","requiredFields","announcement","consents","DefaultSeo","createSEOConfig","description","GlobalListeners","Navbar","DeveloperUtility","AudioPlayer","Footer","SessionIncrementor","ThirdPartyScripts","__Page_Next_Translate__","__appWithI18n","__i18nConfig","isLoader","skipInitialProps","loadLocaleFrom","l","n","then","m","default","React","useContext","useRef","useSelector","classNames","dynamic","styles","useOnboarding","Spinner","milliSecondsToSeconds","AudioPlayerMachineContext","AudioPlayerBody","ssr","loading","div","className","spinner","AUDIO_DURATION_TOLERANCE","getAudioPlayerDownloadProgress","audioPlayer","buffered","length","lastIndex","timestamp","end","audioPlayerRef","audioService","isVisible","state","matches","isActive","window","audioPlayerEl","current","send","type","onCanPlay","onTimeUpdate","e","isLoading","hasTag","target","currentTimestamp","currentTime","downloadProgress","isWaiting","audioDataDuration","getSnapshot","context","audioData","duration","isAlmostEnded","onError","onEnded","onSeeking","onSeeked","onPlay","onPause","onProgress","container","containerDefault","containerHidden","containerOnboarding","audio","style","display","id","ref","autoPlay","preload","Modal","useSyncUserData","ConsentType","CompleteSignupForm","AnnouncementModalBodyResolver","ConsentModalBodyResolver","requiredConsentsEnabled","process","env","NEXT_PUBLIC_ENABLE_REQUIRED_CONSENTS","REQUIRED_CONSENTS","COMMUNICATION","modalBody","missingConsents","filter","consent","Object","keys","includes","isOpen","Dialog","CommandBarBase","onClickOutside","children","Root","open","Portal","Overlay","overlay","Content","content","onInteractOutside","useCallback","useHotkeys","shallowEqual","useDispatch","selectCommandBarIsOpen","setIsOpen","toggleIsOpen","stopCommandBarVoiceFlow","logEvent","CommandBarBody","loadingContainer","getPressedShortcut","event","shortcut","metaKey","ctrlKey","key","CommandBar","dispatch","toggleShowCommandBar","keyboard_shortcut","preventDefault","closeCommandBar","isClickedOutside","payload","enableOnTags","enabled","selectContextMenu","setIsExpanded","ContextMenuAdjustment","isExpanded","button","onClick","useState","NavbarAdjustment","NotesAdjustment","Separator","WrenchIcon","aria-label","wrench","containerExpanded","separator","closeButton","selectNavbar","setIsVisible","selectNotes","selectIsPersistGateHydrationComplete","DisableAnimationsUntilHydration","isPersistGateHydrationComplete","DEFAULT_LOCALE","SURAH_NAMES_FONT","location","LOCALE_PRELOADED_FONTS","ar","bn","ur","INDOPAK","QURAN_READER_LOCALE_PRELOADED_FONTS","getToBePreLoadedFonts","isQuranReader","toBePreLoadedFonts","map","fontDetails","as","crossOrigin","GlobalKeyboardListeners","GlobalPersistGateHydrationListener","GlobalScrollListener","selectIsPersistGateHydrationInProgress","setIsPersistGateHydrationComplete","setIsPersistGateHydrationInProgress","PERSIST_GATE_HYDRATION_DURATION_MS","isPersistGateHydrationInProgress","setTimeout","useScrollDirection","ScrollDirection","setShowReadingPreferenceSwitcher","OnboardingGroup","activeStepGroup","onDirectionChange","direction","newYPosition","READING_EXPERIENCE","Down","Up","Button","ButtonShape","ButtonVariant","IconClose","DrawerCloseButton","tooltip","shape","Circle","variant","Ghost","ariaLabel","SearchDrawerFooter","useOutsideClickDetector","usePreventBodyScrolling","setIsNavigationDrawerOpen","setIsSearchDrawerOpen","setIsSettingsDrawerOpen","stopSearchDrawerVoiceFlow","DrawerType","Navigation","Search","Settings","DrawerSide","Left","Right","getIsOpen","navbar","isNavigationDrawerOpen","isSettingsDrawerOpen","isSearchDrawerOpen","getActionCreator","logDrawerCloseEvent","actionSource","ActionSource","Click","EscKey","OutsideClick","Drawer","side","header","hideCloseButton","closeOnNavigation","canCloseDrawer","bodyId","isNavbarVisible","drawerRef","closeDrawer","isSearchDrawer","navbarInvisible","containerOpen","left","right","undefined","hiddenButtonHeader","headerContentContainer","hiddenButtonHeaderContentContainer","headerContent","bodyContainer","navigationBodyContainer","bodyWithBottomPadding","searchContainer","setLanguage","PopoverMenu","PopoverMenuExpandDirection","ToastStatus","useToast","ChevronSelectIcon","GlobeIcon","resetSettings","selectIsUsingDefaultSettings","addOrUpdateUserPreference","setLocaleCookie","logValueChange","getLocaleName","i18nConfig","PreferenceGroup","locales","options","lng","label","LanguageSelector","shouldShowSelectedLang","isFooter","expandDirection","BOTTOM","isUsingDefaultSettings","lang","toast","onChange","newLocale","LANGUAGE","catch","status","Warning","actions","text","primary","onOpenChange","trigger","triggerButton","prefix","span","globeIconWrapper","suffix","triggerSuffixContainer","isPortalled","option","Item","isSelected","shouldCloseMenuAfterClick","Link","QuranTextLogo","NavbarLogoWrapper","logoWrapper","title","NavbarBody","showNavbar","emptySpacePlaceholder","nav","hiddenNav","memo","NavigationDrawer","SearchDrawer","SettingsDrawer","IconMenu","IconSearch","IconSettings","logDrawerOpenEvent","drawerName","openNavigationDrawer","openSearchDrawer","openSettingsDrawer","itemsContainer","centerVertically","leftCTA","rightCTA","shouldFlipOnRTL","NavigationDrawerBodySkeleton","NavigationDrawerBody","Skeleton","NAV_ROW_COUNT","rowsArr","Array","fill","renderLinesSkeleton","index","k","i","isSquared","navRow","skeletonContainer","blockRow","DrawerSearchIcon","TarteelAttribution","TarteelVoiceSearchTrigger","logButtonClick","Header","isVoiceFlowStarted","onSearchQueryChange","resetQueryAndResults","inputRef","isSearching","searchQuery","onKeyboardReturnPressed","blur","searchInputContainer","form","onSubmit","input","searchInput","placeholder","disabled","clear","isVertical","SearchDrawerHeader","useDebounce","useFocus","selectSelectedTranslations","selectIsSearchDrawerVoiceFlowStarted","SearchQuerySource","areArraysEqual","addToSearchHistory","searchGetResults","SearchBodyContainer","FIRST_PAGE_NUMBER","PAGE_SIZE","DEBOUNCING_PERIOD_MS","selectedTranslations","focusInput","searchInputRef","setSearchQuery","setIsSearching","hasError","setHasError","searchResult","setSearchResult","isVoiceSearchFlowStarted","debouncedSearchQuery","join","newSearchQuery","currentTarget","onSearchKeywordClicked","keyword","setSelectionRange","onSearchResultClicked","visible","footer","invisible","Label","Row","props","row","SpinnerContainer","Title","SeparatorWeight","Section","section","weight","Bold","SETTINGS_ROW_COUNT","SettingsBodySkeleton","inputRow","titleSkeleton","rowSkeleton","BackIcon","setSettingsView","SettingsView","SettingsBody","ReciterSelectionBody","TranslationSelectionBody","TafsirSelectionBody","settingsView","onGoBackClicked","Body","headerContainer","Translation","Reciter","Tafsir","Switch","SwitchSize","usePersistPreferenceGroup","AutoIcon","MoonIcon","SunIcon","SunsetIcon","selectTheme","setTheme","ThemeType","themeIcons","Dark","Light","Auto","Sepia","ThemeSection","onSettingsChange","theme","themes","values","themeValue","name","iconContainer","iconActive","themeNameContainer","onThemeSelected","THEME","items","selected","onSelect","size","Small","incrementSessionCount","TarteelLogo","TarteelText","logTarteelLinkClick","isCommandBar","onLinkClicked","isNewTab","poweredBy","tarteelTextWrapper","useBrowserLayoutEffect","CloseIcon","MicrophoneIcon","toggleIsSearchDrawerVoiceFlowStarted","toggleIsCommandBarVoiceFlowStarted","selectIsCommandBarVoiceFlowStarted","isSupported","isCommandBarVoiceFlowStarted","isSearchDrawerVoiceFlowStarted","showCloseIcon","onMicClicked","navigator","mediaDevices","getUserMedia","webkitGetUserMedia","mozGetUserMedia","hasSidePadding","Script","ANALYTICS_ID","NEXT_PUBLIC_GOOGLE_ANALYTICS_ID","ENABLE_ANALYTICS","NEXT_PUBLIC_VERCEL_ENV","GoogleAnalyticsScript","src","strategy","useMemo","FooterThemeSwitcher","LinkVariant","toLocalizedDate","BottomSection","localizedCurrentYear","Date","year","calendar","bottomSectionContainer","copyright","Highlight","shouldPrefetch","actionsSections","actionContainer","TOP","Links","TitleAndDescription","flowItem","triggerContainer","suffixIconContainer","useGetChaptersData","getChapterSlug","slug","linksGroup","links","isExternal","groupListContainer","group","groupTitle","linkContainer","disabledlinkContainer","p","Primary","titleAndDescriptionContainer","headingContainer","range","isRTLLocale","XSmall","Normal","Large","selectedIndex","findIndex","item","xSmallContainer","itemSelected","itemLarge","itemNormal","itemSmall","itemXSmall","separatorLine","separatorLineVisible","width","transform","selectedItemBackgroundContainer","selectedItemBackground","ToastContext","ToastContainer","shouldRenderToast","setShouldRenderToast","useSWRConfig","selectBookmarks","selectRecentReadingSessions","selectQuranReaderStyles","getMushafId","syncUserLocalData","makeReadingSessionsUrl","getLastSyncAt","setLastSyncAt","getVerseAndChapterNumbersFromKey","SyncDataType","BookmarkType","formatLocalBookmarkRecord","ayahKey","bookmarkTimestamp","mushafId","surahNumber","ayahNumber","createdAt","toISOString","Ayah","Number","verseNumber","mushaf","formatLocalReadingSession","updatedAt","chapterNumber","cache","mutate","bookmarkedVerses","recentReadingSessions","quranReaderStyles","quranFont","mushafLines","requestPayload","BOOKMARKS","READING_SESSIONS","entries","response","lastSyncAt","delay","debouncedValue","setDebouncedValue","handler","clearTimeout","getAllChaptersData","setChaptersData","shouldDisableScrolling","originalOverflow","body","overflow","throttle","DEFAULT_THROTTLING_WAIT_TIME_MS","throttlingWaitTime","lastYPosition","onScroll","pageYOffset","onScrollThrottled","addEventListener","removeEventListener","BASE_OG_URL","getDefaultOgImageUrl","getAboutTheQuranImageUrl","getLearningPlansImageUrl","getChapterOgImageUrl","chapterId","persistStore","PersistGate","getStore","syncUserPreferences","getUserPreferences","isClient","store","persistor","onBeforeLift","userPreferences","remoteLocale","audioPlayerContext","playbackRate","AUDIO","reciterId","reciter","volume","error","createSlice","SliceName","MAXIMUM_RECENT_NAVIGATIONS","initialState","recentNavigations","commandBarSlice","COMMAND_BAR","reducers","action","addRecentNavigation","newRecentNavigations","newRecentNavigation","currentRecentNavigation","splice","removeRecentNavigation","commandBar","selectRecentNavigations","reducer","showReadingPreferenceSwitcher","contextMenuSlice","CONTEXT_MENU","contextMenu","notesSlice","NOTES","notes","NavigationItem","Surah","Juz","Page","RubElHizb","Hizb","initialSidebarIsVisible","selectedNavigationItem","sidebarNavigationSlice","SIDEBAR_NAVIGATION","selectNavigationItem","selectIsSidebarNavigationVisible","sidebarNavigation","selectSelectedNavigationItem","DEFAULT_XSTATE_INITIAL_STATE","SLICE_NAME_TO_PREFERENCE_GROUP","AUDIO_PLAYER_STATE","LOCALE","QURAN_READER_STYLES","READING_PREFERENCES","READING","TAFSIRS","TRANSLATIONS","getPreferenceGroupValue","sliceName","currentSliceValue","language","showTooltipWhenPlayingAudio","enableAutoScrolling","newPreferences","isUsingDefaultWordByWordLocale","isUsingDefaultTranslations","isUsingDefaultTafsirs","isUsingDefaultFont","stateToPreferenceGroups","preferenceGroups","forEach","preferenceGroup","createAsyncThunk","getLocaleInitialState","addOrUpdateBulkUserPreferences","defaultSettingsSlice","DEFAULT_SETTINGS","setIsUsingDefaultSettings","persistDefaultSettings","localeDefaultSettings","defaultSettings","REHYDRATE","persistGateHydrationSlice","PERSIST_GATE_HYDRATION","extraReducers","builder","addCase","persistGateHydration","isReadingByRevelationOrder","revelationOrderSlice","REVELATION_ORDER","setIsReadingByRevelationOrder","remoteReadingPreferences","selectIsReadingByRevelationOrder","revelationOrder","count","isDonationPopupVisible","sessionSlice","SESSION","setIsDonationPopupVisible","selectSessionCount","session","selectIsDonationPopupVisible","getThemeInitialState","themeSlice","isCommandBardVoiceFlowStarted","voiceSearchSlice","VOICE_SEARCH","voiceSearch","RESET_SETTINGS_EVENT","OBSERVED_ACTIONS","DefaultSettingsMiddleware","storeAPI","next","migrateRecentReadingSessions","defaultTime","reduce","acc","getTime","welcomeMessageSlice","WELCOME_MESSAGE","selectWelcomeMessage","welcomeMessage","WordByWordDisplay","WordByWordType","mergeTwoArraysUniquely","consolidateWordByWordState","showWordByWordTranslation","showWordByWordTransliteration","showTooltipFor","wordByWordDisplay","wordByWordContentType","push","Transliteration","TOOLTIP","INLINE","getDefaultWordByWordDisplay","DEFAULT_TAFSIRS","welcomeMessageInitialState","MushafLines","audioPlayerState","visibility","search","searchHistory","readingTracker","lastReadVerse","verseKey","page","hizb","SixteenLines","tafsirs","selectedTafsirs","readingPreferences","wordClickFunctionality","isUsingDefaultReciter","selectedWordByWordLocale","fontFaces","loadedFontFaces","selectedWordByWordTranslation","selectedWordByWordTransliteration","banner","isBannerVisible","wordByWordFontScale","storage","audioPlayerPersistConfig","version","blacklist","bannerSlice","BANNER","setIsBannerVisible","selectIsBannerVisible","commandBarPersistConfig","configureStore","combineReducers","persistReducer","FLUSH","PAUSE","PERSIST","PURGE","REGISTER","createMigrate","getStoreInitialState","migrations","notifications","onboarding","bookmarks","readingViewVerse","translations","persistConfig","migrate","debug","whitelist","SEARCH","READING_TRACKER","USER_DATA_SYNC","ONBOARDING","rootReducer","persistedReducer","middleware","getDefaultMiddleware","serializableCheck","ignoredActions","concat","devTools","preloadedState","setAttribute","Cookies","USER_DATA_SYNC_COOKIE_NAME","get","dateValue","isNaN","removeLastSyncAt","remove","set","toString","LOCALE_COOKIE_PERSISTENCE_PERIOD_MS","date","setTime","cookie","toUTCString","PREVIOUS_WEBSITE_URL","CSS","supports","replace","page_path","getOpenGraphLocale","config","siteName","twitterHandle","twitterCardType","facebookApp","facebookPage","appleAppName","appleAppId","appleAppUrl","androidAppName","androidPackage","androidAppUrl","isProduction","canonicalUrl","seoTitle","titleTemplate","defaultTitle","dangerouslySetAllPagesToNoFollow","dangerouslySetAllPagesToNoIndex","canonical","openGraph","images","height","alt","site_name","facebook","appId","twitter","handle","site","cardType","additionalMetaTags","property","getPageOrJuzMetaDescription","verses","slice","verse","textImlaeiSimple","SearchPage","TranslationSettingsDrawer","TafsirSettingsDrawer","ReciterPageChapterList","Tarteel","SidebarNavigationChaptersList","SidebarNavigationVersesList","SidebarNavigationJuzsList","SidebarNavigationPagesList","HAS_NOTES"],"sourceRoot":""}
|